id之痛

| No Comments

id的新作Wolfenstein在GameTrailers上被打了一个很低的分数。Video Review的解说没有过多的苛刻,却充满了悲凉的气息。作为游戏界的人们,大家都无比敬重id,这个诞生了FPS之父的公司,这个拥有John Carmack这个神一样的程序员的公司,但是人们也同样知道,id的神话,或许已经一去不复返了。

和其它人一样,当我看到Wolfenstein重新登上最新一代的游戏平台的时候,心里没有什么激动,却充满了疑惑。对外公布时间更长的Rage还没有更多消息,却猛然冒出了这个游戏,不得不让人困惑这是怎样定位的一款作品。Trailers公开之后大家也必然像我一样充满了失望。作为一个最近的游戏,单从视觉效果上来说,Wolfenstein没有任何吸引大家眼球的地方(虽然目前这个效果是Doom3,即id Tech 4引擎的极致)。种类繁多的宣传片中所描述的这些或那些游戏中的特色,在一个被前几年的各种大作搞的审美疲劳的玩家面前,根本不具备任何优势(一个偶尔可以切换成绿色的世界,绝对没有坐在直升机上体验核弹在面前爆炸来得刺激)。

id目前最主要的问题在于,这个曾经无比辉煌的公司,仍然在继续着15年前让他们辉煌的方式,然而世界却已经有了大不同。15年前那个单个游戏拷贝超过Windows拷贝数的公司,如今却也只能在FPS市场上被挤压在几个大牌厂商中间。

这个趋势是最近几年开始的。这些从id引以为豪的引擎技术上就可以看到端倪。1999年的id,刚刚发布Quake III Arena,风头正劲,事实上,几乎是难以匹敌。我记得当年数家媒体的评论人都有相同的忧虑:担心id垄断整个FPS产业。在那个年代,Quake III使用的id Tech 3引擎,基本上就是大众计算机图形领域的最高成就。

此后的一段时间,即id Tech 3时代,id过的十分不错,因为引擎授权卖得好。EA当时抗鼎的王牌大作(身临其境《拯救大兵瑞恩》!)---- Medal of Honor 就使用了id Tech 3引擎。其中营造的临场感十分不错,但是贴图实在是有够差。差得连id都觉得有点儿埋汰了自己的引擎,在那几年推出了自己精心打造的致敬之作 Return to Castle Wolfenstein,获得无数赞誉。精彩的单人模式、壮丽的多人模式、华丽的画面,实属精品。

那几年使用id Tech 3引擎的游戏还有很多,如 Soldier of Fortune 2:Double Helix 等,但是有一个游戏却不得不提,就是那年Activision的抗鼎大作---- Call of Duty 。

RTCW 的单人模式固然精彩,却还没有脱离FPS爷爷级的游戏---- Wolfenstein 3D 所开创的单人走迷宫-开枪-拿钥匙的模式。Medal of Honor 的推出让玩家看到游戏在体验性上重大突破,而 Call of Duty 简单的说,当时我的印象就是把 MOH 的体验和 RTCW 画面相结合一款佳作。所以不可能不成功。

从引擎技术上来说,id的优势并没有保持太久。Epic从 Unreal开始,就成为id虎视眈眈的竞争对手,id Tech 3 胜出了Unreal Engine一个级别。但是在三年后,Epic回敬给id的,是Unreal Engine 2。Unreal Engine 2驱动的游戏,我认为画面惊喜程度很高。而从游戏感受上谈,Unreal Tournament 2003 加入的很多小东西都是有趣的尝试,可说是Quake III 模式非常精彩的补充,而UT2004则更加展示了Unreal Engine 2在构造庞大场景并兼顾游戏性上的优势(想想2000年末的 Quake 3 Team Arena吧,id为了抗衡Epic在团队游戏上的优势而精心推出的资料篇----结果id一败涂地)。Unreal Engine 2从视觉观感上就超越了id Tech 3 一个级别,但显然这次回击并不够有力,因为id还有自己的一击重拳。

Doom3的最初截图在网上传播的时候,所到之处均引来一片赞叹的声音。更有很多人断定:这样的游戏是不可能出现的。

