魔兽世界带来的痛苦回忆

 

看起来写的是魔兽世界,其实……都是套路...



上周陪家人看了一把「魔兽世界」,看到电影里的活人,还挺新奇,因为我很久没去电影院看不是动画片的电影了,以至于差不多丧失了去影院观影的兴趣。

我是非资深不痴迷的魔兽老玩家,2004年的时候曾经狂热的迷恋过一段,下班后打怪下副本刷装备,在各种森林和沼泽里来回穿梭寻找人生的真谛,稀里糊涂也练到了60级……所以,当电影中出现了传送门、变羊的桥段的时候,还是能触动人心的。不过整个电影的制作和剧情就只能用乏善可陈来形容。这篇不是影评,自不多言。

第一次接触魔兽世界这样的游戏,其宏大的故事背景、辽阔的疆土、逼真的人物形象和流畅的3D操作,让我产生了一种「暴雪将一统游戏世界」的错觉,并因此错过了进入游戏行业从而富废的机会。2004年,洪恩的池宇峰依托「祖龙工作室」的班底,开启「完美世界」旅程,二次创业。创业初期他给我打来电话,邀请我加入完美时空。那时候我正痴迷于用 Java 和 Python 语言构建一套类似 JavaEE 的分布式系统,我们用 Python 开发了一系列系统服务和远程服务,并基于 Netbeans 制作了图形界面。我可以通过一个脚本把所有的服务启动起来,看着所有的服务状态从 standby 逐次变成 on 的时候,我的内心充满欢愉,那是一种冷静、睿智和拔剑四顾的幻觉,我相信很多程序员都体会过。这种痴迷,加上暴雪的影响,让我觉得做大型网络游戏没什么前途,于是婉言谢绝了池宇峰的邀请。

我之前在洪恩开发组里的一些兄弟倒是都加入了完美时空,我当时用一种惋惜的语气说,没事,三年后出来又是一条好汉。他们则神色暗淡说,死马当活马医吧。

完美时空2004年成立,逆势成长,先后开发并推出了「完美世界」「诛仙」「七侠镇」等大型网络游戏,2007年在纳斯达克强势挂牌,首日股票大涨 27.5%,收盘价 20.4 美元。数月后,我的一位小兄弟扔掉了骑行多年的破烂自行车,开了黑色的奥迪 A8 找到我笑盈盈的说,走,哥,我请你吃大餐!

那一刻,我感到时光如水,影像流转,天蓝云白,风从我脚下吹过,啊,我们这些跨越千里求生存的70后,在跃出藩篱后互相伤害方面的才华真是让人刮目相看……

当然了,我也不是没有收获,我知道了:

  1. 没有公司能够一统天下,微软不能,苹果不能,暴雪也不能。
  2. 选择和运气的作用远远大于个人奋斗。但是大多数人都没有狗屎运,所以最终还是要靠个人奋斗。
  3. 我是大多数人,二爷也是。
  4. 有一种叫做 Lua 的精巧的脚本语言,可以为魔兽世界编写很多优秀的插件。
是的,在那个阶段,我除了对 Java 和 Python 有了更深入的了解之外,还知道了一门新的语言 Lua。那一年,大话西游的主程简悦云风写了一篇博客,叫做「魔兽世界的影响力」,他在文中写到:

不得不感叹魔兽世界的影响力啊,WOW 让阿猫阿狗都开始写 Lua 程序了,回想 05 年的时候,Lua 可是排在编程排行榜 70 多位的。

语言之争总是火药味十足的。Lua 在游戏开发圈子的影响力倒不完全是来至于魔兽世界。GDC2004 的一个 round table 上,Lua 和 Python 哪个更好的争论就是相持不下。

注:你看,我本意是想写写 Lua 的,但是开篇就用了一千多字,这能怪谁呢?只能怪我太能写了,原谅我吧。

Lua 是一门非常小巧,但五脏俱全的动态语言。它由 Roberto Ierusalimschy、Luiz Henrique de Figueiredo 和 Waldemar Celes 在1993年创建。看到这次完全不搭调的英文字母,你就知道,这门语言的作者一定不是中国人,也不是美国人,他们是巴西人。Lua 是巴西里约热内卢天主教大学的一个研究小组设计的,R、L 和 W,组成了三人小组。他们完成了程序语言的设计之后,为这门语言取了一个美丽而浪漫的名字,Lua,在葡萄牙语里,Lua 代表了皎洁的月亮。事实上 Lua 并没有给月亮丢人,她成长为了一门简洁、优雅并极具乐趣的编程语言。

Lua 设计的初衷就是为了嵌入其他应用程序,为这些应用程序提供灵活的扩展和定制功能。Lua 由标准 C 编写而成,几乎可以在所有的操作系统上编译和运行,同样是一次编写,四处得瑟。

Lua 最初在江湖上声名鹊起主要是因为游戏。暴雪的魔兽世界、Adobe 的 Photoshop Lightroom,网易的大话西游等,都采用 Lua 完成了数据引擎描述、配置管理、逻辑控制等任务,基于 Lua 语言,高级玩家还可以定制开发很多称心如意的插件来提升游戏的趣味性。

不止于此!

随着 OpenResty 的出现,这个基于 Nginx 与 Lua 的高性能 Web 平台,让 Lua 不再局限于游戏和嵌入式领域,她开始在互联网和企业级开发领域大放异彩。我们可以基于 Lua 快速构造出足以胜任 C10K 乃至 C1000K 以上单机并发连接的高性能 Web 应用系统。Lua 迎来了第二个春天!

C10K 问题:在同时连接到服务器的客户端数量超过 10000 个的环境中,即便硬件性能足够,依然无法正常提供服务。

Lua 有很多非常有意思的语言特性,比如单一的数据结构 table,可以进行面向对象开发的 metatable 和 metamethod,coroutine 协程机制,垃圾收集器,first-class 函数,闭包等等。

鉴于文章长度,这些特性我就不在这篇文章里介绍了,如果大家有兴致,那就后会可期!



「即刻」是个很有创意的新形态资讯APP。你关心的五花八门的事情被做成了即刻上一个个的主题,可订阅跟踪相关资讯。我自己也在用,基本能替代微博和新闻软件,还经常发现一些让人欣喜的技术主题,值得一试。


    关注 MacTalk


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册