1.1.6 聊天系统
聊天系统就是用于聊天的,包含局内游戏的聊天和局外大厅的聊天。一般有PVP模式的手机游戏都会设聊天系统,而且玩家发出的内容是有言论控制的,游戏侧会过滤玩家发布恶意广告,色情,欺诈等内容,即用户发言控制。
聊天不单单是文字聊天还可以是以语音的方式进行,特别是一些枪战游戏局内对战,更倾向于语音方式交流;而大厅中常规的聊天大同小异,如下图1-8就是一个比较常规的聊天窗口,选择特定的好友聊天即可。
图1-8 腾讯CF手游的聊天界面
1.2 手游开发语言
手机游戏开发是分为客户端开发和服务器开发。
一般游戏后台开发用C/C++比较多,也有一些公司主要语言用python和java的,但是对于MMO类型的对服务器实时性要求较高的的游戏底层一般都是采用C/C++来应对。
而手游客户端主逻辑开发语言是各种各样的,不过基本都是以C/C++为基础,特别是游戏引擎这一块。对于游戏的主逻辑开发,可以是C/C++,python,lua,C#或者js中的一种或多种。这里说的几种语言都是当前主流手游中用得比较多的引擎的适配语言,比如Cocos2dx支持c/c++和lua开发;unity3D支持C#和js开发,也可以嵌入lua,网易的NeoX引擎支持python的开发等等。
一般来说,现在游戏开发很少会自己去写自己的引擎,一方面是因为引擎的开发门槛较高,也有稳定性的要求,游戏开发人员更愿意使用通用的第三方引擎;其次,游戏制作人员会更关心游戏的类型和实现逻辑,以实现游戏业务尽快上线的需要。所以其实开发语言更多是随引擎走的,选择一款合适的引擎开发游戏,基本上主要的游戏逻辑开发的语言就可以定下来了。
任何语言开发的游戏只要在客户端存在强逻辑,只要引擎调用代码的地方被分析出来,就可以被外挂利用,所以没有说哪一款语言开发出来的游戏安全性差这种概念,游戏大体的安全性是打从游戏一开始的设计思路中就定下来了。
1.3 强联网和弱联网
强联网和弱联网的概念是不针对游戏的,而是针对游戏模式的,比如一般游戏的pve模式是弱联网的,pvp模式一般是强联网的。当然因为有的游戏可能玩法上面实时性要求较高,所以整个游戏都采取了强联网策略。下面介绍下强联网和弱联网的概念和应用场景。
1.3.1 强联网
强联网是指客户端与服务器之间信息的实时传输,这种情况下玩家会消耗比较多的流量,常见于pvp模式。服务如果有和客户端同步的要求,包括状态同步、帧同步等,就需要强联网的支持,如CF游戏的pvp模式,热血传奇都是需要强联网的,可以简单理解为每时每刻都不能断网。
一般游戏的强联网模式安全性会比较高,因为服务器会决定很多事情,客户端的责任相对较少。
1.3.2 弱联网
弱联网是指客户端与服务器之间的交互不频繁,或者没有实时的交互,这种模式一般都是因为游戏把很多逻辑放在了客户端计算,游戏只需要在玩家结算的时候上报结算和校验信息即可。例如你可以在地铁中玩天天酷跑,CF手游的闯关模式,这个时候你不用担心网络差带来游戏进行不下去的问题,因为它们是弱联网的。
然而,弱联网最大的弊端就是安全性问题,因为客户端强逻辑意味着客户端被改的东西有很多,一旦服务器做的校验不够的时候,安全问题就会突显。
1.4 小结
本文首先分别介绍了游戏主要的组成系统的概念及其作用,并提供了相关游戏的例子进行具体说明。再介绍手游中服务器和客户端中常见的开发语言,及游戏开发的主流引擎,最后向读者说明了下游戏中强联网和弱联网的概念。概要地把游戏系统及开发相关的概念介绍给读者,让读者对游戏开发有个大体的了解。