虽然经过几次跳票,Doom3还是在2003年来到了我们面前。虽然发布的时候所需的系统配置已经不是像我们曾经想象的那样恐怖了。

Doom3重新树立了新的标准,id Tech 4作为id首个使用C++撰写的引擎(对,id Tech 3如此复杂的项目,是用纯C来完成的),拥有当时业界领先的材质及光影技术。

但悲剧也就此开始。由于id Tech 4的开发周期过长,结果就是这个引擎并没有像id之前的引擎那样卖掉很好的授权,除了id本家的游戏,只卖出个Prey的授权,很是凄惨。相反的,Unreal Engine 2却收获颇丰,整个2002-2004年的市场被Epic独断,而最重要的是,这些使用了Unreal Engine 2的厂商,同样也是日后大举使用 Unreal Engine 3的先锋军团。(自然是同一厂家的产品切换比较容易)

引擎技术的下一个突破,就是2007年到来的Unreal Engine 3了,Epic身批战袍而来,为了Unreal Engine 3,Epic连自己的招牌游戏 Unreal Tournament 都先搁置一边,联合微软推出了传奇性的Gears of War。

当时所造成的震撼,一点儿也不比Doom3推出的时候小。而更为重要的是,几乎是在一夜之间,Unreal Engine 3几乎统治了次世代的引擎技术领域,甚至包括了如日中天的次世代游戏平台X360,PS3 ---- 此时id根本就没有与此对应的技术可供厂商选择。

沉默了一阵之后,id才宣布了正在开发的全新系列---- Rage,以及全新的引擎----id Tech 5。

但是目前就我的感觉而言,我没有感到id Tech 5 从视觉上,有相对于Unreal Engine 3具有压倒性优势的地方。

10几年来,FPS的世界已经有太大大变化了。从Call of Duty开始,剧本以及场景设置就变得异常重要。我始终认为Call of Duty系列是做得最好的脚本游戏(仅限单人游戏部分而言)。那些超乎想象的场景以及流程设计,结合FPS游戏近乎身临其境的体验,成为了Activision一直以来的摇钱树和筹码。另外提一下,我始终不认为COD系列在引擎技术上有什么太多的优势,甚至我一直怀疑(有点肯定)COD2中号称支持DirectX9的神秘引擎,就是id Tech 3的改良版本而已。

另外一个冲击FPS世界格局的,是当年北欧的游戏工作室DICE推出的Battlefield系列作品。这是一款空前的作品,想想你可以作为步兵,搭乘战场上的各种兵器与数十个真实的人拼上一场的时候的激动吧,这是无数小男孩的梦想----所以正如EA收购了Maxis推出的满足无数小女孩梦想的游戏 Sims 一样,EA自然也要把DICE收入囊中,将BF系列变成和Sims一样的印钞机产品。Battlefield系列始终拥有很高的素质,我一直保留着一个BF2的Demo版本,事实上这个Demo版就已经可以满足我的游戏需求了:免费联网对战,可玩度极高(或者说无限)的地图,当时实乃极品。

其它影响整个产业格局的是Halo这样的游戏,我了解不多,就不多说了。

而id的问题,就是没有看到或者说重视这种变化。Battlefield的方式,id在Enemy Territory的两款作品中算是做出了些回应,玩家的反应评价也很好,但是可惜还是没有成为主流。

现在id自己熟悉的模式也都无法提供太多的创新了。Quake4中多人游戏的部分,基本就是Quake III 的id Tech 4重制版本。说回文章开头提到的Wolfenstein,也继续保持着类似的风格,所谓的创新不过都是小的甜点而已,在根本的方式上,还是id十几年前的烙印。

看看近期Wolfenstein以及Rage的宣传,居然还在反复宣传着"MegaTexture技术"。在如今这个各厂商的大作均完全不以技术说事的时代----Halo没有说过技术;Modern Warfare 2的发布会,连半个技术的词没有,可全世界成千上万的玩家,仍在翘首企盼游戏演示关卡的那激动人心的20分钟,这就是现在的游戏产业和从前的差距。

