Link: https://informationalmind.appspot.com/2012/08/26/Translation_TheTrialsOfTheGameDeveloper.html


这是我第一次翻译东西。

而且还找了个这么个没技术含量的观点文来翻译了……

这文章最初吸引我的地方是其引发的情绪。后来想想,虽然此文有某种程度上的故意夸张的成分,但还是值得传播的。所以就花时间来翻译了一下,有错误还请指出~

当然,翻译此文并不代表我同意此文中的观点^_^

原文链接:http://www.altdevblogaday.com/2012/08/22/the-trials-of-the-game-developer/

下面是正文翻译:


这是一篇碎碎念,主要写给那些没有意识到游戏开发所用到的东西的人。为那些因为箱子从架子上落下来的方式而抱怨而不是仅仅笑着享受游戏的人。

做游戏很难。

这本身是一个容易让人们嘲笑的句子,但它很真实,很严肃。以制作电子游戏为职业是一个更难的事情,特别是作为一个独立开发者,因为你通常无法在需要的时候得到人们的帮助。

甚至现在当人们阅读这个的时候,仍然有许多人有游戏开发很简单的印象,且可悲的是这一印象却难以被改变。当在极小的几率您继续往下阅读的情况下,也许我能帮助你理解游戏开发都需要做什么。

游戏开发者必须有能力写软件,这本身就是一项技艺。我常常说世界上有能编程的人,然后是有程序员。任何人,只要给他合适的资源,都可以学会写软件。他们可以得到开发软件的工作并且收获他们的努力工作应得的钱……但这并不能使他们成为程序员。真正的程序员写软件是因为他们情不自禁,这是他们血液中的一部分。他们看到东西的同时还会思考让这些东西运转起来的算法。他们不会仅仅是好奇事情是怎么运转的,还会有种必须去了解为什么事情能运转的冲动。他们常常连做梦都在思考代码,通过搜寻睡眠剥夺与咖啡因那难以捉摸的“最佳组合”,来寻找能使他们找到能做出最好工作的“编码之禅”。当他们编码时,他们投入150%的专注力。当他们不编码时,他们会计划出当他们再次坐回IDE(译注:集成开发环境)前的时候,要写什么。有一种不自然的专注和必要的表现使得一些人成为程序员。他们会成为程序员是因为他们必须会。

仅仅是成为一个程序员是一件事情,但成为一个游戏程序员完全是另外一个事情了。游戏编程是有争议的最难的一种编程形式之一。使用现有的引擎与预制的模块会让游戏编程极大的简化为基本的脚本编写。但对于那些写自己的引擎,自己的模块的人,游戏编程就变得异常的困难,其中的主要原因是我们必须成为许多不同领域的专家。

我们必须成为物理学家。游戏中的任何移动都是被人工雕琢出来的。当一个箱子被从架子上撞掉到地板上,大部分人只是自然的接受了。事实上,如果箱子不在那里,许多人会抱怨。但总得有人去学习与准确的掌握自然中的重力与碰撞与摩擦如何影响物体,从而去完美的模拟箱子掉落的过程。所以需要做大量的学习,练习,研究与编码,而这很容易就会弄昏大脑。

我们必须成为心理学家。当坏蛋看到你的时候,向你投掷手雷并龟缩在掩体后面向你射击,这些并不会魔法般的自动发生。游戏开发者需要学习人类学和心理学,从而可以让游戏中的角色按照某种特定的方式行动。并且当游戏越来越高级的时候,AI(译注:人工智能)系统也是如此。甚至是最简单的AI方法比如Dijkstra’s  algorithm(译注:迪科斯彻算法,一种在“网格”中求两点之间最短路径的算法),想要高效的实现都会变得非常复杂(译者吐槽:我觉得这个算法实现起来复杂度还好啦……主要是有个环节需要用优先级队列进行优化)。更不用说那些更高级的更复杂的算法。

我们必须成为艺术家。游戏世界必须看起来引人注目。它必须符合我们感觉的期望,但这——再一次——不会魔法般的自己发生。人们必须长时间努力的去平滑那些游戏世界中扎眼的地方,确认每一个物体,每一片叶子,每一处光,甚至粒子系统都被放置在完全完美的位置从而能使游戏世界充满生机。

我们必须成为灯光师。你见到那些在管道上闪耀的光了吗?这小小的效果是通过长时间的学习与编码去生成模拟光子的光线,它们穿越地图,遇到物体表面,根据表面的法向量与观察者的观察角度去照亮对应的纹理贴图,并使用bloom效果(译注,这个词我还是不翻译了……参见中文wiki)如果有部分画面太亮,增强对比如果太暗(译注:这两者其实都是HDR效果(中文wiki)相关的后期处理)。仅仅是尝试开始思考让这一切在60帧的情况下运行的过程就已经是非常的令人困惑了,但游戏开发者在梦中可以做这些。

