注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

游戏服务端、客户端程序的异同  

2014-03-17 18:12:30|  分类: 网游设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
做了五年服务端程序,三年客户端程序。服务端算是从头打造过一个产品的方方面面,而客户端大体修过一些引擎的bug、维护维护编辑器,以及用脚本写写业务逻辑。

服务端的问题:
 1. 网络,I/O模型。event-multiplexing 还是 per thread or per process。数据请求是 state-sensitive 还是 stateless。
 2. 存储,SQL or NoSQL,根据业务模型来设计。
    游戏服务器应该如何解决存储问题,云大大已经总结得很好了,mark之,http://blog.codingnow.com/2014/03/mmzb_db_2.html
 3. 服务器结构,硬件多核是趋势。服务端多进程or多线程结构,自然都是趋势。

客户端的问题:
 1. 渲染和物理,一旦引入的3D、GUI等东西,就各种复杂了。
 2. 网络,一般只需要考虑与服务器的socket,一个或几个连接而已。
 3. 存储,简单的就是xml等配置文件读取;复杂点的,可能就是sqlite之类。
 4. 客户端结构,多线程、并发是趋势。包括渲染、物理、声音等等,都会尽量并发、异步,影响着结构设计和写代码的方式。

如果按引擎部分用C/C++,业务层部分用脚本Lua、Python。
客户端引擎的代码量要远大于服务端的。因为 MySQL 这种东西,使用就好,除非特例,一般不需要修改代码。而客户端就不同了,就算用了 Unreal3,一款游戏,为了需求,C/C++ 层很少能不改动的。

原因就是客户端牵扯到了图形。扯上图形,特别是3D,就各种复杂了。
  评论这张
 
阅读(715)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017