玩家时代娱乐#注册开放平台网站logo
门徒注册/登录平台
作者:管理员    发布于:2022-01-04 17:18    文字:【】【】【
对于独立游戏开发者而言,由于人手和资源的限制,往往会导致很多想法和内容无法做到游戏当中。不过,独立开发者Sherveen Uduwana表示,只要将每个项目积累的工具收集起来并不断优化迭代,即便是单枪匹马也能提升研发效率。
 
在2021年的GDC分享中,他详细探讨了如何清理旧脚本、并且让它们可以在多个项目当中使用,帮助同行们在没有庞大团队的情况下也能完成更大的游戏。
 
以下是玩家时代平台听译的全部内容:
 
Sherveen Uduwana:
 
我是一名做游戏研发的自由职业者,目前在研发一款叫做《中秋(Midautumn)》的游戏。之所以说我是自由职业者,是因为我不属于任何一个具体的工作室,在从业生涯当中,我大部分时间都在跟不同规模的工作室合作,主要是做外包,有时候可能只有一周,有时候会合作一个月,还有些时候可能兼职半年。
 
 
游戏业做研发有很多方式,但我的从业经验是,每一个参与过的项目、做过的内容都可以帮助我成长,以便在后来更快地做游戏研发,这也就是我今天主要想说的“代码库(Code Library)”。
 
这里需要提前声明的是,我只是一个单枪匹马的开发者,所以观点可能并不适合所有人,如果你觉得本文的有些建议不适合你,只要忽略就可以。我主要说的是帮我解决游戏研发复杂度的工具,尤其是当你远程工作、没有人可以讨论的时候,所以,如果你也遭遇这样的情况而且不知道如何解决,这里可能会有些方法帮到你。
 
 
做游戏本身就已经是很困难了,我们不要把它变得更难。
 
我记得《宝可梦剑盾》发布的时候,很多人说他们重复使用一些角色的模型,我对这样的做法是支持的,因为在有限的时间内,你没有必要给每个角色都做100种不同的版本。
 
所以有些东西是可以复用的,完成一个项目就已经足够令人生畏了,在第一款游戏的时候,你会学到很多不知道的东西,一旦完成,可能就会想要做下一款游戏。
 
第二款游戏的研发会更难,因为你已经知道了做一款游戏都需要些什么,而且也知道前一个项目做了什么。
 
如果你处于这个状态,那么我可以说的是,你现在比大多数开发者都有了更多的准备,就像是海上的蝙蝠侠,他已经知道了如何对付鲨鱼。
 
我们也可以像蝙蝠侠一样,游戏实际上就是一些组件合成的鲨鱼,你有需要解决的问题、植入游戏的功能等等,你首先要准备驱鲨剂,也就是代码表,然后做成能力腰带(代码库),当鲨鱼出现的时候,你就可以解决它了。
 
 
这里我说的代码库,指的是一系列有帮助的资源,它们是可复用的,而且是可复用很多次。它必须在某个地方留有备份,而且不止是代码,还包括所有能够帮你的工具,比如喜欢用的软件、设置检查列表、文档、经常看的视频或者文章等等,这些都应该被加入到你的代码库。
 
 
本质上来说,回到鲨鱼的问题,在你的代码库里,你想要所有的东西都能够解决一个具体问题,而且是可以复用的。驱鲨剂只能解决鲨鱼,所以代码库里的东西应该很轻、不需要大量的设置,还需要能够很容易与其他东西组合起来。
 
如何维护代码库?
 
在代码库当中,你很明显不需要整个项目的所有文件、有些在其他项目中不会出现的内容。但是,如果有需要的话,你仍然需要能够查阅这些资料。
 
还要注意的是,不要把不属于你的东西放进来,有些时候某些资源给了你授权,但过段时间之后授权过期,这些东西也不适合放在代码库当中,因为它可能在未来给你造成麻烦。
 
 
 
做代码库的基本流程就像是做家务,所以最好的时机就是完成一个项目之后、开始另一个项目之前。你要在旧项目当中寻找一些想要复用的代码、资源,把所有只适合这个项目的东西去掉,然后取一个容易记住的名字,放在能够很容易看到的地方,确保你有一个文件管理系统,这一点我们稍后再说。
 
主要提醒的是,不要想着把它做到完美,这只是一个良好的习惯,每天可能只需要投入几个小时的时间。而且你可能会忽视一些东西或者将一些不必要的东西放进去,这都没有关系,你可以在随后进行调整与修改。
 
我是如何识别代码库要放的内容呢?这里是一个非鲨鱼模型的游戏解构图:
 
 
它包括组件、核心内容、Meta机制和衍生系统。
 
 
比如这张图当中的象棋桌和棋子就是我所说的组件,在游戏里,就是角色、生命系统、物理效果、建筑等等。
 
 
核心内容包括游戏管理器、资源系统以及资源掉落相关的功能,它们将游戏组件变成了游戏;meta机制就像是象棋锦标赛,向其本身是有规则的,但锦标赛还有自己的规则,这样才能让参与者不断向上挑战,相当于游戏里的进度系统、任务系统等等。
 
 
接下来就是衍生系统,我把它比作锦标赛场地,这些建筑可能并不是专门为了象棋比赛而建造,就像是游戏里的菜单、本地化、存档系统等,无论做什么游戏,几乎都需要这些东西。按照这个方式理解游戏,你可能会更容易对能够复用的东西进行分类。
 
 
找到了这些东西之后,你可以把它存在版本控制平台,也可以存在各种云端软件。我是按照系统进行管理的,比如对话系统、菜单系统、存档/加载和设定系统等。
 
当然,你还可以根据任务来管理,比如描述创意原型的脚本、动画、资源创作等等,你可能会重复做很多东西,但也是不一样的管理方式。
 
你还可以根据上面提到的游戏结构进行管理,这对于我是很有帮助的,如果你觉得有用,也可以按照这种方式管理代码库。
 
脚注栏目
脚注信息
版权所有 Copyright(C)2009-2020 上海市玩家时代娱乐#注册开放平台 提供