游戏开发真功夫:游戏开发定律

2023-05-16

游戏开发真功夫:游戏开发定律

http://www.shuzifun.com/article/56/t-8856.html

发布: 2010-4-08 11:18 | 作者: 十二 | 来源: 游戏圈

 

虽然全球已经有了那么多游戏培训机构和学院,但是相比其他产业,游戏业依然太过年轻。它尚未产生一套完整的规范和标准,甚至连流派也没有,完全处于混沌阶段。在这种情况下,甚至连游戏类型的分类也是混乱的,日本有日本的分法,美国有美国的分法,甚至一个国家的两本不同游戏杂志,其分类也存在着细微的差别。这种谁也不服谁的局面,理所当然导致了胜者为王的结果。《生化危机》系列的风靡,导致ADV这种游戏类型得以步入主流,成为全球承认的类型。而很多其他游戏,则没有这么幸运,虽然厂商不断重复自己是新类型,但媒体依旧我行我素将其归类为“其他”。  简单而客观的游戏类型尚且如此混乱,庞大而无序的 游戏开发更不必说。从罗梅罗、饭野贤治的个人崇拜,到暴雪、牛蛙的团队金字招牌。 游戏开发业见惯太多成功与失败。正如任天堂的老山内所说:这个行业的成功总比买奖券概率高一些。因此,也就有一些走路绊倒狗头金的侥幸成功者,抛出一些守株待兔式的理论。而茫然无措的行业新人们,则好似抓到一根救命稻草似的,将这些所谓定律奉为金科玉律,守着树桩,等待命运中总也不来的兔子。
  下面,我就来为大家说说一些流行在行业内部的所谓定律,分析一下他们的真伪。
  好游戏是改出来的,不是设计出来的。
  拥护者:游戏业早期成功人士。不重视策划的团队。
  在上个世纪末, 游戏开发刚刚萌芽的时期,一台计算机,一个程序员就可开发一款游戏的时代。那时候,确实不需要设计,不需要沟通,甚至不需要考虑用户需求,像个真正艺术家一样,按照自己的意愿塑造游戏,玩一玩,改一改,直到它成熟,就让他商业化。设计是什么,从来都不存在与这些开发者的思维。
  现在,开发一款游戏动辄上千万投资,上百人团队,没有设计和规划,岂不是一盘散沙?可是,依然还有一些沉迷于旧日的开发者,带着大跃进的豪情,直接开始编码工作。说好听一点是技术优先,实质是“人有多大胆,地有多大产。”看到别家游戏的优点,就像直接抓过来为己用,系统越来越庞大,越来越没有章法,最终将成为一个巨大的鸡肋,一个不可能结束的项目。
  项目开发前期,用70%的时间,做30%的工作;项目开发后期,用30%的时间,做70%的工作。
  拥护者:不具备软件开发管理能力的制作人。时间管理困难者。
  拥护这个定律的人,相信一定是幼儿园时期起床最晚穿好衣服,中小学时期暑假作业在最后一天突击的人。他们不懂也不想去学习时间管理,在项目开发前期,找资料,讨论,玩游戏(美其名曰“参考”),随便做做设计,然后再推翻它,日子过得像天堂。到了开发后期,最后期限开始倒计时的时候,市场部开始每天几个电话要东西的时候,就进入了地狱——一天十几小时加班,吃住在公司,一个星期不洗澡……如果还是赶不及的话,就要壮士断腕——删除一些既定的功能。然后带着血淋淋的无手手臂,以悲剧英雄的姿态出现在玩家面前。由于人总是会同情弱者,因此,这种断腕的游戏还是能够获得玩家青睐。而这些开发者们,将伤痕作为勋章一样炫耀,其本质不过是受虐狂罢了。
  正确的做法当然是有计划有步骤的进行开发。虽然游戏业很年轻,但是软件业已经走过了很多“焦油坑”,我们就不必再重复了。
  你可以让1个女人用10个月生1个孩子,也可以让10个女人用10个月生10个孩子,但是你不能让10个女人用1个月生1个孩子。
  拥护者:被无知老板或投资者折磨的制作人。能够正确理解“人月”概念的人。
  这个定律是对人月概念的最佳诠释,它可以在几秒钟之内,向所有外行解释清楚什么是人月。人月看起来很简单,就是开发所需的人员数量乘以月为单位的开发时间。常有上位者提出这样的愚蠢问题:“哦?既然这个游戏需要20个人开发2年,那么我给你40个人,你一年做出来吧!或者给你100个人,你5个月做给我看。”简直把游戏开发当成了买萝卜白菜。这样的人真应该娶10个老婆,然后想办法在一个月内抱上自己的大胖儿子。
  这个定律是如此简单明晰,那就是,游戏开发是有一定的人员和时间底线的,也就是有一定的客观规律的,这个客观规律是不能违背的,它也是潜藏在这个定律后面的元定律——人员的增加对于缩短开发时间没有任何意义,甚至还可能有反作用。
  存在着价值N的游戏创意。(N=数百到数千万不等,单位为人民币到美元不等)
  拥护者:狂妄的新人,特立独行的开发团队。
  “我有一个很好的创意,它价值N,希望有兴趣的公司联系我。”这样的话像月经一样,总会隔一段时间在应聘简历中露脸。可能有些应聘者自己也并不相信这个谎言,只是想通过它达到一鸣惊人的目的。但不容怀疑的是,有些人确实真的是这么想的。如同永动机的神话,每隔一段时间就会有人把它挖出来一样。
  游戏业虽然年轻,但发展的势头不容小觑,几乎所有的新类型新玩法都能在古董游戏中找到影子。全世界成千上万的游戏开发者就算不是聪明过人,也都是具有相当素质的专业 人才,他们没有想到的创意,会遗漏到一个门外汉的头上。更何况,谁又能界定这个创意的价值,谁又能判断他是否能够实现呢?用上山下乡的方式解决城市青年的失业问题是个创意,可结果如何呢?这个从未被提起的创意,是真的刚刚被发现,还是已经在无数设计者的头脑中打过滚,而后又被扬弃的呢?路边的李子都苦,是个简单的道理,没有必要因为发现了它们而狂喜,即使用它们做敲门砖的话,也略显青涩呢!

