-
在上期的《开发之旅》中,我挑选了要用的游戏引擎
-
——也就是 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之类的东西
-
——当时的我克制不住自己的老毛病
-
被那些,现阶段根本没有意义的东西牵着鼻子走
-
不过幸运的是,我悬崖勒马,废弃了那个原型
-
然后将注意力放回了真正重要的事物上
-
而最终,成果是喜人的
-
我终于做出了一些自己觉得很好玩的东西
-
我做出了具有潜力、能够激发我的热情的东西
-
在我多年前尝试制作的那些游戏项目中
-
一切都围绕着一种 "这部游戏会很好玩" 的盲目自信开发
-
而这显然不能算是一种正确的游戏制作方式
-
而这一次,我打造的房屋有了一个坚实的地基,能够让我在其他的方面
-
——也就是故事、音乐、美术
-
——当我打造这些元素时,我的脚下生根,坚信自己的地基时牢固的
-
因此,我认为这就是制作游戏时,正确的起跑点
-
——先做个原型
-
现在,我心中唯一的疑虑则是:
-
妈耶,那我接下来该干啥啊……
-
我猜,答案会在下期节目中揭晓吧
-
在下一期的《开发之旅》中
-
非常感谢你的观看,期待你能在下期节目、乃至这场旅途中陪伴我
-
再会
-
(先别急着关,视频末尾还有彩蛋)
-
而我的灵感来源,则是这部游戏
-
《塞尔达传说:大地之章》
-
靠,拿反了
-
则是这部游戏……啊这
-
噗噗噗噗噗噗~
-
则是这部游戏
-
是这部游戏
-
这部游戏
-
部游戏
-
这部游戏:《塞尔达传说:大地之章》
-
来自于
-
而我的灵感来源,则是这部游戏:
-
《塞尔达传说:大地之章》
-
就这样吧……