现在的id,楼下或许还是那十几辆法拉利,但是殊不知窗外景色的大不同。我想,John Carmack这样的天才的时代,已经过去了,作为一个传奇英雄他将永远辉煌,但却无法保证id的引擎团队永远辉煌。个人力量正在被商业化生产而超过。仅仅说我在北京的计算机书店,就见到过非常详尽的虚幻引擎开发手册,内容十分丰富。这足以证明Unreal Engine完善的商业化程度。id的风格则走了另外的套路,Carmack提倡的小团队项目,以及过度依靠他本人的能力,相比下制约了id引擎的发展。Carmack将公司旧有的引擎源代码完全开放,让id在游戏业界以及全球都获得了广泛的声誉和尊敬----却没法显著提高id实力。

id同样在多种方面保持着理想化的构想,Quake Live就是很好的一个明证,我还专门为这个项目的宣布写过一篇短文。无奈就在Quake Live 宣布支持Linux 的今天,我同时也读到了Carmack宣布这个项目目前入不敷出的情况......

我觉得id可以考虑去做的几件事情:

  • 先是提高引擎的商业化程度,这么长时间以来,id的引擎肯定在易用性上较Unreal差一大截,如果普及自己的技术,更好的服务客户,甚至建立一个专门普及技术的团队也是应该的。先进的游戏市场,抢下一些用户,建立自己的用户平台,是种非常好的商业化平台方式。 
  • 不要成为"啃老族",id的游戏系列,Doom, Quake, Wolfenstein,是时候放一放了,不放下这些,就更加难以创新。

现在John Carmack沉浸于iPhone/iPod Touch平台的开发之中,正在以惊人的速度在这个平台上推出游戏。Rage最近刚刚出了最新的预告片,仍旧是那么地"Doom",作为John Carmack无数的崇拜者之一,作为无数期盼id重现辉煌的玩家之一,我只能祝他们好运。


参考文献:

id Tech 3, id Tech 4 on Wikipedia.

Masters of Doom, Doom启示录

CheckNerds Labs 开源项目正式上线

| No Comments
2008年7月19日,CheckNerds 写下了最初的代码。而在接下来的这一年里,CheckNerds 从一个还仅存在于我头脑概念中的网站,到有千余注册用户的小型站点,算是迈出了第一步。

而如何将这样一个带有强烈个人色彩的项目,成为自己期望中的"更好的工具",是我在这么长的时间以来,始终在思考的一件事情。

在这期间,我进行了无数的尝试与改进。其中,包括那些被大家所熟知的如针对移动设备(手机iPhone/iPod)的版本。但同时有着更多不为人知的改进,他们大多数止步于萌芽阶段,而止步的原因或是由于实际的理念于CheckNerds 当前的发展并不完全相符,或者完全是由于Google App Engine 所造成的技术限制等。甚至还有若干已经动手实施,并最终止步于半途的项目。固然惋惜,但却也在无数的尝试和思考中,对于自己要做一个什么样的产品,前所未有地清晰、明确起来。

CheckNerds 正在进行的方向,仍如同我最初设想的那样简单,以至于用如下几点就可以概括:

  • 下一步目标,技术结构上,不是做到最大,而是再尽力做"小";
  • 如何让更多的人在上面花费更"少"的时间;
  • 这种工具没有最"好",如何再度巩固和突出特色,并且做得更好,"一个更好的工具"

2009年6月在Google 开发者日大会上的介绍进行完以后,根据当时自己总结的方向和计划,我立即开始着手于 CheckNerds 开放API 的工作上面。

第一步开放的 API 已经于 6 月 25 日正式上线。前期公开的可调用功能还比较简单,这些会逐步进行完善。欢迎持续关注 http://www.checknerds.com/docs/api/function

API 将是CheckNerds 作为 "一个更好的工具" 中非常重要的一环。在建设 API 的工作以外,如何更好的让开发者和用户使用API ,同样是非常重要的工作。于是 CheckNerds Labs 项目作为我在这个方面的尝试,正式启动。