我们可以做到又快又好又便宜
  拥护者:无知的老板,狂热的开发人员。
  这个定律可以更名为“亩产万斤第二定律”,基本上属于高烧40度以上的产物。在“快”、“好”和“便宜”之间,你只能选择任意两种。快+便宜的代表是资料片,成本低,开发周期短,但是根本就别想它能够获得正片同样的销量和评价。而快+好的例子比较少见,游戏业几乎是一个与“快”无缘的行业,勉强可以说说的应该算一个新机种同时发售的游戏了,“快”是必然的,因为要同步上市,从中也能找到一些“好”的例子,但是,成本一般都居高不下。而又好又便宜,很多颇受好评的FREE游戏应该能但得起这个称号吧,但是你根本不用想以最后期限制约它的开发周期。
  相信又快又好又便宜的开发人员多半智商不够,因此他们通常先天性的不能做到“好”,至于“快”嘛,比较难说,“便宜”倒是真的,他们在哪里也拿不到太高的工资。
  相信又快又好又便宜的老板多半是又想马儿跑,又想马儿不吃草的吝啬类型,一旦你被幸运女神眷顾,真正做到了又快又好又便宜,相信我,你不会得到额外的奖励的,你的老板会把功劳都算到自己头上,甚至连幸运女神他都想偷走。
  不加班做不出好游戏。
  拥护者:无知的老板,无力的管理者。无能的开发人员。
  有关资本论我并不熟悉,但印象中上学的时候学过所谓“延长劳动时间”是比较低级的剥削方式。经过前人艰苦卓绝的斗争,8小时工作制已经延续了这么多年,可在IT行业,似乎有倒退回“每个毛孔都滴着血和肮脏东西”的时代。有些公司老板就是喜欢像小学老师或牧羊人一样,看到员工在自己位子上时间越长越安心,根本不去考虑生产力。他们的计算公式是用金钱换时间,同样的金钱,换到了员工更多的工作时间就是赚了,根本不管这“更多的工作时间”是否带来更多的产出。不知道他吃牛肉面的时候,是否还要叫上一杯开水,用来兑成一大碗?
  有些制作人或项目经理也非常喜欢加班,当BUG越积越多,最后期限迫在眉睫的时候,他们无力回天,只能用加班做出一副“率败率战”的姿态,让老板安心,让自己的良心也稍微得到宽慰。然而,这并不能掩盖他的无能,所有人都看到了,只有他还在自己欺骗自己。很多人笃信“没有功劳也有苦劳”这句话,在确实无法建立功劳的情况下,加班就是最好的苦劳姿态了。
  《最后期限》的作者Tom DeMarco就曾经以试验数据说话,短期加班能带来微弱的生产力增长,而长期加班只能带来生产力下降和人员流失。因为作为一个人,他生理上能够承担的复杂劳动强度是一定的,加班不会让他有更多产出,而且,大家都会自动“减班”,听音乐、喝咖啡、抽烟、聊天、阅读……时间是很容易打发的,不是吗?即使是在办公室里。老板可以命令员工加班,但是不能抵挡脑细胞怠工。又回到资本论,消极怠工是工人抵御剥削的初级方式之一……似乎教科书上是这么说的。
  封闭式开发能够大幅度提高生产力
  拥护者:吝啬的老板,没有管理能力的主管。
  封闭式开发对于老板和主管的好处是显而易见的。郊区更低廉的房租,更低廉的日常费用能够最大限度减少支出。包吃包住的包身工自然更容易管理,无所谓加班不加班,反正工作场所就是生活场所,周围没有娱乐设施,公司的电脑就是唯一的娱乐工具。交通不方便,就算想跳槽,面试的出行成本也很高,也很容易被发现。整齐划一的生活更容易让大家融合为一体,有利于团队的形成,大包大揽的管理让员工产生惰性,不会轻易想离开。对于员工来说,也有种种好处,吃饭有人管,不用租房子,集体活动有同伴,简直像共产主义天堂。
  可是,到底有多少大作是在这样的开发模式下产生的,而这样的开发模式又产生过多少失败呢?我没有统计过,不敢妄下论断。我只知道,世界上并不存在让生产力大幅提高的灵丹妙药。封闭式开发是会形成稳定的团队,但是这个团队的品质却是日渐僵化腐朽的。大家越来越整齐划一,没有新思想、新方法介入,很难想象他们能够开发出有灵性的好产品。包身工只适合传统行业的体力劳动,并不适合游戏。
  在保证品质和规模的情况下,游戏开发只可能延期,不可能提前。
  拥护者:未知
  这个定律很简单,目前尚无明显的反证,所以它就存在并合理了。虽然很多开发团队试图打破它,但它似乎坚硬得很,至今没有被打破。
  有关游戏开发的奇谈怪论还有很多,可惜这里已经没有篇幅一一列举了。每一个所谓的“定律”都似是而非,似乎都有一些事实去支持,要炼就一双火眼金睛去识别它们可不是一件容易的事情,但事实总是最好的证明,大量的事实是检验一个“定律”真伪的最佳标准。最好的软件开发团队和最差团队的生产力比为 1:11,这是经过实践检验的,在游戏业,这个比率可能更大。销量榜上排名第一和第一百的游戏开发费用可能相差不到一倍,但是利润却相差数百甚至上千倍。加入一个好团队,是一个人游戏业职业生涯的良好开端,判断一个团队是否优秀的标准,就是看它是否笃信正确的“定律”,排斥错误的“定律”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

