Erlang游戏开发经验分享:从选择到挑战
需积分: 3 178 浏览量
更新于2024-08-16
收藏 3.19MB PPT 举报
"我懂Erlang - Erlang游戏开发"
在游戏开发领域,Erlang是一种独特的选择,因其强大的并发性和容错性而备受青睐。本文档介绍了使用Erlang开发一款socialgame的过程,涵盖了从游戏功能设计到技术选型的各个方面。
游戏介绍包括了多种功能,如开垦、建造、收租、投资、偷窃和捡取,这些都是构建社交互动的核心元素。收费点设计有收费道具,如卡片、特效、场景和自动值守,这些通常用于增强用户体验或提供增值服务。
开发过程中,作者选择了Erlang作为主要开发语言,因为对这种语言有深入的理解。Erlang以其天生的并发机制和分布式计算能力,非常适合处理大规模的并发连接和实时性较低的游戏通信需求。
开发时间大约耗时90天,代码总量达到6139行,其中包括1500行测试代码。开发团队经历了272次提交,逐步完善了项目。尽管代码实现成功,但由于缺乏适当的运维推广、用户数据分析以及更多收费点的开发,导致产品最终未能取得预期的成功。这强调了一个好产品的背后需要一个完整的团队,包括产品经理、设计师、Flash开发者和服务器端开发者。
在通信协议的选择上,由于socialgame的实时性要求相对较低,团队选择了HTTP,并且利用JSON作为数据交换格式,因为它简单、成熟且易于调试。他们还使用了mochiweb,这是一个轻量级且高效的HTTP服务器,它很好地体现了Erlang的并发思想,但需要自定义URL映射来适应应用需求。
在数据存储方面,考虑过mysql、mnesia和redis等选项。mysql虽然适合结构化数据,但其访问效率不高,对于频繁变化的游戏数据来说并不理想。mnesia作为Erlang内置的分布式数据库,能与Erlang系统紧密集成,提供良好的并发性能和分布式特性,但存在数据文件大小的限制。因此,选择合适的数据库系统对于socialgame的数据管理至关重要。
Erlang在开发社交游戏时展现出其优势,特别是在并发处理和分布式系统方面。然而,成功的游戏不仅依赖于技术选型,还需要合理的运营策略、数据分析以及多方面的团队协作。
2021-06-18 上传
2021-05-20 上传
2022-07-15 上传
2022-09-14 上传
2021-02-04 上传
2021-06-09 上传
2021-10-25 上传
2021-05-01 上传
我欲横行向天笑
- 粉丝: 26
- 资源: 2万+
最新资源
- AA4MM开源软件:多建模与模拟耦合工具介绍
- Swagger实时生成器的探索与应用
- Swagger UI:Trunkit API 文档生成与交互指南
- 粉红色留言表单网页模板,简洁美观的HTML模板下载
- OWIN中间件集成BioID OAuth 2.0客户端指南
- 响应式黑色博客CSS模板及前端源码介绍
- Eclipse下使用AVR Dragon调试Arduino Uno ATmega328P项目
- UrlPerf-开源:简明性能测试器
- ConEmuPack 190623:Windows下的Linux Terminator式分屏工具
- 安卓系统工具:易语言开发的卸载预装软件工具更新
- Node.js 示例库:概念证明、测试与演示
- Wi-Fi红外发射器:NodeMCU版Alexa控制与实时反馈
- 易语言实现高效大文件字符串替换方法
- MATLAB光学仿真分析:波的干涉现象深入研究
- stdError中间件:简化服务器错误处理的工具
- Ruby环境下的Dynamiq客户端使用指南