我们必须是焰火师。我们必须理解火、爆炸、物体的毁坏、抛物弧线和伴随而来的热量。我们必须使这些让人感到危险。再读一遍这个句子。我们必须使它让人感到危险。一个不是真实世界的东西是无法伤害你的。但它必须能吓到你。它必须让你感到震惊并使你感到你就在那里,你会被烧伤或受伤。我们作为一个游戏开发者必须仅仅通过神奇的代码,让这虚拟的世界真实,否则你不会去玩。

我们必须是战术家。能使敌人在地图中移动或根据与玩家动作的关系进行动态的“思考”并不足够好。他们必须能使用有效的战术来对抗你,否则那会太简单。好的游戏开发者必须会像一个身经百战的军事单位那样思考——通常需要经过数年的艰苦训练,否则人们会很容易做到比游戏更聪明,并觉得游戏太简单了。

我们必须是设计师。游戏必须要让人能沉浸其中。它必须要能吸引你并使你忘记外面的世界。这是成功游戏的关键。但为了做到这些,游戏开发者必须理解布局,组合,场景景观设计,室内设计,以及颜色、灯光、阴影的使用。他们需要学习一些如黄金分割(中文wiki)之类的东西并能准确的运用,不然人们不会沉浸于游戏中的。

我们必须是导演。游戏从最根本来说,是一种类似电影式的体验。我们必须感受到冒险。人们必须说正确的东西,事件必须按照正确的方式发生。这使得游戏中过程化的内容制作更加困难,因为开发者没有能让游戏正确进行的参照。因此他们必须让游戏自身知道如何正确进行。他们必须教会游戏如何才能有趣然后信任它能做到。想一想这些。

最后,游戏开发者必须有坚强的情绪。一个人或团队投资如此多的时间、金钱、精力与爱去做一个项目一年到五年并把它磨成他们的杰作,这是十分个人化的事情。最终他们需要建立把他们创建的个人世界公开的展现的勇气——他们的脆弱、希望、恐惧,显然这需要很大的勇气。需要更大勇气的是,面对藏在网络匿名的面纱之下轻率的朋克大军系统化的去尝试摧毁这个注入了如此之多个人情感的心爱的东西。然后你学会了忍受,不久之后也慢慢的免疫了。人们的噪音不会比这美妙的东西的召唤声音更大。Neil Gaiman说过(译注:原文的u2b链接,访问请自行解决……)—— 如果你在做你能为之自豪的东西但钱并没有随之而来,至少你还有这些东西。一个游戏靠发者必须要应对,当某些人说了关于他们创造的作品的一些无知且伤人的话时他们的灵魂一点点被摧毁,但当接收到赞美时又重建起来这种情形。人们进入他们的小世界并被震惊,没有什么比这更好的感觉了。

但还有一件总是伤人的事情——当某人说:“哦,你做游戏?那些不是很简单吗?”

不。一点也不简单。约翰 卡马克(John D. Carmack),世界有史以来上最伟大的游戏开发者之一,在做游戏的闲暇时间里去做火箭科学。真实的火箭科学,作为休闲。

基本上这篇小小的碎碎念是写给那些没有意识到游戏开发所涉及到的东西的人们。为那些因为箱子从架子上落下来的方式而抱怨而不是仅仅笑着享受游戏的人。

给那些希望获得更多的了解成为一个游戏开发者所需要的东西的人,我非常非常的推荐读这本书(译注:汉化版的这本书),以及看这个电影(译注:这里是豆瓣链接)。

我知道这是篇个人观点的文章并且你可能不同意我所说的,但坦诚的说我并不关心。游戏开发所需要的那种奉献、技能与情绪投资需要被人们更好的认识到。


译文到此结束。

转载于:https://www.cnblogs.com/ylqcnblogsylq/archive/2012/09/06/Translation_TheTrialsOfTheGameDeveloper.html

