
如何完成一款游戏? 独立游戏制作
对于开发者来说,往往有三种类型的游戏特别具有吸引力:我想做的,我想做成的和我擅长做的。
我想做的游戏(Games I want to make),是指开发这游戏的过程本身很有意思。也许是这个游戏机制很有趣值得一试,又或者是这个人物很有特色,我想要将它实现。
我想做成的游戏(Games I want to have made),并不是要求过程有多有趣,而是更看重结果。有可能游戏内容是一个完全没有限制的(比如《 最终幻想 》加上《GTA》加上《星际争霸》等等),又或者是一个单纯的想法,但是并不需要趣味性来支撑我去实现它。
我擅长做的游戏(Games I'm good at making)是指那些和我本身性格符合,我又有过类似经验的游戏。就和其他艺术创造一样,每个人都会有自己特别擅长的领域,在这些领域,你就能完全发挥自己的才能或者说,特别有天赋。
在我个人看来,最有潜力(换句话说,至少你能够完成的)的项目往往是坐落于三者的交集之中。你想做的,代表着最初的初心和动力;而你希望做成的,本身就是一种决心的体现;最后你擅长的,就会增加项目成功的几率和减少失败挫折导致项目夭折的机会。当然,除此之外,最好还要保证有充足的时间和充分的资源。
2.赶紧开干吧
写下游戏的想法并不是代表已经开始制作游戏了。同样地,哪怕你写了上万页的游戏设计稿也不代表你开始了这个游戏的制作。又或者组建了自己的团队,或者画了些草图,开始了音乐的择选,这些都不算,只能说是游戏的准备阶段。
要记住一点:一个游戏,是可以被玩家玩的。如果都没有完成一个可供人去操作的东西,那么这就不是一个游戏。
很多人在有一个想法或者只是注册了Unity账号,又或者下载了制作软件,敲下了一行代码,就开始到处吆喝自己是独立开发者了,但其实,什么都还没有开始。
3.如非必要,不要轻易尝试开发新技术
总有些人喜欢尝试自己开发一款引擎,但是,真的有必要吗?如果已经存在合适的工具,那么为什么还要浪费大把的时间和精力在一些”不可能的任务“上呢?当然,开发一款属于自己的引擎,能让你更好的打磨自己的游戏。但并不是任何时候都需要的,真正需要你去定制自己的引擎的机会并不是那么频繁。如果太过执着于此,你就会发现你花在做引擎上的时间要远远多于你开发游戏的时间。
还是那句话,要记住,真正重要的是游戏本身,不要花过多精力在不必要的地方。
4.原型很重要
利用你现有的一切先完成一个原型。
有的时候,你可能会怀疑,在这里放一只蝙蝠合适吗?又或者在犹豫一些看起来更好的点子。通常,我发现其实真的很难靠想象去判断一个点子是不是合理,更多时候,在我开始制作了,才发现原来这个想法走不通。
所以,不要想太多,先做起来,实践是检验想法的唯一标准。
5.确保核心玩法的趣味性
你需要确保的一点是,游戏的核心玩法是真的有趣的。因为这往往是支撑玩家一直玩下去的最关键的要素。而最终,你会需要这个核心玩法来支持你开发下去。同样地,这也会让你后来需要做减法时更加容易做出判断。因为你必须了解你的核心在哪里。
而在做原型阶段,你可能会发现一种更有趣的核心玩法。如果是这种情况,你可以考虑采取这个新的核心玩法。
6.选择一个靠谱的搭档(不然就一个人能干多久干多久)
从很多方面来看,找到一个靠谱的游戏开发伙伴就和约会一样。也许一开始,你会觉得”技巧“是最重要的,”太棒了,我是一个程序员,而她是一个艺术家,完美的组合,让我们开始做吧!“但是,你往往忽略了其他的重要因素,比如性格,经验,时间和兴趣。就好比恋爱关系一样,你并不希望处于一个某一方并不"上心"的关系里。你可以在一开始,先通过一些小型的项目来试验,看下彼此是否合拍,能否长时间的合作。否则,如果游戏开发途中,一个关键的人员撂挑子了,那对于你来说会非常痛苦。
同样,对于你的搭档来说,你也需要让他了解到,你是可以信赖的,你有能力来完成这个游戏,这样,他也会更加放心。对于那些经验丰富的“大师”们来说,你很难仅仅靠一个想法去说服他们加入你的团队,毕竟有那么多点子都熬不到见天日的那一刻,不到最后完成时,人们也很难去判断一个想法是否真的有价值。所以,好的搭档往往是希望在你身上看到可以完成这个游戏的确定性。
当然,你也可以选择从网上找一些免费的音乐或者图片素材。作为一个美术师,我发现,对于那些仅仅只差美术的完成度很高的游戏来说,我反而能够提供更多的帮助。又或者你缺一个程序员……可以考虑自己学(如果我可以,你也可以的!),不然就试着用一些制作游戏的软件吧。
7.反复打磨应是计划之中
相信我,大部分的游戏开发过程是十分无聊和无趣的。这并不是玩,而是工作。有可能在某个节点,你会突然意识到自己在一开始计划和做原型的时候漏掉了很多——比如菜单,存取档,屏幕切换等。此刻,你也许会想咆哮“我他喵的是想做好玩的游戏,想要创造一个新世界,并不是花几个星期只是为了让功能菜单看起来不像一坨屎啊啊啊啊”。
更有甚者,一些过程在数量少或者工程量小的时候,还是很有趣的。比如说创造一个角色,画一两张设计图又或者动画还是很有意思的,但是,当你意识到你要画100个不同的角色时……
一旦你经历过几次之后,你就会意识到,从一开始就规划好你的项目是多么重要,至少避免你花太多时间在这些不可避免的泥潭中("太多时间"的定义是长到让你想要放弃的时间)。
但是,你也必须意识到,正是这些繁琐无聊的打磨,才使得你的游戏可以完整的诞生。哪怕是一个好看的标题,都会给游戏增色不少。
8.用奖励,竞赛或者其他活动来作为你的“DeadLines”
当Alec和我在制作《Aquaria》时, 独立游戏 节(IGF)的最后提交日期,不仅逼迫我们需要做一些困难的决定(包括整个大的方向的调整),更迫使我们需要更加现实地来面对我们的时间安排。
如果没有那个期限,我想我们很有可能无法完成这个游戏。这种比赛往往很值得参加,一方面是因为它们的最后期限就在那里,非常真实;另一方面,大赛的奖品(认可,奖杯,可能还有奖金)也非常真实。
更重要的是,他会给你提供一个和相似的人们建立联系的机会,你会认识很多和你一样的开发者们。
9.向前推进
感觉卡住了?那么就推自己一把吧。
跳过这个,先开始下一个关卡,下一个敌人,或者随便下一个什么。这不仅是为了维持你的兴趣,更关键的是,只有继续下去,你才能看到整个游戏的全貌是怎么样的。就好比写作一样,你并不会只有在确保每个句子都完美无误的情况下,才写下一句,而是一句一句地写下去。
至少,先完成一个大纲。
10.保证健康:身体和心理spacer.gif
当你在投入于完成一个游戏时,往往很容易忽略自身的健康。但是说实话,如果你不睡觉,不运动或者不好好吃饭,只会给制作游戏帮倒忙。最后,你会发现你没有在开发中完全发挥所有的潜力,只是在加深自己想要退出的念头。
对一个项目产生怀疑,是一个非常自然的过程,但是如果因此而患上忧郁症又或者染上疾病却是不应该的。当你的身体和心理都无法承受的时候,往往更加容易厌工——不想要继续开发下去。
所以,保证身心健康很重要,至少让你在与游戏开发抗争时,不那么痛苦,也不会轻易妥协投降。
11.别再为重头来过找借口spacer.gif
“(这次)我编程太烂了,但是我学到了很多。如果我重新来过,我肯定会做得更好更快,整个游戏也会开发得更顺畅!”
停!不是这样的。这种情况在游戏开发中非常常见:你的编程总是很烂,你总是会学到很多,游戏总是可能变得更完美。但是,如果你当真重头再来,很快会发现你还是会陷入同样的境地,甚至,是在同样的节点。因为,当你开始这样想的时候,就已经掉入陷阱了。
有个小笑话:一个人花了一辈子的时间去开发一个非常完美的游戏引擎,有了这个引擎,他只需要按一个按钮,然后就会有一个完美的游戏自动生成。好吧,其实这并不是一个笑话,我只是想说,他从没有完成,世上也不会有这样的引擎或者游戏。
如果你确信现在的组织结构非常糟糕,拖了后腿,那么,你也可以试着退回去,做一些“手术”除掉让你觉得不舒服的地方。如果你觉得这真的管用,但是会有一点困难,那么勇敢点,放手一搏吧!
12.留给下一个游戏吧
在游戏开发的途中,甚至是后期,你可能会突然冒出一个“屌爆了”的新想法,但是,你真的有必要去重头再来只是为了增加这个想法到这个游戏里去吗?
留给下一个游戏吧。
难道不是吗?这又不会是你做的最后一款游戏(希望是这样)。
如果始终无法完成,那么再伟大的想法也没有任何意义!所以,当务之急是先完成手头上的这个,把这个伟大的点子留给下一个游戏,或者下一个版本吧。
13.做减法spacer.gif
妈蛋,你发现落后时间线