CheckNerds Labs 为 基于 CheckNerds API 构建的一些辅助工具,旨在帮助用户更好、更便捷地访问和使用 CheckNerds。这些工具的源代码完全开放,您可以从 Google Code 的开发站点下载。同时欢迎广大用户参与改进!关于如何申请应用程序API权限、或想把自己写的基于CheckNerds API的小程序加入到项目中这样的相关问题,欢迎各位感兴趣的开发者直接和我联系,期待你们的反馈。

目前 Labs 中包含的工具有:
    amboy.py 导出用户所有 CheckNerds 事项的 Python 命令行脚本,用户资料导出,让用户完全掌握自己的信息。
    
未来计划会包含的其它内容:
    CheckNerds Python Binding Library
    CheckNerds GUI - Based on wxPython 
    CheckNerds 完整版 API 调用文档
    等等其它,可以实现的应用有太多,唯一的限制是大家的想象力

目前这个项目需要完善的文档工作还有很多,欢迎大家关注 Google Code上面的项目主页,所需文档和使用方式我会随时进行更新。代码在近期会放出snapshot下载,同时也欢迎大家使用mercurial直接从Google Code 项目站点下载最新的开发版本。(命令 hg clone https://checknerds-labs.googlecode.com/hg/ checknerds-labs )

总的来说,这部分的开放为 CheckNerds 实现Web以外的其它目标提供了更多的方式和可能,用户从此可以不仅是使用者,也可以是参与者。作为项目发起者,心里都会淡淡地希望可以瞬间有不少开发者能够关注这些代码,显然这非常不容易;而自己目前的想法实际上只是更加单纯:不管未来是一个人还是十个人维护这些代码,这个项目的开始意味着自己认真进行的一个项目从此可以更及时和透明地展现给整个世界,还有什么比这个更重要的呢?

OpenParty "夏暮观海"

| 2 Comments
文章开场要首先感谢cleverpig及其他OpenParty同仁赠送的OpenParty Tee,十分Geek, 十分感谢!

多的不谈,还是先来谈谈本期OpenParty听到的演讲。

---

首先听的是杜文山朋友关于使用Sphinx的演讲。

Sphinx简单来说,是一个文档生成工具,用于把reStructuredText 格式的源文件生成诸如HTML, PDF, LaTex一类的格式。编辑者无须亲自处理文本的格式, 程序会自动根据源文件里的设置产生格式, 以及自动生成章节链接等工作。

和DocBook一样,Sphinx可以看做是一个把文本格式处理和文字编辑分开的工具。举个例子来说吧,大家一定都曾有过上学时用Word痛苦地修改论文的经验(没办法,在中国LaTex太小众),其中Word里面千奇百怪的可见或不可见的格式符、控制符一定玩弄了大家很久。而类似DocBook或reStructuredText 一类的格式则完全采用文本文件来记录文字格式,各种格式控制字符完全可见,不会出现如Word里某个隐藏在段落末尾的莫名控制符导致文章之后的某些部分完全乱掉,而完全找不到这个控制符的情况了。同时,完全采用纯文本文件进行记录,使得使用版本控制软件对编辑工作进行全程追踪和记录成为了可能。而最终通过文本的源文件生成具有格式和样式的文本则完全是程序所进行的工作,避免了一切出错的可能。

使用Sphinx的项目有很多,著名的包括 Python , Django 的文档,全部是使用Sphinx 生成的。

我在场询问了作者选择Sphinx而非另一个非常有名的工具DocBook的原因,得到的答案很简单。Sphinx更Pythonic,reStructuredText 语法相较DocBook 使用的XML语法也更加简洁, 简单来说,reStructuredText 语法更类似于wiki。

关于reStructuredText的基本格式,以及Sphinx的基本用法,大家可以参考杜文山的slide,点击这里下载

接下来,杜文山又介绍了使用两个自行修改的Firefox 扩展来帮助用户更好地完成Sphinx文档的编辑工作。这个在slide里面没有详细提及,我觉得很有意思,值得说一下。

Scrapbook是一个知名的Firefox扩展,杜文山修改了这个扩展,从而使得这个扩展非常适合于编辑一个 Sphinx 项目。也就是说,Firefox 从此就变成了一个好用的Sphinx编辑器。该定制版本经过修改,如果需要,还可以方便地调用Vim来进行文件内容的编辑。

为什么要这么做?因为 Scrapbook存储数据的格式使用的是XML,杜文山通过自己编写Python 脚本来处理这些数据,从而实现了服务器端的全文搜索。Sphinx自己也可以生成一个基于前端的搜索,据作者说对于中文支持不好。所以他采用了自己另外编写脚本的做法。效果不错。

还有一个有趣的东西就是Firefox 上面的一个Vim风格扩展,作者由 vimperator 精简而成。这个扩展完全不像vimperator 那么难于上手,仅仅是保留/增加了一些自定义的快捷键和键盘浏览方式,甚至没有: 的命令行(因为太占用系统资源)。适合需要一个简单的Vim键盘控制扩展的朋友可以选用。

杜文山把这两个项目以及他自制的Sphinx在Windows上的打包都放在了这个页面,欢迎大家前去下载。另外打包的Sphinx文件里面包含一些本地化的内容,我十分期待这些修改可以提交回给开源社区,欢迎有兴趣的朋友在作者提交到开源社区以后大家一起参与完成!

此外杜文山还介绍了下自己的网站项目,里面提供一个很有意思的功能,是一个MoinMoin(一个著名的使用Python编写的Wiki系统,Ubuntu 论坛 Wiki使用的就是这个系统)的Service Provider, 通常大家都习惯了BSP,这个网站则可以为你提供一个记录知识与信息的Wiki,十分有创意。

期待作者把他的这些精彩作品回馈社区,调动更多的人参与。我稍后也将用Sphinx来创建我需要的一些文档

---

这期听到的第二个题目就是关于德国一个基金会将办公系统由Windows迁移至Ubuntu的介绍,受益良多。我的记录比较零散,在这里就跳跃性地谈一些让我印象很深的东西。

总体迁移过程从技术上对于广大Geek来说,其实都没有太多新奇的东西。针对办公环境,一言概括,就是从Openoffice.org、Thunderbird的普及开始,直到最后完成操作系统的迁徙。当然了,这个过程看似简单,所谓难点也完全不在技术上。而是在于人。技术上的问题,实际上解决的方式要比人的问题简单许多。要知道,人员基本上算是在企业的这种工作中,不可替换的部件。所以,人为因素对于类似这样的项目来说,至关重要。

整个案例由在这方面很资深的一个软件公司来完成。关于更多地在政府或企事业单位中推行自由、开放的系统,创始人张韡武讲述的一点很值得品味:关于这个行业,从实施公司的角度来说:如果要进行所谓的开源软件推广,仅仅是花钱采购其实并不能解决实际问题,如何对迁移和部署的风险对于业务的影响进行评估、使用合理的方案,让提供相关服务的供应商在可承受风险的情况下介入。说得很有道理。

对于如何进行开源软件的宣传,以下几点我认为非常值得学习。
  • 避免宣传一些技术人员对于Linux及开源技术的先天感觉。如免费、邪恶的商业软件等理念。真正的用户,关注的永远是如何关注业务,而不是建立一种偏见。任何使用偏见建立起来的观点,都是无法得到更高一个层次的信任的。
  • 关注用户需求的提议:Linux应该是一个解决方案的一部分,是成熟的产品,换用它是为了解决实际的问题,带来效益,而不是图新颖,搞新名词。
  • Linux并不比Windows高端,反而倘若在用户首先接触Linux 的前提下,实际上掌握Windows系统反而要学习和接触更多的感念

确保项目实施成功的过程中,有一个小白鼠环节特别值得大家注意。即实施团队会预先选择一些实验用户,先于其它同事尝试新的系统。而事实上对于实施企业来讲,选择的这个小白鼠用户,是预料到必然会获得成功的用户。这个策略可以大大提高项目实施的信心,确保整个项目的整体成功。也就是说小白鼠用户的成功,就是整个项目成功的敲门砖。大家通常会以为小白鼠用户一定是最信赖和支持这些新技术的用户,其实这并不是最重要的。相反小白鼠用户最需要的潜质往往是以下列出的几点,如关心业务、了解需求、有影响力,这些可以有效确保小白鼠用户在整个项目的推进过程中发挥实际的作用。我对此的思考是实际上在所有的软硬件项目实施中,都可以参考这个选择小白鼠的策略。

还有一点十分让我震撼,作为一个专业的IT服务公司,那些我们看似反复、琐碎的工作也一定要做到非常严谨和一丝不苟。迁徙后为单个用户需求所提供的检查表,就有几十项之多,细致程度令我惊讶。其中的那些细小功能都要和用户一一核实;我们大家相信已经习惯了自己鼓捣等同于这些Geek们的玩具的操作系统,但是把它们变为生意,严格地实施,显然需要另一种味道才行。

总的来说,我对于整个演讲的理解,可以归类于以下几点:

  • 整个项目的成功,可以总结为 把我需求,要做什么 专注这些
  • 把过程流程化,对于细节的把握非常重要
  • 未来行业的趋势,是IT外包
  • 如何确保一个项目成功的实行,是一件需要深入到企业内部流程的东西。

---

第三个是番茄树的介绍,简单谈几句

番茄树是个引人注目的网站,清新如豆瓣的风格,市场宣传也很到位,我经常去的网站上都有它的广告。

其对于界面用户体验的研究,以及对于客户服务认真的态度,非常值得学习。

有个小缺点是整个演讲前面讲了很多关于"轻公司"的概念,以及Amazon作为一个底层服务商的伟大。但难免让人找不到重点,因为番茄树只是在等待那个中国的"Amazon"的出现,而不是成为它。以后可以考虑在移些篇幅给用户体验优化、以及技术上概略的简介,对于OpenParty这样的群体来说,这些应该更吸引人 :)

