读程序员网游专题云风的文章有感

转载 2006年06月06日 22:54:00

本文作者:sodme
本文出处:http://blog.csdn.net/sodme
声明:本文可以不经作者同意任意转载、复制、引用。但任何对本文的引用,均须注明本文的作者、出处以及本行声明信息。

  1.勇于承认失败
  国内的游戏厂商,让人觉得能有大家风范的少之又少,炒作、随意夸大游戏品质,好象不吹牛就没人知道他游戏作得烂似的。由于网游市场渐显的各种风险增加,资本市场从2004年底开始,对网游的投入渐趋理性化。在这样一个群雄逐鹿的时代,唯有靠品质才能最终取胜,小的游戏厂商会逐渐被市场淘汰或边缘化。未来可以在市场上存活的,将是为数不多的大游戏厂家。值得说明的,这里的“大厂家”并不是一定就是指现在的某些看起来很大的厂家。
  在游戏业界广泛充斥着浮躁的大氛围下,智冠和网易给我留下了难得的好印象。王俊伯在RO的代理权易手给盛大后,公开承认智冠的RO运营是失败的。而网易的云风,在05年6期的程序员杂志的网游专题文章中,不仅承认大话I是失败的,更是总结了若干失败的教训和经验,这些东西可以帮助多少人少走弯路呀!网易的作风,给外界的感觉,向来是踏实、务实的。在东西没出来之前,他们从来不会怎么高调作什么所谓的花边宣传,这与国内很多游戏厂商的作法大相痉庭。大话系列的游戏品质相信玩过的自有评说。
  承认失败,是需要勇气的,同样也是需要相当自信的。因为他们相信自己将来可以作得更好,所以才会勇敢地承认自己过去作得不好。不管是智冠,还是网易,我想,没有人可以否认他们在国内玩家心中的份量。

  2.结对编程
  结对编程,一个曾经非常时髦的话题,这个概念刚提出来时,我还在一个名不见经传的“教授型”网络教育软件公司。当时,我们的项目负责人也一再提出结对编程的想法,但是,项目组的成员对执行它却丝毫没有兴趣。是的!结对编程的前提是:参与结对编程的两个人,在技术水平上我认为一定要是水平相差不大的人,但也不能水平相同。你跟一个连“面向对象”都还没有弄清楚是什么的人说什么结对编程,那绝对是在扯蛋!技术水平相差太大,是很容易造成歧义的,水平太低的人往往无法正常理解水平高的人的设计思想,除非在结对编程时指定谁是说话算话的老大,就是说当出现意见相左时到底由谁说了算!有人说,应该民主讨论决定谁说了算。我要说的是,这种民主,在一定的范围内是有效的,但越过了范围,当你该拿决断时就一定要拍板决定,不能给项目成员以犹豫不决的印象,否则别人的工作作起来也是心虚的,因为他们不知道自己现在作的东西,到了明天或者后天是否就会被推翻而不得不重写。对于水平相差不大的人,我觉得结对编程是有益的,我之所以这样说,绝不是因为自己多看了几本书就在这里瞎忽悠,因为我曾经跟我过去的同事这样作过,不管是思维的广度还是深度,都要比一个人写的代码更漂亮,也更安全。坐在旁边看的那个人,往往可以指出你现在正在写的这段代码的问题所在。除此之外,结对编程还是对工作效率的有效约束,两个人一起工作时,精力必定是相对集中的,不会出现三心二意或跑神的情况。

  3.阶段性的测试和验收
  在多人参与的项目中,阶段性的测试和验收工作是必须要有的。当然,我们的设计总是随着开发的进程而不断调整的,那种一次设计之后再不改动的完美方案在现实中是几乎不存在的。项目组的成员,在阶段性的工作完成之后,应该由项目负责人召开专门的阶段性成果验收会议或演示,由设计者提供相关的设计文档、演示代码等。而参与验收的人,特别是以后可能要用到这一部分功能的人员,要详细询问、了解它的接口使用方式,设想你在使用这个接口时的可能情况以及可能出现的问题。把后期可能出现的因修改延期风险尽可能提到前面来。

  4.策划内容与程序实现的配合
  游戏的程序人员和策划人员,在很多公司里是“互相鄙视”的。程序鄙视策划整天异想天开,不顾技术实现难度,随意增加、修改变态方案;而策划人员则鄙视程序人员甚至连游戏都不会打,还在那写游戏程序,他们鄙视程序甚至连NPC的确切含义都不知道。而我要说的是,首先,对于程序人员,不管你是作服务器的,作客户端的,还是作数据库的,既然你选择了作游戏,你就得去努力多打一些好游戏。别跟我说实际上你不喜欢游戏,作游戏只是为了混口饭吃,OK!混饭吃可以有很多方式,请不要拿玩家的心情开玩笑。一个游戏公司想成名很难,可是,如果想毁掉则非常容易,他们只要出一两款烂游戏就足矣!而对于策划人员,我要说的是,你们的能想出那些变态方案并不是你们的错,并且我还鼓励你们尽可能地变态,但是,在作案子的同时,我也建议你们尽可能地提高自己的知识量,扩大自己的知识视野,努力多学习一点有关游戏程序方面的知识,我不是让你们学着写程序,但你们可以多与程序沟通,多了解程序的原理。一个方案提出来时,你要考虑到客户端的表现难度以及服务器方面的数据包广播量,当然,限于自己的知识层次,你们可能无法确切知道这些方面的答案,那么,剩下的就是唯一的一条路:多沟通!

  5.项目管理者的角色定位
  通常的项目管理者,会有两种类型:监工型和实干型。前者是只说话,不作具体的编码、设计;而后者,不光是“说话”,还要作具体的编码、设计。从我目前接触到的项目组来看,两者都有,但我更欣赏后者。而作为投资商,我则建议他们选择前者,前提是:投资商有足够的资金可以烧!欣赏后者的原因,是因为程序员广泛比较崇拜技术牛人,他们总希望自己的老大是一个在技术上非常牛的人,这样他们就会觉得自己有一个靠山,有问题时心里也会比较有底,因为他们知道老大可以给他们一些好的建议。而选择前者,是因为监工型的项目管理者,往往可以在投资商和开发团队之间站在一个相对客观的角度来对项目进行进度跟踪和控制,他们明确知道投资商的项目预期,也可以明确知道自己想要的是一个怎么样的开发团队,团队成员出现问题他可以果断地进行替换。

  6.抽象的层次
  表现层和逻辑层的分开,是一个再通俗不过的道理。这一点,在游戏客户端上表现是最为明显的。界面层的代码,不要与逻辑层的代码直接混为一谈。说过最简单的道理:两个EDIT控件,一个加法逻辑。在实现加法逻辑时,有两种方法。一种是把EDIT的值直接转换后拿来直接作加法,另一种是首先作一个加法函数,然后将EDIT的值转成数值再调用这个加法函数。这是再简单不过的界面与逻辑层的分离方式了,可惜的是,很多的懒人却没有这样作,又或者,他们尚且还没有意识到自己为什么要象第二种方法那样去作?

  7.测试自动化的实现
  我从04年4月左右开始作一个休闲游戏,今年又开始作MMORPG。在休闲游戏里,我实现了游戏机器人,就是自己写了个游戏外挂,可以让机器人自己去打游戏。游戏机器人,对于游戏的自动化测试是非常重要的,甚至,我认为是必须的。大量用户的压力测试以及大量游戏逻辑的BUG测试,都需要有一个象游戏机器人的程序自动为我们完成。在云风的文章里,云风为我们提供了一种思路:录制网络数据包行为。这是一个很好的想法,我很赞成。但我想说的是,要作游戏机器人,首先对你的程序设计要有一定的要求,即:你的游戏逻辑设计,不管是服务器端还是客户端都要尽可能地把功能模块化,接口化。这种模块化的粒度越小越好!当然,游戏机器人的实现,更多的,还是依赖于客户端的设计。只要客户端能把每个游戏功能都尽可能地以小粒度加以实现,那种游戏机器人实现起来其实相当容易。一切,只有一个要求:把游戏功能尽可能小的粒度化。

  8.最重要的一点,把游戏首先当作一下正常的“软件”来对待
  我们经常抱怨国内的游戏是多么多么地烂,其实,你只要对他们的开发团队和开发方式稍微了解一下应该就完全不会大惊小怪的了。有相当多的公司,屹今为止,尚没有把游戏当作一个正常的“软件开发”来对待,在项目的管理上,在人员的组织和任用上,都带有相当程度的随意性。所谓的项目延期,品质低劣,BUG频出,归根结底是人的问题!先不要把目标放那么远,要想作出一个好的游戏,请先把游戏当作一个再正常不过的软件项目来开发,来规范,来控制!

