Erlang游戏开发:90夜成就与技术抉择

需积分: 11 11 下载量 95 浏览量 更新于2024-08-16 收藏 3.19MB PPT 举报
标题"开发时间?-Erlang游戏开发"探讨了一款基于Erlang语言开发的社交游戏的开发历程和技术选型。游戏主要功能包括开垦、建造、收租、投资、偷窃和捡取,以及收费道具(如卡片、特效、场景和自动值守)的购买。开发者在选择Erlang作为开发语言时,考虑到了其简洁高效的特点,特别是通过Mochiweb库处理HTTP请求,这符合社交游戏相对较低的实时性需求,并且便于调试。 在实际开发过程中,该社交游戏经历了272次迭代,总计6139行代码(含测试代码),其中60%用于Mochiweb相关工作。开发者最初尝试了Mixi平台,但遇到了产品推广、用户数据分析和新收费点开发的挑战。他们认识到,成功的产品需要一个协同工作的团队,包括产品设计、美工、Flash开发和服务器支持。 关于数据存储,开发者面临了多种选择,如MySQL(结构化数据存储,但效率较低且第三方驱动不成熟)、Mnesia(Erlang内置的分布式数据库,易于集成但有数据文件大小限制)和Redis(适合频繁变化的数据)。考虑到社交游戏数据的动态性和复杂性,最终可能需要结合使用,以兼顾性能和灵活性。 此外,开发者还讨论了协议选择,由于社交游戏实时性要求不高,他们选择了HTTP(JSON)作为基础协议,利用其简单性和成熟度。然而,这也意味着需要额外的工作来映射URL到Erlang应用,例如通过`list_to_existing_atom`函数进行URL解析。 在整个开发过程中,作者强调了数据的重要性,指出数据丢失可能导致游戏价值丧失。因此,数据存储的选择和管理成为关键环节。在技术选型上,Erlang的轻量级特性、强大的分布式能力和与应用程序的紧密集成使其成为游戏开发的理想选择,尽管在某些方面存在局限性,但开发者正在努力克服这些问题,以提升产品的整体表现。