番茄树吊了大家半天的胃口,最后介绍了一下其推荐算法的核心。不出所料,算法核心使用的是SVD算法。不过番茄树对于此的讲解有些简单了,关于这个算法的话题,在上次的OpenParty上fuchaoqun朋友进行了一个详细的讲述,并且还附有实例程序。我在这篇文章中有比较详细的介绍,欢迎点击访问《OpenParty "柳岸寻鱼"》。

---

此外本期还在OpenParty的介绍环节推广了一下我和朋友们发起的 411shot.net 一次性相机网站/活动项目,推广一下这个作为我们业余爱好的项目,也更凸显OpenParty的开放特性。还有幸成为了首个在OpenParty上进行推广和海报宣传的社区项目,很是荣幸。欢迎大家访问 411shot.net 了解详情。未来我也会进行特别详述。

随着自己involve 的项目逐渐增多,开始有了每次活动都介绍自己参与的一个项目的计划。自己数了下,可以撑很久一段时间而不重复。所以,欢迎大家期待。

---

习惯了在每次的OpenParty后写上一篇文章。为什么热衷写OpenParty 的文章?事实上现在OpenParty对我个人来说,提供了一个非常好的学习的平台。每次会议听取的三个题目,可以从中汲取非常多的知识,还可以和非常多不同的人进行交流,实在是得益于Openparty太多太多。简单写些文章也算是个贡献。而且自己撰写文章还有一个非常好的好处,就是一个可以非常详细的知识总结。在一个时间内掌握的东西,随着时间的流逝,肯定会淡忘,但是一篇自己写就的详述文章,可以帮助自己以及更多的朋友分享和回顾知识,意义巨大。可以想象,几位朋友的详述记录,综合起来就可说是一份OpenParty完整的记录了,可以弥补很多朋友在现场无法分身法术参加多个会场的情况。相当于让整个会议的延展范围无限延长,分享话题的朋友也可以获得非常广阔的交流范围。使得一次活动不仅仅局限于一个会场,更是一次全体分享者、聆听者聚集的厅堂。

Find recent content on the main index or look in the archives to find all content.

Recent Comments

  • greatcleverpig: 超牛!CNBorn!你就是传说中的神笔马良啊!历史上最长的#openparty 活动报告!推荐!--from cleverpig(猪兄) read more
  • makestory.myopenid.com: 多谢分享 btw 411shot 的照片很不错啊 我相当喜欢 read more
OpenID accepted here Learn more about OpenID