

我是如何用4个月从0到1独自开发一款游戏?
source link: https://gwb.tencent.com/community/detail/133904
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我是如何用4个月从0到1独自开发一款游戏?
想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学堂游戏程序行业精英群
711501594【本文参与GWB更文挑战活动-首发原创】
【1】背景
这是我的第一款作品,有meta元素的模拟类游戏。开发时间4个月,目前完成度50%,有Demo版本体验,目前已经上架Steam|TapTap|好游快爆:
Steam:https://partner.steampowered.com/app/details/2353320/
TapTap:https://www.taptap.cn/app/284240
好游快爆:https://www.3839.com/a/150933.htm
游戏行业从业5年,岗位有做过策划/运营/PM/产品引入。尽管我的大学专业是数学与计算机方向,但我并没有实际的游戏开发经验。独自开发游戏的契机是2022年11月,被公司“炒鱿鱼”获赔N+1。和平分手,从公司立场来看,我也十分理解,甚至我现在都很愿意为前公司内推朋友入职,因为福利实在太好了。这就是我的背景,游戏行业的老油条,有那么点技术能力,就1个人独自开发游戏了。
【2】想:核心玩法、系统循环、数值设计


这是一份旧版的系统循环和部分玩法功能设定,跟当前版本出入很大。尽管如此,我认为真正开始做游戏前,甚至在制作游戏的不同阶段,根据实际开发进度和自身能力,想清楚再去做,会更关键。逐步验证:到底自己的能力是否能做,做出来是否好玩?
【3】工欲善其事必先利其器 GameFramework
开发工具使用的是Unity,以及基于 Unity 引擎的游戏框架GameFramework。以下是Unity 和 GameFramework 的关系图:

概括来说,GameFramework 为Unity游戏开发梳理了大多数常用的模块,比如:数据表、实体、UI界面、本地化、流程、场景、声音等等,基本满足大多数类型的游戏开发。

但是,关于GameFramework教程极其少见,尽管有前辈铺路,但最终应用下来,还得靠自己一点一滴啃源码,在开发过程中理解和消化。在这里,我也简单总结一些心得,希望对大家有所帮助。
·流程 Proceduce
在GameFramework框架下,游戏是由流程(Proceduce)控制的,基本可以分为:启动-初始化(闪屏)-预加载(读数据表、基础配置)-核心玩法流程,底层原理是FSM(状态机),它帮你封装了几个常用的功能:初次进入流程 Init|进入流程时Enter|每帧更新Update|退出流程 Exit 时可执行的代码。在这种结构下,你可以根据这些模块,清晰理顺整体的游戏框架结构,以及当Bug出现时,有效检查是哪个流程的哪个模块出现问题。
·实体 Entity
在GameFramework框架下,实体是直接克隆已生成的预制体,它分为Logic(逻辑)和Data(数据),实体的生成还会关联到对象池(简单来说,每个实体的生成和销毁都是唯一的编号),尽管代码写起来很复杂,也关联到很多文档,但对游戏整体的监控都是有效和便捷的。
·界面 UI Form
在GameFramework框架下,UI 界面存在唯一的编号 UIFromId,它存在3个地方相互验证,数据表|GameFramework预制体|UIFromId。也就是说,你每新建1个UI界面,必须更新这三个地方,然后把以UI界面命名C#文档,挂载到对应的预制体上。这样做的好处是,你可以在任何流程里,直接打开/关闭任何一个UI界面,你还可以设置UI界面的层级,多个UI界面是否并存等设定。
·配置 Setting
在GameFramework框架下,你可以在本地设定数据类型(int,float,string,bool),有效提高数据结构的便利性。
·静态 Static
(这是非GameFramework 框架下的经验)目前阶段我的不成熟理解,我几乎在每个玩法功能配置一个专属的Static文档,用来控制数据存储、以及跨流程玩法之间的交互。甚至后续我还有想法用来存储本地化,这对于Steam做多语言配置也很便捷(GameFramework也有专门做本地化的功能,但目前我只发现它只适配固定的UI文字)
在GameFramework框架的支持下,结合Unity 和 C# 的理解,我就这样一步步去啃源码,做游戏。过程是很煎熬的,我甚至重构过一遍代码,越写越简洁,拓展性越高。
目前对我最大的感悟就是,不要等所有事情都准备好,才开始去做。以代码举例,不要完全学透了Unity、C#,甚至刚提到的GameFramework。一旦你理解了基础,你就可以根据初衷和想法,开始行动!在制作的过程中,遇到问题再解决,这样的效率才是最高的,当然也是最煎熬的。
【4】心态
“过刚者易折,善柔者不败。”这是出自老子的《上善弱水》。
做一款独立游戏,做重要的是做完,这是第一步。
接下来,就是在有限的时间内,用尽自己最大的能力,去表达和呈现,这是第二步。
第三步,也是最后一步,持之以恒。
至今我都认为,做独立游戏是一件“吃力不讨好”的事情。不稳定,赚不了什么钱,还累,各种压力……
但为什么还要去做呢?
我相信,每个独立游戏制作人,心中都有坚定的答案。
如果还不够坚定,建议是多想想,再出发。
追梦,永远都不会晚。
不要急,慢慢想。
Recommend
-
118
出游前,认真做好规划很重要,但是如何做好一个全面的计划,特别是出国游?旅行中计划赶不上变化,如何优雅地应对旅游中出现的各种状况? 今天,AppSo(微信公众号 AppSo)用亲身体验告诉你,怎样优雅地来一次中欧深度游? 在上一个小长假,只会英语的...
-
58
如何用 React Native 开发一款电商 App?
-
67
程序员 - @yantianqi - 对 vue 比较熟练,react 稍微了解点公司让我独自开发 app,以前用过 apicloud 之类的,感觉没啥技术含量,想用 react-nativereact-native 今天
-
33
-
6
简单的知识点搭配合适的业务场景,往往能起到意想不到的效果。这篇文章会用三个最基础人人都知道的前端知识来说明如何助力运营小姐姐、公司48+前端开发同学的日常工作,让他们的工作效率得到极大地提升。看完您可以会收获用vue从零开...
-
3
游戏开发者独自写代码,原版《辐射》第三部作品或可重见天日
-
10
当CPU巨头英特尔盯上GPU:4个月6次出手,从游戏到数据中心市场全面点燃-51CTO.COM 当CPU巨头英特尔盯上GPU:4个月6次出手,从游戏到数据中心市场全面点燃 作者:梦晨 2022-06-07 18:13:01...
-
6
V2EX › 分享创造 独自开发了一个留学/移民论坛,目前注册用户 800+, beta 期间免邀请注册
-
3
你应该试着独自做个游戏 原创 小蚂蚁教你做游戏 2022-08-09 14:30:58
-
6
看我是如何用C#编写一个小于8KB的贪吃蛇游戏的
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK