Erlang游戏开发:社交游戏的挑战与选择

需积分: 11 11 下载量 11 浏览量 更新于2024-08-16 收藏 3.19MB PPT 举报
"Erlang游戏开发涉及到使用Erlang编程语言进行社交游戏的构建,包括游戏功能设计、服务器选择、通信协议、数据存储等多个方面。开发者在20天的时间内构建了游戏引擎,目前运行稳定,有5个连接。游戏包含开垦、建造、收租、投资、偷窃和捡取等功能,并计划通过收费道具来实现盈利。然而,由于缺乏运维推广、用户数据分析和更多收费点的开发,产品未能取得成功。游戏的开发过程中,选择了HTTP协议和JSON格式,利用mochiweb作为服务器框架,以适应社交游戏较低的实时性需求。数据存储方面,最初考虑过mysql和mnesia,但由于各种原因最终未采用,而数据存储的选择对游戏至关重要,因为它是游戏价值的核心。" 在Erlang游戏开发中,选择Erlang作为开发语言是因为开发者对其熟悉。游戏的开发时间约为90天,代码量达到了6139行,其中包含1500行的测试代码。开发团队由产品经理、美工、Flash开发者和服务器开发者组成,他们在开发过程中进行了272次提交。 游戏的通信协议选择是基于HTTP的JSON,原因在于社交游戏对实时性的需求不高,HTTP协议简单成熟且易于调试。此外,他们还使用了mochiweb,这是一个轻量级、高效的Erlang Web服务器库,能够处理HTTP/1.1请求。通过URL映射到应用空间,实现了基本的路由功能。 在数据存储方面,开发者考虑了mysql、mnesia和redis等选项。mysql虽然适合结构化数据,但因为其访问效率和第三方驱动的不成熟,以及对于社交游戏数据频繁变化的需求不匹配,所以并未采用。mnesia作为Erlang自带的分布式数据库,与Erlang集成紧密,具有分布式和灵活的数据存储特性,但其数据文件大小限制和与其他语言交互的困难也是需要考虑的问题。 Erlang游戏开发是一个涉及多方面技术决策和挑战的过程,包括语言选择、通信协议、服务器框架和数据存储解决方案。尽管产品最终未能达到预期的成功,但这个过程展示了Erlang在游戏开发中的应用潜力以及开发团队在技术选择上的思考。