牛顿第三定律告诉我们,要推出一个什么东西,就必须要留下个什么东西。在这里我留下我的一些个人经验和见解,希望能给想要做做自己心目中的游戏却又不知道如何下手的人一些帮助,也希望能为自己做的个人游戏打打名气。
首先让我们说说什么是个人游戏。参考维基百科的定义,个人游戏一般是指不借助游戏发行商经济支持的小型团队或个人所做的电子游戏。自2005~2010年间开始兴起,比较具有代表性的有《我的世界》、《时空幻境》、《流》(又译《浮游世界》)等。如果你想自己或者找几个小伙伴一起做一款自己心中的游戏,那么毫无疑问你的游戏就属于个人游戏范畴,那么你就很适合读这篇文章。接下来再说说做一款个人游戏需要一些什么。
首先,你需要的是做游戏的热情和持之以恒的耐心。
做游戏并不是一个轻松的活,不管你是打算全职,工作之余,还是学习之余做游戏,都会需要你很多的时间。如果你没有一腔热血和一定耐心是无法做好的。举几个我比较熟悉的游戏作为例子:《时空幻境》(《Braid》,《个人游戏大电影》中的主要介绍的游戏之一)从05年的12开始着手开发,直到08年8月才发售,历时将近3年;《粘粘世界》(《WorldofGoo》,作者曾在《个人游戏大电影》中出现过)的游戏开发是从06年8月开始的,而在08年10月才最终发售,历时2年2个月。当然也存在一些比较极端的个例,曾火过一时的《FlappyBird》据说只用了一个星期开发出来。不过这种情况毕竟是少数,而且《FlappyBird》其实游戏也比较简单,因此也比较容易开发。如果你想要做一个游戏的话,那么请做好长期备战的准备。
接下来说点实在的,制作游戏具体需要什么。简而言之你需要的是游戏开发工具和技能。
先说说开发游戏需要的技能。在一个游戏的开发过程中,笼统地来说,必须要有程序(Program)、策划(Design)、美术(Art)三个方面的工作(当然还有音乐,不过就我的经验来说音乐并不是大头)。策划主要负责包括游戏玩法、关卡设计、剧情、人物性格、平衡性等关于游戏性相关的几乎所有东西;美术主要负责场景设计、人物设计、整体画面美术感等与图像相关的几乎所有东西;程序则主要负责游戏的功能实现、优化、修改BUG等关于功能性的几乎一切东西。如果你有一个小团队,那么你需要在这三个方面都有人负责就好。如果你是光杆司令一个,那也别急,像《时空幻境》的开发者就只有一个人,《我的世界》早期可以说也只有一个人在开发。对于策划,你可能需要知识面比较广,一些空间逻辑,最重要的是需要了解游戏本身。对于美术,你可能需要的是一些基本的绘画技巧,一些美术技术比如PS,可能一些作画工具比如手绘板,最重要的是需要一个良好的美术感。对于程序,一些数学基础,一些编程基本知识,最重要的是需要一个良好的逻辑。然而最最重要的一点,还是自学的能力。个人,对于一个好的游戏开发者,他/她的技能都是自学而来的。在这个信息满天飞的年代,各种资源都能在网上找到,自学并不是一件很难的事情。
再来说说游戏开发工具。开发工具是什么?简单来说就是游戏引擎。比较熟悉的有Unity,虚幻引擎(UnrealEngine)等。为什么要用开发工具?俗话说巧妇难为无米之炊,游戏开发工具对于游戏来说就像是纸笔对于文章。不过这里我用“游戏开发工具”一词,而不是直接用游戏引擎,是因为游戏引擎其实并不是必须的。电子游戏本质上只是一个应用程序,因此只要是能够开发出应用程序的任何工具都可以,只是可能会比较麻烦。游戏引擎本质上来说也是应用程序的开发工具,然后它却是深度定制开发工具;一般来说程序开发工具是专为程序员提供和使用的,但是游戏引擎也能被美术和策划使用。简而言之,游戏引擎能够缩短许多游戏开发的时间。在这里我推荐几个比较热门的引擎,一个是Unity3D,一个是UnrealEngine4。推荐的原因是因为这两个游戏引擎的功能都很强大,对于初入个人游戏开发上来说几乎是免费的,并且最重要的是网上对于这两款引擎的资料很多(UnrealEngine4资料稍微少一些,毕竟刚出)。想要了解如何使用这两款引擎,可以进入他们的官网观看教学视频和文章,了解如何使用他们的引擎,不过要注意你可能需要一些英语水平。不过国内的文章也不少,你也可以看看别人的文章,不过我还是强烈建议看引擎开发者他们原版的视频。
对初入个人游戏的开发者一些建议。
一开始不要将目标设得太大。任何人都无法一步登天。不要想着一开始就能做出《魔兽世界》或者《最终幻想》或者《LOL》之类的游戏。首先可能你喜欢的那些大游戏,基本上都是数十人以上有经验的开发团队做出来的,要让你一个或者几个人做出来根本不可能。你首先需要的是:一步一个脚印,首先做一些自己能力范围内的小游戏。如果你在几个月的时间里面做出了俄罗斯方块或者超级马里奥,那么你可以非常自豪了,因为对于初学者来说,这真的不容易,好好犒劳犒劳自己。如果你给别人玩的时候,别人对你的游戏说三道四地,那也不要紧,因为你下一次做肯定会做得更好。
接下来说说如何开始你的个人游戏之旅。
想想看你最喜欢的游戏,无论是《最终幻想》、《超级玛丽》、《红色警戒》还是其他的,也无论是10年前的游戏还是今年的新作,一款游戏的制作过程都是从简单到复杂的。许多游戏都会有一个早期版本,在这个早期版本里,游戏的核心玩法与要素已经融于其中,但是也许你根本无法从这个早期版本中体会到成品游戏中的乐趣所在,这样的版本通常叫做Prototype(原型)。举个比较著名的例子,大家都听过的《植物大战僵尸》在早期的版本中,画面无疑非常糟糕,植物不会摇摆,僵尸走路都没有动画,僵尸和植物的种类就只有那么几个(很抱歉找不到图片,不过和完成版的差别确实是很大的)。这就是原型的模样。说到这,你可能已经知道你的第一步要做什么了,那就是一个游戏的Prototype。那么一个游戏的Prototype里面究竟会有什么东西呢?
一个游戏的Prototype,通常来说需要包含你的游戏的核心玩法或者核心功能。打个比方来说《超级玛丽》,什么才是超级玛丽的核心玩法呢?也许你会说是乌龟?是太阳花?是蘑菇?是云朵关?其实都不是。行走和跳跃才是这个游戏的核心玩法(这也是平台类游戏的核心玩法)。少了这个游戏的核心,其他的酷炫功能都无法做出来。所以说行走和跳跃才是这个游戏的核心;哦对还忘记说有重力。那么你的或者你们的游戏的核心玩法是什么呢?这只有你们自己去领悟了。但是一般来说一个好的游戏的核心功能都会是简单易懂的,所以如果你发现自己游戏的核心太过庞大或者复杂的时候,要不就是你的游戏设计的过于复杂,要不就是你归纳出来的核心不太正确。那么在你归纳出核心的功能之后该做什么呢?
总结了一个游戏的核心玩法之后,接下来就要去实现它了吧?说的没错,但是也说错了。确实是要实现这个核心玩法,但是在此之前你还有其他的事情要做:做时间表。一来是为了划分任务和功能,二来是预估制作时间。
再拿上面马里奥的例子来说,需要实现马里奥的行走和跳跃,那么首先可能需要一个可以走的场景,为了尽量简化时间,我们可以先做一个没有任何障碍物的关卡,比如只有一条直直的地面。考虑到你可能需要熟悉引擎什么的,所以可以考虑这个功能要花一周的时间。另外不要觉得这个时间久,因为你根本不知道在做这个事情的过程中发生什么,比如可能你光是下载和安装配置引擎就花掉了3天的时间。就算是熟练的游戏工作者,他们在计划好时间之后都会延长30%~50%的规划时间。
那么再来建立一个人物,你可以随便画几笔,或者直接拿马里奥的截图来用一用(如果你在担心版权的问题,那大可不必,虽然有这个意识是好的,但你的游戏还早着呢。只要在发售的时候不做出这种事情就好)。这可能需要你3天左右的时间。
然后再来给马里奥增加移动的功能。考虑到你可能需要看教学视频,熟悉编程,改改编译错误什么的,我们就估计做这个功能需要一周的时间吧。同理马里奥的跳跃也是如此,需要一周的时间。
现在算算下来,一个这样的只有走路和跳跃的马里奥,可能就要花掉你将近一个月的时间。然后一点一点把马里奥里面其他的酷炫功能加入进去。这样算下来,也许你会需要花掉半年甚至更多的时间!?不用嫌时间花得太多,因为每当你完成一个目标,你的速度就会变得更快,而且也会做得更好。
这样一个一个的功能时间点,一般称之为Milestone,意思是里程碑。每个大游戏都是这样,划分成一块一块小的功能点,然后再将之放入时间表中,形成许多milestone,再逐个把这些milestone做完,最后就能完成一个游戏的成品啦。这里还要再强调一次,不要把milestone设得太大,如果你有一个milestone,比如我要做一个马里奥里的乌龟,很明显这个任务就设得太大了。马里奥的乌龟,或者说游戏里的一个敌人包括了许多东西,比如乌龟的画,乌龟的行走,乌龟的碰撞、乌龟的人工智能(AI)等等。如果你直接说要做这么一个大东西,你可能会无从下手,那么你需要做的就是把这个目标再分解成许多更小的目标,一般以我的经验来说,milestone不要超过1周为好,而且越短越好。
将这样一个个Milesonte完成后,你就会有了你的第一款游戏啦。接着你要做的,是把这个游戏给你的朋友们玩玩,而且别害羞~~~给别人玩你的游戏会让你发现很多你自己无法发现的问题,比如游戏中的各种BUG,或者如何让游戏更好玩。接着你可以将这些反馈运用到你的下一个计划之中。你可以继续完善你的马里奥,或许你就会完成一款新的时代佳作;又或者就此停手开始尝试做其他的游戏,把这个游戏中学到的经验和技术运用到你的下一款游戏中去。顺带一提,我第一个做的游戏是俄罗斯方块,用MFC做的,而且画面丑到爆。
不管如何,为你的第一款游戏骄傲吧~