一个开源游戏项目的诞生
自从众多“主流开发者”第一次听说以来,直到现在,Erlang 仍然是一门“有点怪异的小众语言”。可它也有一个充满活力的小社区。在 Maillist 中我们常能“围观”到一些有趣事件的发生,最近,我们就能亲眼目击到《一个开源游戏的诞生》这出大戏。
Erlang 在游戏业素有盛名,国内和国外有一些游戏或多或少的采用了 Erlang 系的技术方案。这是有原因的,一方面,这个行业在整个计算机领域中处于并发与分布问题的最前线,他们是最有动力去尝试用其他的语言来解决手头碰到难题的一群人。另一方面 Erlang 本身消息驱动的要素,与游戏这一特定的开发领域在抽象模型上又有着高度的重合。
五年前,DevMaster 上 Joel Raymont 的那篇《Writing Low-Pain Massively Scalable Multiplayer Servers》(中文版《轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统》),在整个技术领域引起了非常大的反响,某种程度上,起到了大大推广 Erlang 语言的效果。但是,由此而诞生的 OpenPoker 项目,从纯粹的开源软件视角上看,却不幸成为了一个“犹抱琵琶半遮面”的半吊子项目——没有社区、没有交流、没有文档,源码没有完全公开——作者本人还要靠着这个项目的咨询费来养家糊口,一个纯粹的单人开源项目。这实在是一件非常可惜的事。作为一条事后的章鱼预言家,我敢说,如果一开始就打定主意去做一个开源的软件,比如说,就象 CouchDB 的 Damien Katz 和 MochiMedia 的 Bob Ippolito 一样,把全副身家都押宝在 OpenSource 的商业模式上, OpenPoker 完全可能走得更远。
开源软件搞了这么多年,从一开始的 SourceForge 到现在的 GitHub 和 BitBucket 我们终于有了“开源并不只是把源码放出去就可以了”的共识。开源软件其实是一套软件价值观——以软件本身的质量为核心价值。同时也是一套开发组织管理的哲学——当最初的项目创始人耗尽了他的热情,软件可以轻松的移交到新的开发者手上,通过这种热情的接力,软件能够日渐完善和历久常青。它是围绕着软件本身,以程序员的诉求为重点的开发方式,有着一套完整的依托于互联网的方法和设施。开源最终会导向可进化的,更高质量的软件产品。在开源软件这团热气腾腾的五彩祥云之中,热情是其原动力,灵活的团队是其灵魂,充分而高效的交流和协作则是这种开发方式的固有特色,至于社区、文档、特性管理乃至源码本身,这些我们所能见到的“特色”都只是交流协作的某种“外在形式”而已。
对于 Erlang + OpenSource + Game 而言,五年以前的 OpenPoker 错失了一次绝好的机会,如果上天再给一个重来一次的机会呢?现在看起来,这个机会已经来了,那就是 PEMMOX (Project Erlang Massively Multiplayer Online eXperience)项目。
各位童鞋请自备梯子墙头围观
http://www.trapexit.org/forum/viewtopic.php?p=57004
http://groups.google.com/group/pemmox/topics
众位游戏界的 Erlangor ,请把你们带有中国风的 ID 加到 Authors List 中去吧。
hello jackyz,Thanks for you doing.
加入论坛了, 就不用天天翻墙看了
这个项目发起的人背景强吗?
Erlang主要用来做后端服务器,那么前端是用什么来实现的?
如果用Websocket加WebGL来做前端可以直接在浏览器里跑。但是这个项目的重点就不是在Erlang了。
@老范
就目前看到信息的而言,发起人本身的背景介绍的不多,俺看不出来。但 OpenSource 这面大旗的号召力可真不能小看,英雄帖这么一撒出来,谁知道会有些什么人加入呢?没准有你或者锋爷这样“经验满载”的强人一加入,那不就很牛13了么。
另外,我并不是说背景不重要,而是很多问题很可能要在特定的环境下跟具体问题硬悍强攻,并从“软件目标”的高度多方权衡才能得出优良的解决方案,从这个角度来说,有没有背景不是最关键的,很可能开发团队有没有热情和组织才是最关键的,这更多的是一个文化问题。
这个项目在发起阶段似乎在强调开源精神,也是我看好他们的原因。
@empyreaner
正在发起阶段,项目的目标还在 FreeMind 中,后端是 Erlang 无疑,具体方案跟目标的确定大有关系 Websocket + WebGL 只是前端目标的其中一种可能,尚未有定论。
没看出来他们准备做框架还是具体游戏。或许可以分成2+n个开源项目,一个服务端框架,一个服务端游戏实现,n个不同平台的客户端。
国内的开源项目倒是也不少,但活跃度普遍很低。更重要的是过段时间就很少有人坚持下去了。先观望!
有点意思,Mark一下。
对游戏没有太大的兴趣,想用erlang做一个类似hadoop的HDFS那样的分布式文件系统,按理说erlang在并发处理上比java要强,容错也更好,不知道有没有人在这方面有兴趣?