虽然个人阅历有限,但也对端游,页游,手游都有涉及。
目前正值筹备新项目的时候,又面临着技术选型等方面的问题。记录在此,以整理思绪
技术选型
1、前后端的技术选择
前端我觉得要按以下方向来 平台-〉3Dor2D->游戏类型
不同的引擎总是有自己擅长的一面,而强扭的瓜总不可能太甜。 所以,我一向认为,适合的引擎能够更容易做事情。 同时,我也不建议自己撸引擎。 要撸,就自己撸着玩,不要把自己的坑,带到项目中来。
端游,页游就不讨论了,目前很少有公司新开这类型的项目。 我们来说说手游。
对于手游的选择,也挺多的。cocos2dx,unity3d可以说是目前使用得最为广泛的两个引擎。
在选择引擎的时候,首先是要根据项目类型得到美术需求。根据美术需求和一些特定的策划需求,从而可以很容易得到最终方案。
而最要紧的是,如果对某一个引擎没有信心把握,那就使用自己最熟悉的吧。
后端的技术选型,早已不再是C++的天下……。 JAVA,C#,ERLANG,GOLANG,NODE.JS,PHP等都有可能。
后端的技术选型没有太多纠结,选择公式如下
现成的 > 适合的 > 很想尝试的
也就是说,以稳为主,未知因素越多,遇上的问题可能就会越多。
2、长连接还是短连接
很长一段时间,我总认为,游戏就应该是长连接的。 特别是在做MMO的年代。 而手游的兴起,各种类型的游戏层出不穷。 并且手机网络时不时就断的特性,使HTTP这样的短连接慢慢成为了主导。 因此,在网络连接方式的选择上,一般是尽量避免长连接。这样可以减少许多不必要的麻烦。 对于社交,农场,策略养成等,都是可以使用短连接的。
3、自动更新
目前因为IOS那个SHIT,使得手机游戏自动更新有三类
一、代码资源不分离
比较前后端版本,如果版本不一致,并且可以在不更新的情况下玩(比如仅修改了某类资源外观等),则提示用户是否更新。如果要更新,就重新下载客户端,如果不更新,可以继续保持玩。 但如果是服务器强制要求更新的情况,则只能去更新,否则无法进行游戏。
二、代码资源分离
这种更新策略是很多公司都在用的,特别对于一些玩法花样少,靠新增修改关卡或者配置文件来达到游戏更新的。可以使用这种方案。
这种方案分为大版本和小版本两种。 大版本就是指前端代码有修改,不更新程序的话,无法进行游戏。 这种情况下,需强制用户进行更新。 小版本就是指仅仅是资源进行了更改,玩家不需要重新下载,只需要启动游戏,游戏内部会自行下载更新资源。 这样的方案在一定程度上降低了玩家下载游戏的频率。 但若面对一个开发速度较快的游戏来说,更新频率也不见得低。
三、纯脚本驱动
这种更新策略多半见于一些成型的游戏开发方案,特别是一些在线游戏中。
这种方案是通过纯脚本进行游戏逻辑开发,在版本更新时,脚本会被当作资源更新到用户手机上,从而达到更新游戏的目的。 这种方式绕过了IOS的不能更新可执行代码的问题。 不过,脚本算不算可执行代码,还是IOS自己说了算。说不定哪天,就说脚本也不能更新了。
但这种方案,无论如何都是可行的。 就算是哪天脚本不能更新了,这种方案也是兼容第二种方案的。