手游开发

游戏服务端防御式开发

游戏服务端承担着游戏复杂业务逻辑实现,玩家数据持久化等重要作用。作为一个合格的服务端业务狗,我们有必要遵守一些好的防御手段,让自己的代码少踩些坑,或者当出现了bug,能够在第一时间进行抢救。

下边一些开发原则是我的经验总结,欢迎补充,不喜轻喷o(^_^)o\

  •   检查玩家请求数据的有效性

不管是做web后端,还是游戏后端开发,我们都要检查客户端请求数据的有效性。举个栗子,假设玩家在商店买了一个道具XX,数量为100。对于上传到服务端的参数,例如所购买的道具id和购买数量,我们需要重点检查购买数量参数。总不能玩家说要买100个,但是玩家的金币只能购买10个,服务端就傻傻地给了玩家100个道具吧!

有经验的程序员总是不厌其烦地告诉新手程序员,必须对传入函数的参数进行有效性检测。类似地,我们也必须对玩家的各种请求参数进行检测。很多外挂工具可以直接模拟游戏上一次发包内容,甚至通过对数据的分析进行参数篡改。所以,我们对于直接处理用户请求消息的逻辑方法,应该进行相关有效性检查。

  •   重视行为日志

手游开发中的6个特殊的文件夹

本文列举出手游开发中用到的六个特殊文件夹:Editor、Editor Default Resources、Gizmos、Plugins、Resources、StreamingAssets。

1.Editor

Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor 和 /Editor 是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用。一般呢会把一些工具类的脚本放在这里,或者是一些编辑时用的DLL。 比如我们现在要做类似技能编辑器,那么编辑器的代码放在这里是再好不过了,因为实际运行时我们只需要编辑器生成的文件,而不需要编辑器的核心代码。

2.Editor Default Resources

手游服务端开发基础概念扫盲篇

策划数据与玩家数据

简单说来,策划数据就是游戏的规则,是由策划配置的。玩家数据就是玩家在游戏过程中产生的用于持久化状态的数据,需要保存在数据库里。关于策划数据,有一点需要说明的是,策划数据是不能被代码修改的。一般说来,当服务进程一启动的时候,所有策划相关数据都会被load进内存。一些新手在开始做业务功能的时候,经常发生代码不小心修改到策划数据,导致游戏规则被无意修改了。这种情况对游戏的影响非常严重,一旦出现,必定会被老大狂屌。当然,策划职位也有可能填错数据。曾经有项目因为策划不小心把投放XX个银币填成XX个钻石,短时间就发生了严重后果,据说后来数据是采用“回档”残暴解决。

pve与pvp

日本高产手游公司给开发者们的四个建议

对日本手游中小游戏比较熟悉的朋友多少对“火柴人”系列都有些印象,除了“火柴人”系列层出不穷的创意之外,这家公司还有一点非常厉害,仅2014年就推出了月200款产品,平均每个月上架16.75款游戏。今天我们就来看看这家产量奇高的手游公司是怎么做产品的。

“火柴人”起家的Goodia

Goodia是日本一家APP制作公司,该公司成立于2011年,目前有员工月50名。这家公司在名古屋和越南都设有制作部门,而公司的市场部于2014年搬到了东京。到2013年为止,Goodia旗下产品80%~90%都是“火柴人”形象的动作游戏,2014年Goodia开始涉水“逃脱”、“店铺经营”这两类游戏。

到目前为止Goodia一共开发了337款产品,总下载数突破3500万,其中67%的下载来自iOS平台,Android平台则占33%。值得注意的是在全部的337款产品中有约200款是2014年中推出的,Goodia月均产品发行数量达到了16.75款。

同步内容
--电子创新网--
粤ICP备12070055号