拉链厂家
免费服务热线

Free service

hotline

010-00000000
拉链厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

分享我从独立游戏开发学到的6件事儿

发布时间:2020-02-11 07:08:15 阅读: 来源:拉链厂家

1、项目管理解决方案不可或缺

我的父亲告诉过我,每一个成功项目的背后都有一个组织精良的团队——游戏开发也是如此,而好的项目管理解决方案则是实现高效组织的杀手锏。觉得钱包羞涩?大可不必——只需支付每月不到 10 美元的主机托管服务费用就能从服务商那儿免费挑选一套 PM(项目管理)解决方案。

PM 能够实现事半功倍的效果,而在游戏测试过程中,我个人使用的是一款名为 Bugzilla 的开源缺陷跟踪系统。当然,它并非如 PM 解决方案那样必须包含在开发计划之内,后者能降低游戏特定功能出现缺陷的风险,而前者则属于锦上添花,因此,我比较愿意将两者区别对待。不管选择何种途径,挑选合适的辅助工具以保持开发团队的最佳状态才是正经事。

2、要有甘拜下风的豁达:有些事大公司做得更好!

我曾用 GJK+EPA 碰撞检测算法为 Bain’s Redemption 建立起了完整的布娃娃系统,且该途径和 Bullet、Havok 和 PhysX 等物理运算引擎的工作原理相似(在使用后两者的过程中,也可以使用 GJK+EPA 算法)。不过从中学到的宝贵一课是:尽管 GJK+EPA 算法能够顺利在物理模拟中插入不同图形,但一些图形组合需要特定的算法。

因为该算法适用于所有凸面图形,我以为只需执行就能高枕无忧了。可惜积箱测验显示我的物理引擎占用了太多 CPU 资源,另外,速率和位置解算器也或不可缺。这些内容听起来再冗长乏味,也是不变的事实。所以最终我放弃了这一算法,改用 NVIDIA 旗下的 PhysX 物理运算引擎。相比之下,后者性能更胜一筹。

我还了解了很多关于解算器、物理碰撞等诸如此类的信息。使用物理引擎并不难,关键是为其设定参数以保证游戏开发与计划同步,这可不是三言两语就能概括的。我很庆幸自己做了该做的。要是我早点心怀这份豁达,定能多节约大半年的时间专心开发游戏了。

3、了解目标用户群很重要!

这个问题看似很简单,目标群体是哪类人?不就是玩家吗?但究竟是哪种类型的玩家?这些都需要我们深入细致地去思考。我喜欢遐想自己的游戏大获成功的场景,心想着“如果他们会为某款游戏着迷,那一定也会喜欢 Bain’s Redemption。”从营销的角度来说,这样的衡量标准无伤大雅,但是当你已经把这条建议读了若干遍之后,恐怕得尽快下决定了。

当初决定开发 Bain's Redemption 时,我们一方面构想着针对成年人的动画风格,一方面想要 Devil May Cry 里的机械质感(主要是该游戏中古代宝剑向现代手枪转换的创意深得人心),于是干脆将这两种理念结合在一起。

如今我们的目标群体是哪类人呢?漫画书迷和暴力游戏爱好者。而游戏中的模型实际比看上去的要简单多了,因为我们早就决定将它们设计为能够被锐利武器轻松砍碎的物体。我们所指的物体是整个物体,而不单单是一条腿或胳膊,所以想象一下游戏中的自己可以轻松打败日本武士那么强壮的人,该有多过瘾。负面作用是:图形会受到影响。不管如何,目标群体轮廓是清晰的。

4、定制引擎绝非易事

挑选游戏引擎时,很多独立开发者选择 Unity,或在虚幻引擎下调价格后选择虚幻4。起初为了节省成本,我们决定定制自己的引擎,结果繁琐复杂的工作耽误了我们不少功夫——记住,这条路不是人人都能走,“定制有风险,选择须谨慎”。

举个例子,我们花费了一周半的时间为定制引擎添加云隙光,两周的时间来添加 HDR 和 Bloom,不过 Unity 或 Unreal 都省去了这些麻烦。不同游戏引擎/编辑器的结合引发的化学反应各异。倘若你卯足了劲儿愿意从游戏开发的基层做起,那么可以考虑直接使用 Unity 或虚幻引擎。

5、数据当先,见好就收

对于游戏及其他类型的应用程序而言,有两大要素:数据和代码。大多数游戏都有一个打包的图形文件,即数据,和一个可执行的图形文件,即代码。而游戏引擎则使代码在循环运行的过程中捕捉数据,将其转化为屏幕上色彩缤纷的图案。众所周知,数据驱动类应用简约且便于调试,总之优于其他应用。

选择一款 FX 图片编辑器,添加和预览特效并将其存为 FX 图形文件,通过代码在游戏中呈现出来,或是为所有特效逐一编写代码——两者你更倾向哪一个呢? 反正实践过后者的程序员们是深陷逻辑混乱的泥淖不能自拔了,再加上泛滥的复制代码让系统臃肿不堪,“精简”和“有序”这俩词儿还是收起来吧。相比之下,前者就省力省心多了。

另外,若是跟游戏设计人员打交道,把握“数据当先”的原则也是有必要的:游戏设计更青睐参数而非代码,而参数本身即是数据。下图所示的是我们的状态机编辑器,它曾出色地配合了游戏中主角的出击及其他动画效果的完成。我曾想用状态机编辑器完成游戏中所有物体动画的制作,但是很快就意识到“物极必反”之理——实际上很少有设计人员会关心结构复杂的 AI 状态机,他们只会说:“这玩意儿太费脑筋,还是算了吧。”

我们重新修改了游戏 AI,使用了行为树中的选择/序列/并行节点,这过程对大多设计人员来说未免太晦涩(看起来好像是虚幻引擎里有个行为树编辑器),所以不得不向程序员求助(类似于游戏框架出现频率的问题对于设计人员来说无疑过于乏味了)。总之,跟设计人员打交道最好把握“数据当先”,不过若有需要,代码也应放在第一位。

6、市场推广晚不得

目前我们计划在八月底让 Bain's Redemption 上线。本以为游戏好看好玩就能保证上市成功,但跟我的朋友 Andre' Lamothe 进行一番交谈之后,这幻想被彻底打破了。Andre' 是个看透游戏开发门道的内行人,写了很多相关的书籍。他说市场推广最好在游戏上线前两个月就开始。

看吧,很多人觉得游戏开发出来就万事大吉了,但话说回来,若游戏无人问津,大卖岂不成了天方夜谭?所以谦虚点儿吧,认清这一点,积极搞好市场推广不就行了吗?

注册公司咨询

特殊许可

筹划税务中介

相关阅读