在上期的《开发之旅》中，我挑选了要用的游戏引擎
——也就是 Unity
——而且我还开始学习它的用法了
那么，时机已到，我也该聊聊自己对于未来游戏的灵感
以及，正式开始做这款游戏了
话说回来，开发游戏这条路，又该从哪里出发呢？
我觉得这是个非常重要的话题，因为接下来我就要讲讲
如果你在开发初期选择了错误的方向
这种错误可能会毁掉你的整个游戏项目
我们开始吧
首先，我要聊聊我对这部游戏的想法
我打算做的游戏是…
仔细听好，可别被惊掉了下巴…
一部 2D 的、横版的、平台跳跃游戏
行吧，我承认，横版的平台跳跃游戏对独立开发者来说超级常见
但对这个决定，我也有我的理由:
我是这个类型的铁粉
平台跳跃游戏是一种相对比较好做的游戏类型
—— 至少比开发 MMO 简单
而在此之前，我也做过好几期平台跳跃游戏中，关卡和角色设计的视频
它们应该也能派上用场
下一点，还是仔细听好，别吃惊：
"一部有独特机制的平台跳跃游戏"
我的想法是，这部平台跳跃游戏的主角将具有磁力
也就是说，玩家可以被某些物体排斥开，也会被一些物体吸引
而玩家则可以随时通过某个按钮改变自己的极性
而我的灵感来源，则是这部游戏：
《塞尔达传说：大地之章》
这部游戏中，玩家会获得一对磁力手套
这双手套可以让林克被某些物体排斥开，或者被吸附到一些物体上
你也可以使用这双手套来举起大铁球，从而解谜或者战斗
这套机制真的很酷，但我总感觉它没有被做到极致
这款游戏的类型、视角
还有 GB 当时的机能都限制了这个机制的发挥
所以我就想…… 也许我可以借鉴这个机制，把它放进我自己的游戏中？
一部快节奏的、2D 的平台跳跃游戏
一部类似于《蔚蓝》或《超级肉肉男孩》那样的游戏
在这部游戏中，你必须完全掌握磁力机制
从而最大化自己操作的速度、流畅度、精度
而这，就是我大致的想法了
那么下一个问题是:
我应该从何处下手，开始制作？
我应该直接跳进引擎里，开始写代码吗？
或者我应该先打开 PS，为游戏画些概念图什么的？
我要不要先把游戏的故事和角色设计好？
我的第一步，到底应该先干什么？
我就实话实说了吧:
其实这并不是我第一次做游戏了
在我还是个孩子的时候，我脑子里的游戏点子就没停过
在我人生的好几个阶段中，我都尝试过使用各种工具把这些点子做出来
但做完了的游戏，却一款也没有
而我放弃的理由基本也没变过:
开局的方式不对
让我细细道来
最近我从父母的房子里翻到了这个文件夹
里面装满了各种笔记、草图、点子
在我还没开始做视频的时候，我想要做一部游戏，而这些东西因此而生
这好像是《星际争霸：幽灵》的周边鼠标垫
这部游戏后来好像是被暴雪腰斩了？
把它挂到 eBay 二手交易上，说不定还值几个钱呢
我当时给这个游戏取名叫《卡特的诅咒》
游戏的主角是一位著名的考古学家，霍华德·卡特
就是发现了 "图坦卡门墓" 的那哥们
在我的游戏中，他意外激活了一个远古法老的诅咒
导致自己不得不和僵尸、木乃伊、古埃及神灵大战
我还记得，那时的自己花了数不清的时间来画这些东西
我们宅宅是这样的～
那么，玩家和敌人该如何战斗呢？
答案是，玩 "数织游戏"
数织是一种基于网格的、逻辑解谜游戏
和数独有点像
任天堂做过一大堆数织游戏
那是我的灵感来源则是《书虫大冒险》
在这部游戏中，屏幕的下方是一个拼字谜题
解开谜题，则会在屏幕上方的战斗中对敌人造成伤害
而我当时的想法也差不多:
屏幕的下方是一个数织网格
而霍华德·卡特则会在屏幕上方和各种怪物大战
然后，我就立刻开始开发了
我当时使用的工具是 iPad 上一款叫做 Codea 的软件
它可以让你轻松的用 iPad 制作 iOS 游戏
在此之前，我已经用它在 iOS 上做了一款普通的数织游戏了
所以我觉得自己多半能编程出计划中的游戏
不过，我想保证游戏的画面看起来很好
所以我启动了 PS，画了一大堆的美术素材和动画
我的 Dropbox 中至今还存着这些素材和动画呢
我做了一大堆，各种各样的角色
我为霍华德·卡特画了终结技动画
我画了游戏的开场动画
我画了游戏的全套 UI，设计了按钮外观
我当时真是非常投入
但紧接着，我意识到了不对
我意识到了一件很重要的事
一件对整个项目造成毁灭性打击的事：
这游戏一点也不好玩!!
它玩起来很糟、非常的无聊
而我编程的越多、开发的越深
就越是意识到这游戏有着严重的问题:
数织对于这类游戏来说，根本没有足够的深度
玩家没法作出任何战术、策略上的决策
玩家没法根据遇上的敌人改变自己的行为模式
到了最后，在这部游戏的战斗场景中
整个上方屏幕是可以被完全无视掉的
这不会对游戏行造成任何影响，因为从始至终你只是在玩数织罢了
这也意味着，我没法
通过不同的敌人设计来让游戏更难、或者更有趣
这也意味着玩家一直在做重复劳动
我做了一款肤浅、单调、无聊的游戏
也许它还有被挽救的机会
但当时，我的进度已经太深了，这完全击溃了我的意志
最终，我直接砍掉了整个项目
那么，我犯了什么错呢？
在这么多年之后，作为一个 "事后诸葛亮"
经过了快十年的学习
其实我犯的错还挺明显的
是这样的:
开发游戏的过程，由好几种不同类型的创作组成
其中的大类有
音乐、美术、游戏设计、叙事、以及编程
尽管人们很容易平等的看待这几项内容……
事实却并非如此
在大部分情况下，"游戏设计" 和其他元素并不在一级
事实上，游戏设计更像是为其他几项内容打的地基
如果这部分做错了，则整个房子都立不起来
我是说，代码可以重写，美术可以重画
但如果游戏的玩法从根本上就很烂
有时候，整个项目都会变得无法挽回
而这就是发生在我身上的问题了
我在美术和动画上花了太多的时间
所以当我终于开始打磨玩法时
我才发现，整件事都被我给搞砸了
我等于是建造了一栋空中楼阁
所以当我的马桶砸穿地板时，这一切也就说的通了
尴尬的是，这种事情其实，发生在我身上不止一次了
我过去曾想过，要做一部黑暗电影风格的点击式冒险游戏
这部游戏中的线索将会有一套独特的肉鸽生成系统
—— 为此我花了大量的时间来编写故事、研究当时的历史
但却其实从来没着手设计过那套线索系统
我想要做一版节奏更快、玩法更现代的手机贪吃蛇游戏
但我把全部的精力都用在了修BUG、调试手感这些东西上
结果我连游戏性都还没考虑，就已经厌倦、放弃了这个项目
每次，当我想要制作一款自己的游戏时
我总是把玩法以外的事 —— 譬如故事和画面 —— 看的太重了
为什么呢?
我认为，这种错误主要来源于两种常见的误解
第一种误解是，每个新点子出现在大脑的时候，都会显得很有趣
所以我就会假设，"这个游戏被做出来后一定很好玩"
但很显然，这种假设是错误的
而第二种误解则是，"直到游戏做出来，我都没法确认它是不是真的好玩"
所以我只能先动手，把游戏的完成度推到能够看出它的质量为止……
真的是这样吗？不，大错特错
回首过去，真的让人扼腕叹息
因为答案在今天如此的明显
但直到几年前我都对此一无所知
—— 因为那时我还没有开始做《游戏制作工具箱》
通过这档节目，我才开始真正研究游戏开发
在采访了无数游戏设计师后，今天的我才能知道游戏开发的成功之道
要知道，游戏设计师的脑子里无时无刻都在蹦新点子
而点子这种东西，在脑子里都感觉棒极了
但那些最好的设计师们都知道，大脑是一个多爱撒谎的骗人精
检验一个点子质量的唯一方法就是把它做出来、然后上手测试
但与其去制作整个游戏
设计师们通常只会做一个……"原型"
所谓 "原型"，是对点子的一种简单、粗糙的实现
唯一的目的就是帮助设计师确定它是否真的好玩
大部分原型看起来都其貌不扬
它们通常用着半成品的美术、基础的模型、或者从其他游戏偷来的素材
它们通常 BUG 满满、问题百出、内容空洞
只有那些用来测试玩法的功能和元素
它们是一个游戏点子最基础的具现化
用尽可能快的速度做出来，只为了检验某个点子的可行性
它足够好玩或者有趣吗?
它值得进一步的打磨吗?
它对于游戏的其他部分来说，配当一个稳固的地基吗？
而这正是接下来我打算做的
这一次，我不会再犯过往的错误
我会集中注意力，先做个原型出来
我会极度的自律，除了测试这个游戏点子外，不做任何额外工作
因此，在美术方面，我打算直接用谷歌图片找现成的
它不会有任何音乐，也不会有任何故事
我甚至不会给这部游戏、或者我的角色起名字
我绝不会连游戏的还没开始做，就先给它设计图标——
往事不堪回首啊
代码一定会有很多 BUG 和错误，毕竟我是个 Unity 新手
但我想我的能力对于测试一个点子来说绰绰有余
我只要为游戏搭一个积木盒子，然后测试它是否好玩就够了
那么，让我们启动 Unity，正式开始吧
我的第一个目标，是做出一个可以左右移动和跳跃的角色
所以当玩家按下相应的按键时，我会给刚体施加一股力量
而这已经开始出问题了——不能算开门红，但总之最后解决了
然后，我在场景中放了一个磁铁
接下来我得让玩家被磁铁吸引着靠近
要做到这点，我需要有成熟的编程能力
于是我全力运转大脑，将编程功力发挥到极致
紧接着，舞动我的手指，在键盘上打出……
"我该怎么让一个刚体向着另一个对象移动?"
行吧我承认，我直接去谷歌了
我找到了相应的代码，然后偷进了自己的项目中
不过，我还是确保自己完全明白了背后的原理
——简单来说，就是找到磁铁相对于玩家的方向
然后对着相应的方向，在刚体上施加力
我还调整了代码，让磁铁吸附玩家的速度，随着距离靠近而变快
再然后，我又加了一个按键关闭磁力的功能
与此同时，这个功能还可以在磁力消失时保持玩家的动能
从而让他们飞向天空
基于此，如果我在这里放下一个平台
我可以让玩家通过在适当的时候解除磁力，被吸附到这里
这一套下来，虽然感觉不错……
可游戏变的有一点太难控制了
我的代码并不完美，游戏很容易失控
但随着我进一步的研究，我在 Unity 中发现了个相当有用的东西
它是一个叫做 "点效应器" 的引擎内置组件
它的效果嘛……基本上就是一块磁铁
难以想象之前我是怎么错过这东西的，它的图标直接就是块磁铁
它是这样运作的:
你为一个游戏对象赋予碰撞体和点效应器
然后设置它的吸引力强度
现在，当一个刚体与碰撞体重叠时
它会直接被吸引到磁场的正中心
你还可以搭配上 Unity 的图层蒙版系统，来让它仅吸引特定的对象
这大大降低了我游戏的制作难度
因此，我决定重新做一个新版的原型
而这一次，游戏感觉正常多了
我可以很轻松的做出调整
我也可以做些更酷的尝试，例如将吸引点固定在磁铁的两极上，它就会这样
——看起来相当不错吧
但在我制作第二个原型时
不知怎么的，我突然决定不再继续使用马里奥
转而用一张磁铁的图片作为玩家操控的角色
紧接着，这启发了我:
比起让磁铁来成为游戏角色
我能不能在游戏中放置磁铁，让它们可以被玩家靠近和捡起来呢?
为了实现这一点，我使用了 Unity 的关节系统
这也是一个引擎内置的组件
它提供了各种关节、例如铰链和弹簧，可以让我将两个刚体连在一起
而现在，游戏的角色需要手持磁铁
当磁铁被一块金属所吸引时，它会带着玩家一起运动
而当玩家松开磁铁时，他们则可以自由的行动
而我之前设想的玩法
也就是理由磁铁的动能来把玩家运送到更高的平台
仍然可以通过在半空中松开磁铁来实现
除此之外，它也给设计添加了更多可能性，例如一个场景中可以有两块磁铁
你还可以，比如说
将一个磁铁吸附在这里，然后让敌人向着你走来
紧接着，你关掉磁力——啪唧！
唔，听起来还蛮酷的
或许是个可行的主意
突然间，游戏好像变得比我最初的点子更有趣的多了
而在这之前，我得承认自己还有点担心这一点
当你的角色被磁铁控制，持续的被吸引和排斥
玩家很容易就会感觉一切有点脱离自己的控制
但通过将磁铁作为一个单独的物体
玩家将会在一半的时间中获得完全的掌控权
只有在捡起磁铁后才会体验短暂的失控
在此之前，我还有一点担心自己会灵感枯竭
毕竟让磁铁当玩家，可没法给游戏创造多少发挥空间
而在我将磁铁和玩家分开后，灵感一瞬间就全部涌上来了
再者，我很喜欢那种、玩家可以在回头路上体验全新玩法的游戏
比如在《超级马里奥：奥德赛》中，你不戴帽子时的操作体验截然不同
在我的游戏中，当角色不拿磁铁时，它会很灵活，跳得很高
而手持磁铁则会让它迟钝而缓慢
——不过当然了，手持磁铁时玩家也会获得独特的惊人可能性
到了这一步，当一个更好的点子随着开发涌现出来时，我也习以为常了
就像我在往期的 GMTK
"那些自己设计自己的游戏" 中提到的一样
在原型阶段，出现新的点子时一件很正常的事
比如说，《节奏地牢》
在这部游戏的初版设计中
它只是一部每回合时间非常短的，回合制肉鸽游戏罢了
但随着设计师开始制作，他们发现这部游戏可以变得更加有趣
于是，将每回合的倒计时，变成了让玩家卡着音乐的节拍玩
因此，一个原型不仅仅能够帮助你验证点子的可行性——
它还可以用来帮助你想出更多、更好的点子
在开发过程中，我又发现了一个 Unity 的有趣功能:
它的名字叫做 "Sprite Shape"
它一般被用来制作那些很酷的原创关卡设计
比如《奥日》中就大量使用了它
但对我来说，只要一个纯色的色块就够了
这能够让我以非常快的速度设计关卡
我只需要简单的拖动把手，将原型区域拼接在一起就够了
和 PS 的工作方式差不多
于是，我再一次制作了原型
这一次，我希望游戏角色的操作手感可以好一点
可以更贴近一部成品游戏的手感
不过这一次，我不想再浪费时间去为移动和跳跃编程了
于是我直接从网上下载了一套角色控制的脚本
它的质量很高，让我可以把精修操控手感的计划留到未来处理
而现在，我不想在这上面花太多时间
接下来，我在开始在原型中进一步探索机制
例如允许玩家将磁铁扔出去，或者召回手中
就像索尔和雷神之锤一样
而因为召回过程中磁铁与玩家的刚体会相撞
玩家在磁铁到手的一瞬间也会有相应的反作用力
这种流畅的游戏感，体验相当棒
再然后，我又为磁铁想出了好几种不同的使用场景
例如将它扔到墙上，人工创造一个平台
或者将它与活塞相连
在你关闭磁性的一瞬间，磁铁会被反作用力推飞
又或者通过切换它的极性，让磁铁可以在两条传送带之间来回切换
或者利用重力把平台拉下来，让角色跳上去
然后切换磁铁的极性，让平台把你发射到空中？
哇哦，好像越来越有趣了，不是吗?
它终于开始有个游戏的样了
它终于开始变得好玩了！
也就是这时，我真正确信了自己的游戏点子，确实有不错的潜力
它是原创的:
我见过一系列利用磁铁的游戏，但还没见过类似的玩法
它既可以被用于平台跳跃，也可以被用于解谜玩法
这个点子似乎上下限都很高，允许我设计从易到难的大量关卡
而且，最重要的是，这个点子玩起来很有趣
仅仅是在 Unity 的预览窗口中跳来跳去，就已经让我觉得很好玩了
而这，无疑是个好兆头
而这，也是所谓 "原型" 蕴含的力量
你可以用它们来测试游戏点子的可行性
幸运的话，你还能在原型开发阶段取得新的灵感
不过，要用好原型，自律仍然是不可缺少的
你一定要管好自己、告诉自己
"我绝不会关注任何细枝末节，我只关心玩法"
而要做到这一点，其实很难
在本期视频里，我还没有告诉过你
我浪费了整整一周时间，挑选粒子效果、着色器、UI之类的东西
——当时的我克制不住自己的老毛病
被那些，现阶段根本没有意义的东西牵着鼻子走
不过幸运的是，我悬崖勒马，废弃了那个原型
然后将注意力放回了真正重要的事物上
而最终，成果是喜人的
我终于做出了一些自己觉得很好玩的东西
我做出了具有潜力、能够激发我的热情的东西
在我多年前尝试制作的那些游戏项目中
一切都围绕着一种 "这部游戏会很好玩" 的盲目自信开发
而这显然不能算是一种正确的游戏制作方式
而这一次，我打造的房屋有了一个坚实的地基，能够让我在其他的方面
——也就是故事、音乐、美术
——当我打造这些元素时，我的脚下生根，坚信自己的地基时牢固的
因此，我认为这就是制作游戏时，正确的起跑点
——先做个原型
现在，我心中唯一的疑虑则是:
妈耶，那我接下来该干啥啊……
我猜，答案会在下期节目中揭晓吧
在下一期的《开发之旅》中
非常感谢你的观看，期待你能在下期节目、乃至这场旅途中陪伴我
再会
（先别急着关，视频末尾还有彩蛋）
而我的灵感来源，则是这部游戏
《塞尔达传说：大地之章》
靠，拿反了
则是这部游戏……啊这
噗噗噗噗噗噗～
则是这部游戏
是这部游戏
这部游戏
部游戏
这部游戏：《塞尔达传说：大地之章》
来自于
而我的灵感来源，则是这部游戏:
《塞尔达传说：大地之章》
就这样吧……