读马云《未来已来》

众所周知,互联网行业BAT三巨头之一的阿里巴巴,无论是对中国还是对世界,都已经有了一定的影响力,一直以来对淘宝、阿里巴巴都有着莫名的敬仰之心,觉得阿里的工程师都特别牛逼, 对于国民老爸——马云,更是觉...
  • W_ILU
  • W_ILU
  • 2017年07月31日 19:42
  • 1062

程序员修炼之道读后感

程序员修炼之道读后感   本书一共8章 针对编程的实效进行一系列的阐述,以前自己总是看一些偏向于纯技术的书籍都是针对代码技术的实现,并没有详细的介绍项目开发中程序员担当的角色,读完本书丰富了自己对一名...
  • zzzEcho
  • zzzEcho
  • 2016年04月21日 22:14
  • 413

图的搜索分类【夏天的风】

图的搜索分类: BFS(广度优先搜索) 和 DFS(深度优先搜索)         两个最基本的搜索,一个是按深度进行搜索,另一个是按广度进行搜索... 记忆化搜索(基于深搜) ...
  • liuqiyao_01
  • liuqiyao_01
  • 2013年01月07日 21:24
  • 6594

读《人类简史》有感

我是从窦文涛在其节目《圆桌派》中谈人工智能的时候,了解到了尤瓦尔.赫拉里这个人的。瞬间被他像神一般俯瞰众生的视角所吸引,于是买了电子版的《人类简史》详读。前前后后,零零碎碎大概用了1周的时间,读完了整...
  • chrisjingu
  • chrisjingu
  • 2017年08月07日 17:04
  • 244

