为什么一些网页游戏喜欢用erlang做服务端
选择Erlang作为游戏服务端语言的原因
在2009年到2010年间,中国网页游戏行业开始崛起。游戏技术门槛较低,SLG游戏盛行,品质与端游有较大差距。由于市场特点和技术需求,早期的网页游戏开发者多使用PHP、Java等编程语言。
在《明朝时代》团队工作期间,我们遇到了技术瓶颈,通过《战斧》游戏的demo,我们被其即时战斗技术所震撼。为了提高聊天服务器性能,我们尝试修改Ejabberd的源码,发现Erlang的代码修改非常灵活。在ECUG技术会议期间,我们接触了Erlang社区,进一步了解了这门语言。
在选择Erlang作为服务端语言时,我们考虑了以下几点:
Erlang入门简单
无需C++语言基础,Java感觉臃肿
PHP不适合ARPG游戏
网页游戏市场追求快速开发
热更新技术吸引人
1:1模型降低编程复杂度
天然分布式架构
在2010年,我们使用Erlang搭建了游戏框架mgee,并在游戏demo中实现了创建角色、登陆、场景、组队、怪物、战斗等功能。然而,mgee在承载能力方面存在限制,促使我们深入了解游戏架构知识。在2010年春节后,我们优化了代码结构,以实现更高的在线承载能力。
在接下来的几年里,我们持续改进Erlang服务端框架,使其变得更简单、更高效。我们成立虚拟的框架引擎组,提供统一的基础框架和通用服务,以促进内部生态形成。通过持续优化,我们的游戏服务端能够达到4300的在线承载能力,资源使用率较低。
在使用Erlang的几年中,我们发现这门语言的设计哲学非常独特,推荐学习者深入了解Erlang的调度原理。通过学习Erlang,我们可以丰富世界观、优化方法论。分布式、热更新等基础设施在游戏开发中至关重要,但是否需要这些技术取决于项目需求。
总的来说,选择Erlang作为服务端语言是因为其在技术特性和生态系统构建方面的优势。我们的经验表明,坚持使用Erlang能够解决大部分问题,并且在一定程度上避免技术瓶颈。语言本身没有绝对的好坏,关键在于团队的经验、产品需求、职业发展和成本等方面的综合考虑。
多重随机标签