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

眼睛想旅行

技术就是我的生命与信仰!

 
 
 

日志

 
 
关于我

精通C,C++,python,Erlang。并熟悉各种其他编程语言,用cocos2dx游戏引擎作过几个项目。会MySQL增删改查,了解OpenGL渲染原理。懂单片机,能设计数字电路系统,会画电路图和设计电路板。喜欢了解最新前沿技术,并持续关注和学习新技术。

网易考拉推荐

游戏客户端中的常用模块  

2014-12-06 10:32:03|  分类: 软件设计方法 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
     一直是自已写游戏,也不会有人教你应该怎么做事情更合理,也不会有人给你分享他的经验。
    作了差不多有三年手机游戏了,今天在这里总结一下所有游戏的共同点。以后只要是有需要客户端建框架的,先不管游戏内容是什么,先按下边的套路来建框架,框架建好了之后,再来写游戏内容,这样我们就可以少走很多弯路,可以把最多的精力放在游戏玩法上。
     结果了一下,大体上,客户端有这几个模块是每一个游戏都必须有的。我会把这些已经完成的模块建一个游戏模板。方便我以后自已使用。
     1.网络,
网络分为短连接的http和常连接的socket.一般的手机游戏都使用http,http服务器对于玩家与服务器交互不多的情况下用户承载量比较大,每台服务器最多时可以有5万用户。但socket就不同了,差不多就是几千用户吧。一般使用socket,服务器推送消息就不用担心了,常连接,服务器可以直接推送数据给客户端。但如果是http推送数据可能使用的是第三方推送服务器。
      2.本地配制数据
不论是单机游戏,还是网络游戏,游戏中都会有很多和游戏相关的配制数据。这些配制数据是写死在系统中的,主要存储的内容是游戏中的逻辑数据,或者一些配置信息。这些信息在一般的游戏中都会存在。所以,这一块也是一个客户端必须的模块,可以使用json,xml,或者google的protobuf。据说现在protobuf越来越注行了,而且这个保存的是二进制文件,没有proto配置文件是没有办法解析protobuf数据的,这也让本地数据比xml和json更安全了。
      3.内存用户数据
每一个游戏都有一些动态的数据是时时刻刻都存在于内容之中的,玩家操作,或者游戏事情都会改变这些内存中的数据,而这些游戏是动态的,会因为游戏的运行而发生改变,游戏中的其他各个模块都会与之发生或多或少的联系。这就是游戏玩家数据。这一部分数据初始化时一般来自本地配制数据,游戏完全启动之后会通过网络或者本地保存的用户数据初始化为当前玩家的游戏数据。这一部分数据比较重要,决定了游戏中各个玩家的不同。所以一般都会存在服务器的数据库中。
      4.UI界面
这一部分大多是一些零散的控件,用户会通过这些界面来改变内存中的游戏数据,或者调用网络模块将数据与其他玩家交互,或者将数据存入网络数据库中。这一整块主要功能就是给用户展示数据,或者让用户输入数据,或者记用户操作数据。
      5.游戏玩法逻辑
        游戏玩法逻辑模块,这一部分主要体现的是游戏中的用户数据逻辑关系,当用户操作游戏内存数据时,游戏中的数据改变方式在这里展现。
  评论这张
 
阅读(296)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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