风讯cms标签列表

- 1 - 风讯dotNETCMS网站内容管理系统标签说明 一、 风讯dotNETCMS样式表字段说明 内容字段(如新闻内容) 标题:{#Title}是我们在页面能直接看到的内容标题,{#T...
  • diligentcat
  • diligentcat
  • 2015年01月09日 16:01
  • 1185

一篇关于程序员的文章

很差错,转载一下。 确定方向 选择比努力更重要 关于方向的选择其实越早确定越好,生活中我们要面临无数个选择,前几天看的一个黑客相关的美剧中有句台词说的不错: life is binary 生活...
  • huangshuai147
  • huangshuai147
  • 2016年05月09日 19:47
  • 1670

读《战国策》有感

---------    Lexlin 2016-6-17战国时代诸侯混战,群雄并起,各诸侯国为了各自利益,厉兵秣马、尔虞我诈。而一些个人为了争名逐利,陆续入世到这种大混战之中,于是各种谋略之士、舌辩...
  • suneastxo
  • suneastxo
  • 2016年10月09日 13:26
  • 473

云风的blog中的一些观点

(1) 谈及 GUI ,我推荐大家读读 IUP 的代码,或许你会喜欢上它。在折腾 GUI 的东东时,在 QT/GTK/WsWidgets 等等之外,又可以多一个选择。它的接口设计采用了一些原则,使得...
  • xdesigner
  • xdesigner
  • 2014年01月12日 20:10
  • 1159

【职业生涯】读《内向者优势》有感

【职业生涯】读《内向者优势》有感
  • CPPCPPCPPCPP
  • CPPCPPCPPCPP
  • 2017年01月19日 22:55
  • 427

读《像程序员一样思考》有感

这本书和《如何解题》都是讲思维方式,不过这本是针对编程而言,更加对口,不过看完发现,优秀的思维方式往往是很相似的。 重要观点:面对问题,是有一定的系统性的方式实施的。 步骤 1.用形式化的方式...
  • z5234032
  • z5234032
  • 2016年01月03日 13:34
  • 178
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读程序员网游专题云风的文章有感
举报原因:
原因补充:

(最多只允许输入30个字)