首页 > 代码库 > 着手一个手游项目的思考

着手一个手游项目的思考

虽然个人阅历有限,但也对端游,页游,手游都有涉及。

目前正值筹备新项目的时候,又面临着技术选型等方面的问题。记录在此,以整理思绪

技术选型

1、前后端的技术选择

前端我觉得要按以下方向来  平台-〉3Dor2D->游戏类型

不同的引擎总是有自己擅长的一面,而强扭的瓜总不可能太甜。 所以,我一向认为,适合的引擎能够更容易做事情。 同时,我也不建议自己撸引擎。 要撸,就自己撸着玩,不要把自己的坑,带到项目中来。

端游,页游就不讨论了,目前很少有公司新开这类型的项目。 我们来说说手游。

对于手游的选择,也挺多的。cocos2dx,unity3d可以说是目前使用得最为广泛的两个引擎。

在选择引擎的时候,首先是要根据项目类型得到美术需求。根据美术需求和一些特定的策划需求,从而可以很容易得到最终方案。

而最要紧的是,如果对某一个引擎没有信心把握,那就使用自己最熟悉的吧。

 

后端的技术选型,早已不再是C++的天下……。 JAVA,C#,ERLANG,GOLANG,NODE.JS,PHP等都有可能。

后端的技术选型没有太多纠结,选择公式如下

现成的 > 适合的 > 很想尝试的

也就是说,以稳为主,未知因素越多,遇上的问题可能就会越多。 

 

2、长连接还是短连接

很长一段时间,我总认为,游戏就应该是长连接的。 特别是在做MMO的年代。 而手游的兴起,各种类型的游戏层出不穷。 并且手机网络时不时就断的特性,使HTTP这样的短连接慢慢成为了主导。 因此,在网络连接方式的选择上,一般是尽量避免长连接。这样可以减少许多不必要的麻烦。 对于社交,农场,策略养成等,都是可以使用短连接的。

3、自动更新

目前因为IOS那个SHIT,使得手机游戏自动更新有三类

一、代码资源不分离

比较前后端版本,如果版本不一致,并且可以在不更新的情况下玩(比如仅修改了某类资源外观等),则提示用户是否更新。如果要更新,就重新下载客户端,如果不更新,可以继续保持玩。 但如果是服务器强制要求更新的情况,则只能去更新,否则无法进行游戏。

二、代码资源分离

这种更新策略是很多公司都在用的,特别对于一些玩法花样少,靠新增修改关卡或者配置文件来达到游戏更新的。可以使用这种方案。

这种方案分为大版本和小版本两种。 大版本就是指前端代码有修改,不更新程序的话,无法进行游戏。 这种情况下,需强制用户进行更新。 小版本就是指仅仅是资源进行了更改,玩家不需要重新下载,只需要启动游戏,游戏内部会自行下载更新资源。 这样的方案在一定程度上降低了玩家下载游戏的频率。 但若面对一个开发速度较快的游戏来说,更新频率也不见得低。

三、纯脚本驱动

这种更新策略多半见于一些成型的游戏开发方案,特别是一些在线游戏中。 

这种方案是通过纯脚本进行游戏逻辑开发,在版本更新时,脚本会被当作资源更新到用户手机上,从而达到更新游戏的目的。 这种方式绕过了IOS的不能更新可执行代码的问题。 不过,脚本算不算可执行代码,还是IOS自己说了算。说不定哪天,就说脚本也不能更新了。

但这种方案,无论如何都是可行的。 就算是哪天脚本不能更新了,这种方案也是兼容第二种方案的。