开发一个 agar.io/slither.io 这样的网页游戏需要哪些技术?

如题,开发这样的网页游戏需要哪些技术?开发周期和资金成本呢?
关注者
26
被浏览
5,453

1 个回答

我来说一下我所知道的。不保证正确_(:зゝ∠)_...不保证anything_(:зゝ∠)_...

首先要明确一个事实,3分开发,7分运营。

开发-前端:

前端的美工取决的游戏本身,像 agar.io ,就可以什么库都不用,手动写一些canvas操作的模块即可完成,事实上作者也是这么做的。 slither.io 的美工明显要好一些了,一些shining的特效我不确定作者是使用了别的lib还是怎么。所以如果想做成可玩的小游戏(棋牌,agario类),对html5 2D canvas是要了解的。游戏的复杂度上升,对开发者的要求自然也高,用到了WebGL就又是别的故事了。

当然前端除了美工还有别的,服务器和客户端之间有延迟,总不能让小球看起来有卡顿感吧,所以前段的卡顿需要有所补偿,所谓interpolation。所以经验是需要一点的。

然后就是典型的web开发要会一些,游戏初始界面可以用典型的web来开发的。

开发-后端: 通信 + 业务逻辑 + 算法

游戏服务器很多用C++来写,C++是个经验加成很(超)高的语言。除了对C++本身的了解之外,对于通常的网络优化要有所了解,懂得处理IO带来的负担,做好处理高并发量的准备,学会用合适的工具,agario使用了libuv。

算法的能力也是必须的,agario里头小球的碰撞貌似是用了典型的quadtree来进行优化的。 slither.io 的碰撞又不一样了,除了agario中所需的优化外,还要考虑蛇的形状可以是concave(凹)的,得好好考虑一下怎么实现的。

当然,市面上游戏引擎很多的,各种各样开源的库很多。不过虽说如此,对底层的了解还是必须的,照猫画虎只能画出猫来。

好不容易容易开发完了游戏,现在上线了。一个微博传播,唰的一下5000个用户进来了,突破了单服务器的限制。唰的一下国外的用户又进来了,要买海外服务器了。

运营:

主要成本就是服务器租用了,不贵。主要的问题在于,开发者(团队?)要能迅速适应变化,加以改变。从agario的例子来看,一开始这游戏连代码都没压缩就post上去了,不过几个月时间里就产生了很大的改变。

不过话说回来,游戏上线人气若高,很快就会有人寻求合作,资本一注入,技术什么的都不是问题。花钱雇靠谱程序员立马重做都行。

另楼主说的开发周期,取决于程序员的能力了,几天,几周,一两个月都有可能的。当然也取决于程序员人数_(:зゝ∠)_。。。也取决于做这游戏的人的野心...

顺便在这打个广告,承接网站外包,软件外包,anything外包。