Erlang开发社交游戏:从构思到实现

需积分: 11 11 下载量 132 浏览量 更新于2024-08-16 收藏 3.19MB PPT 举报
"Erlang游戏开发 - 使用Erlang语言进行社交游戏的开发,包括游戏功能、收费点、开发语言选择、开发时间、代码统计、产品现状、协议选择、数据存储等方面的讨论。" 在这款社交游戏中,玩家可以体验到多种功能,如开垦、建造、收租、投资、偷窃和捡取。这些功能的设计旨在增强玩家的互动性和沉浸感,创建一个丰富的游戏世界。游戏的收费点集中在收费道具上,包括卡片、特效、场景和自动值守等,以提供增值服务。 开发者选择了Erlang作为开发语言,主要因为他对Erlang的熟悉。Erlang以其并发处理和容错性著称,适合构建高可用性的系统,这在游戏开发中是非常重要的。游戏的开发耗时大约90天,代码总量达到6139行,其中包括1500行的测试代码。项目经历了272次提交,显示出开发过程中的迭代和改进。 游戏选择在SNS平台上发布,但最终并未取得预期的成功,原因在于缺乏有效的运维推广、用户数据分析以及更多的收费点开发。成功的产品需要一个综合的团队,包括产品策划、美工、Flash开发人员和服务器端开发者。 在通信协议的选择上,开发者选择了HTTP并采用JSON格式,因为社交游戏的实时性需求不高,HTTP协议简单、成熟且易于调试。他们使用了开源的mochiweb库,它为处理HTTP/1.1提供了一个基础框架,虽然需要额外的工作来映射URL到应用空间。 对于数据存储,游戏的数据被认为是核心,需要考虑其安全性与可靠性。开发者考虑过mysql、mnesia和redis。mysql因其结构化数据处理能力而被选用,但由于其访问效率低、第三方驱动不成熟等问题,可能并不完全适合社交游戏这种需要频繁变化的数据。mnesia作为Erlang自带的分布式数据库,与Erlang系统结合紧密,适合存储任意Erlang Term,但存在数据文件大小限制,不便于与其他语言交互。 这个Erlang游戏开发案例揭示了社交游戏开发中的多种挑战,包括技术选择、团队协作、产品运营以及数据管理等多个方面,为其他开发者提供了宝贵的参考经验。