[译]游戏开发者的试炼相关推荐

  1. C#和Unity游戏开发者大师班2021 (2D,3D和FPS)

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确) |大小:11.1 GB |时长:22h 31m 含项 ...

  2. Unity制作第三人称射击游戏-成为创新游戏开发者学习教程

    用Unity游戏引擎学习和制作第三人称射击游戏-成为创新游戏开发者- TPS战地克隆 你会学到什么 Unity 3D游戏开发 如何打造TPP第三人称射击游戏 第三人控制者 第三人称动画 第三人运动控制 ...

  3. 没水?没电?从非洲难民到美国华盛顿知名游戏开发者,有梦想的人,世界会为他让路!...

    大表姐导读:妈妈辛苦三年攒下300美元给他买了台电脑,当拿到电脑的时候,他泪流满面.战乱.饥饿和贫穷,如果有一样东西可以阻止你的梦想,那样东西就是你自己. Lual Mayen: From refug ...

  4. 10个步骤:如何成为iPhone游戏开发者

    2019独角兽企业重金招聘Python工程师标准>>> 10个步骤:如何成为iPhone游戏开发者 译者:darrenest Neil Ferguson,是iPhone 游戏「病毒攻 ...

  5. flutter能开发游戏吗_游戏开发者都擅长“打自己的游戏”吗?

    作者:箱子 Vice 记者 Patrick Klepek 最近在推特上发起一个话题:身为游戏开发者,你是否擅长玩自己的游戏. 得到的反馈出乎意料,相当一部分设计师.美术.作家都站出来承认:即使是自己参 ...

  6. 为什么说Android才是游戏开发者的乐土?

    游戏向来是硬软件性能.多样输入法以及图形支持等技术发展的强劲推动力.以安卓平台为例--在可预见的未来,相比其他应用,游戏及其玩家更能促进市场发展并带动游戏设备升级.尽管安卓平台已相当成熟,但发展的步伐 ...

  7. 为游戏开发者总结的20个 Unity 建议和技巧

    Unity是一款非常流行的游戏开发软件.它的功能令人印象深刻,也能够适应不同的游戏开发要求.游戏开发人员可以使用Unity创建任意类型的游戏,从世界级的RPG游戏到最受欢迎的增强现实游戏Pokemon ...

  8. 腾讯云为小游戏开发者升级工具箱 小游戏联机对战引擎免费用

    由微信小游戏举办的"微信小游戏创意大赛"正在火热进行中.12月23日,腾讯云宣布,除了给参赛者提供基础云资源,还将提供更多工具支持.开发者在通过初赛后,可免费使用腾讯云" ...

  9. 游戏安全有多重要?——GAME-TECH游戏开发者技术沙龙

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云+社区运营团队发布在腾讯云+社区 腾讯云GAME-TECH沙龙继3月深圳站后,将于4月13日来到北京站,与游戏厂商和游戏开发者,畅聊 ...

最新文章

  1. 光敏电阻与光强之间什么关系?
  2. eclipse java jar源码,eclipse查看Jar包源码
  3. 十步完全理解 SQL
  4. 【数据挖掘】贝叶斯公式在垃圾邮件过滤中的应用 ( 先验概率 | 似然概率 | 后验概率 )
  5. hdu-1104-Remainder(BFS打印路径+数论)(%与mod的区别)
  6. Python threading Thread多线程的使用方法
  7. maven使用testng_使用ReportNG更好看的TestNG HTML测试报告– Maven指南
  8. 自测目标 题库进度 0929
  9. ubuntu14+vmwear联网
  10. 转件工程--实践者的研究方法阅读笔记1
  11. html 弹出框显示到最顶层,layer弹出层显示在top顶层的方法
  12. 算法竞赛入门经典(紫书)第四章——Spreadsheet Tracking UVA-512
  13. 网络攻防技术——MD5碰撞试验
  14. php封装成应用系统吗,用Portal来集成外部应用程序_php
  15. 最大值最小值计算机一级,excel怎么找最大值和最小值 excel怎么计算最大值减最小值...
  16. 【无标题】vue elementPlus表格数据导出Excel
  17. “AI颜狗”来啦!第一眼看到照片,就能预测人们对你的第一印象
  18. JAVA商城项目(微服务框架)——第11天 elasticsearch搜索
  19. FPGA学习日志——三八译码器Decoder
  20. 高精地图编辑生成 opendrive OpenSCENARIO

热门文章

  1. Berlekamp-Massey 算法
  2. 避开QQ聊天时遭受攻击的安全技巧(转)
  3. VBS将QQ信息聊天式转换为文本
  4. android开发技巧杂谈
  5. php教程徽章,PHP-有什么想法可以改善我的徽章系统?
  6. windows程序设计——飞机大战笔记(单文档文件登陆界面)
  7. 【OpenPose】1.OpenPoseDemo文件的使用与解读
  8. 深度学习/机器学习入门基础数学知识整理(七):数学上sup、inf含义,和max、min的区别
  9. 审计数据在EntityFramework中的解决方案
  10. 浏览器——》在浏览器上编写文字