游戏开发真功夫:游戏开发定律 的相关文章

  • 工程师必备串口数据截取工具modbus命令分析串口数据分析

    工程师必备串口数据截取工具modbus命令分析串口数据分析 主要功能 xff1a 支持监控COM端口类型 xff1a 标准电脑端口 xff0c 内核虚拟COM端口 xff0c USB转串口等 xff1b 可以实时监控并采集串口数据 xff1
  • VINS-mono的编译与运行

    简介 xff1a VINS mono是香港科技大学一个计算机视觉实验室的科研结果 xff0c 是要是基于单目视觉惯性里程计的一个slam系统 xff0c 整个项目都是内嵌于ros 非常感谢这群勤劳刻苦创新的研究者开源了这个项目 在此我记录下
  • C ++ 函数在头文件中定义,结果编译时出现重定义

    场景 xff1a 这种情况和头文件宏定义无关 xff0c 一般发生在编译完成链接的时候 xff1b 注 xff1a 头文件宏定义如下图 xff0c ifndef HEAD H 如果没有定义这个宏 define HEAD H 定义这个宏 h头
  • 单片机开发用到的intrins.h文件

    intrins h文件内容如下 xff1a ifndef INTRINS H define INTRINS H extern void nop void extern bit testbit bit extern unsigned char
  • 自动驾驶路径规划——基于MATLAB的栅格地图

    目录 前言 1 什么是栅格地图 xff1f 1 1栅格地图用于路径规划的优势 xff1a 2 MATLAB栅格地图的绘制 MATLAB代码 声明 前言 这个学期学校开设了相应的课程 xff0c 同时也在学习古月居机器人学系列的 基于栅格地图
  • 自动驾驶路径规划——A*(Astar)算法

    目录 1 最佳优先搜索 xff08 Best First Search xff09 1 1 最佳优先搜索的过程 2 A Star算法2 1 Astar算法所属分类2 2 Astar算法基本概念2 3 启发函数单调性的推导2 4 设计代价函数
  • vscode 出现“identifier “cout“ is undefined“或“未定义标识符cout”

    vscode 出现 34 identifier cout is undefined 34 或 未定义标识符cout 最近想学C 43 43 xff0c 然后就从通读C 43 43 Primer Plus开始 xff0c 结果出师未捷身先死
  • 【网络通信】关于TCP阻塞和非阻塞方式的总结

    关于TCP阻塞和非阻塞方式的总结 1 引言 在网络编程时 xff0c 我们需要注意创建的socket是阻塞状态还是非阻塞状态的 xff0c 这两种状态在编程时 xff0c 对于每一个socket系统调用函数 xff08 connect se
  • c语言中return返回值的用法总结

    return返回值的意义就是把return lt 表达式内容 gt 返回给调用return的函数 例如 xff1a void test int i int j xff5b return i 43 j printf 34 不会被执行的语句 x
  • UART、RS232、RS485、I2C和SPI的介绍

    基本知识 串行通信 xff1a 多个数据通过一条数据线 xff0c 依次传输并行通信 xff1a 多个数据通过多条数据线 xff0c 一次性传输单工通信 xff1a 只能接收数据或者发送数据 xff08 遥控器 收音机 xff09 半双工通
  • 【MATLAB教程案例97】基于GA遗传优化的CNN卷积神经网络最优训练参数搜索matlab仿真

    欢迎订阅 FPGA学习入门100例教程 MATLAB学习入门100例教程 目录 1 软件版本 2 理论概述 3 matlab仿真
  • 【读书笔记】-《华为-C语言编程规范》

    前言 作为程序开发者 xff0c 避免不了阅读别人代码 xff0c 那么就会涉及到到一门语言的编程规范 规范虽然不是语言本身的硬性要求 xff0c 但是已经是每一个语言使用者约定俗成的一个规范 按照编程规范编写的代码 xff0c 至少在代码
  • UART概述(下)

    目录 IntroductionFunctional OverviewOverviewFunctional descriptionOperation Introduction UART作为一个连接到APB的AMBAslave模块 xff0c
  • sprintf,你知道多少?

    选自 CSDN 社区电子杂志 C C 43 43 杂志 http emag csdn net 2005 年1 月 总第1 期 93 本文作者 xff1a steedhorse xff08 晨星 xff09 printf 可能是许多程序员在开
  • 1315 - 遥控飞机争夺赛

    红太阳杯遥控飞机大赛拉开帷幕 比赛规则为 xff0c 每位选手让自己的飞机从起点到终点飞行 55 次 xff0c 组委会记录 55次的飞行的成绩之后去掉一个最大成绩 一个最小成绩后计算剩余 33 个成绩的平值 xff08 平均分保留 33
  • TS — 枚举的基础应用,const,declare关键字的使用

    在 TypeScript 中 xff0c 枚举 xff08 Enum xff09 是一种可用于定义一组具有名称和值的常量的数据类型 它们允许我们定义一组命名常量 xff0c 而这些常量的值可以是数字 xff0c 字符串或任何其他数据类型 枚
  • C标准、C标准库、C++标准、C++标准库

    1 C标准 C标准主要有三个版本 xff1a C89 C99 C11 xff0c 他们之间的关系可以借用这张图来表示 xff1a C 标准主要由两部分组成 xff1a 描述C的语法 xff0c 和描述C标准库 C标准库定义了一组标准头文件
  • ZED2相机+NVIDIA NX使用及检测目标功能2

    在nx结合zed相机 xff0c 使用yolo进行物体识别 1 venv虚拟环境安装 由于设备自带的python为python2 7环境 xff0c 所以先创建虚拟环境并激活 sudo apt get install software pr
  • tensorflow-gpu==1.13.2运行出错:DDL或import tensorflow找不到指定模块

    这是tensorflow和cuda之间的匹配问题 xff0c 笔者在最初接触神经网络学习的时候 xff0c tensorflow1的时候确实没能成功使用 xff0c 当时是使用pytorch进行了学习 后来笔者探索了一番学习后 xff0c

随机推荐