人生第一款独立游戏开发复盘

项目复盘, 从立项到发布, 一年的时间, 一个人的努力, 一款游戏的诞生

Meta

文章分类:Life

标签:GameIndieGameDevReview

目录

Intro

靠现在不写 Tech Post, 一年可能才一篇文章…

写这篇文章前我顺便花了两周把网站总体升级了, 新的 Server Component 的应用对整体网站体验提升特别大, 虽然从 客户端渲染 逐渐转回到 服务端渲染 有一些回归十多年前 PHP 和 JSP 的感觉, 但是现在设备和网络环境已经完全不同, 因此为了体验新技术, 我把整个网站重构了一次.

是的网站什么变化都没有, 只是所有页面可以 1s 瞬间加载了

Game Starts Here

没错, 我花了一年, 一个人写了一个完整的独立游戏.

这是我这辈子代码量贡献最大的一个项目. 甚至比一些公司的项目还要大.

这是我第一个公开发布的独立游戏. 但并不是我制作的第一个游戏.

我曾在高二使用 RPG Maker 制作过一个游戏, 这个游戏还是还是用我初三时候写的一个小说的世界观, 当初我还发布到了起点中文.

但是小说也没写完, 游戏也烂尾了.

在大一使用 C 写了个很华丽的俄罗斯方块, 现在我还存着源码.

大二用 JAVA 写了个 Android 版 SheepFrenzy, 大概就是羊驼接住掉落的食物的游戏, 借鉴了 Doodle Jump, 速度会越来越快且有各种奇怪道具, 当年发布到了安卓市场, 广告收入都没超过 10 块钱.

工作后尝试使用 Game Maker Studio 制作游戏, 当初有很多的困难, 因此也是半路而废.

然后游戏开发的经历停滞了很多年.

一切的开始

  • 2022 年 11 月, 看到行业的一些发展方向, 开始学习 Rust
  • 2023 年 1 月, 尝试使用 rustlings 学习 Rust
  • 2 月, 研究了一下 2D 渲染库, 花了 30 分钟搓出了一个贪吃蛇并成功使用 wasm 打包到浏览器运行
  • 3 月, 写出游戏第一版 POC, 改版了两三次, 最终确定了基本框架
  • 4 月, 三次迭代后制作了一个 Stage 0
  • 6 月, 自行立项, 为此我特地吃了个自热火锅庆祝, 购买 Steam 坑位, 花了钱了这下会逼着自己做完了
  • 7 月, 开始开发, 准备音乐花了大概一个月, 最终选定了前 4 关一共 12 首音乐
  • 大约花了一个半月时间完成了 Stage 1
  • 10 月, 完成了 Stage 2 , 同期确定了后面的关卡设计以及音乐
  • 12 月, 完成了 Stage 3 , 真的是累人
  • 2024 年 2 月, 完成 Stage 4 , 4 月 完成 Stage 5 , 5 月 完成 Stage 6
  • 5 月, 测试, 修复 bug, 优化, 翻译
  • 2024 年 6 月, 正式发布

这些应该从一开始就计划好的

  • 大约制作到 Stage 4 的时候, 我发觉敌人精灵的战斗逻辑太过复杂, 于是从 Stage 1 开始重构
    • 花了半个月, 将移动和子弹逻辑分离
    • 然后将不同的子弹逻辑也解耦出来, 方便不同关卡复用
    • 同期我发觉音乐时间点的逻辑也有问题, 于是花了十几天重构
  • 大约做到 Stage 4 的时候, 我发觉需要添加一个难度选项
    • 于是我就想: “干脆多做几个难度”, 加一个难度系统
    • 于是又从 Stage 1 开始重构
  • 最终 release 前, steam 审核员提醒我说我之前游戏介绍说支持英文, 于是我又花了一周时间翻译了所有的文本
  • 无数次推翻初步设计, 从第一关重构
    • 如果制作到了第 6 关, 突然发现第 1 关的设计有问题, 那么我就得把所有关卡所有场景代码都改一次
    • 虽然都是小修改, 但是次数多了也很麻烦
    • 最无奈的是, 这样的需求变更是我自己提出来的, 也没有实习生来帮我改啊

AI 是万能的?

  • 图片和音乐有很大一部分由 AI 生成
    • 无论我写多么详细的 Prompt, 最终生成的图片大多都不符合预期
  • 一千多张图片里面只有三到五张符合我期待的风格
    • 最终游戏中所有的图片都有我后期 PS 处理的痕迹, 以前画漫画的时候我就是用 PS 鼠绘, 因为有设计的爱好因此对很多 PS 工具都有所了解
    • 特别是对于游戏角色素材, 有一部分我依然需要自己用 PS 修饰出我期待的图
  • 音乐使用伪 AI 生成, 实际上是一些固定片段的叠加和排列, 因此有部分乐曲会感觉重复度很高
    • 我可以自由调整片段长短层次及顺序, 因此生成的乐曲多数我还满意
    • 当然, 同样的, 最终游戏中所有的音乐都有我后期 Au 处理的痕迹
    • 因为可以根据需求进行调整, 我按照一些固定的乐曲情绪排列, 比如 12-123 , 123-23-234 或者 12-123-1234-234 等多数大众乐曲的编排顺序, 组合出了我期待的音乐
    • 最终还是搓出了约 24 首音乐, 版权要求我不能二次出售只能用于媒体配乐, 花了我大概 400 元
  • 我不得不赞叹一下一些作曲人的才华, 例如它们设计一些 日常场景的音乐 是按照 12-345-345-345-345 无限循环 的流程设计的.
    • 我很好奇这是如何做到的, 如果是单纯一个音频文件如何做到无限循环
    • 如果是 12 和 345 分割开似乎可以, 但是很神奇的是, 12-345-345-345-345 无限循环 可以在任何时候自然中断并无缝衔接一段新的 12-345-345-345-345 无限循环
    • 要做到这一点, 还需要考虑到 345 的结尾和 12 的自然过度
    • 对此我在游戏素材里面做了一些模仿, 不过是比较生硬的 345 循环, 听感上差不多但是其实是不同的方案
  • 关于文字翻译
    • 1K 多个句子和短语, 就算有 AI 翻译, 光审核也把我累的半死
    • AI 完全不懂语境和语气, 有些句子翻译的太生硬了, 我还得手动修改
    • 到底是谁在那里吹 AI 会直接代替人类翻译的呢?

AI 素材的反思

  • 打死我也不相信画师和作曲会失业, 但是根据现在的情况看, 初级的素材生成确实可以用 AI 代替
  • 我相信未来的 AI 会越来越强大, 应该可以生成出更多更好的素材
  • 但是如果是下一部作品, 我希望和画师和作曲人合作, 我觉得还是需要专业的人来制作风格统一的素材, 或者说, 我希望可以对更细节的部分进行定制

一个美食家并不是定是个好厨师

  • 硬核玩家并不一定是一个好的游戏设计师
    • 游戏确实是我生命重要的一部分, 但是当我来设计的时候, 逐渐就陷入了自己特定的思维定式
  • 我很惊奇地发现, 我对 Stage 4 Boss Battle 里面血条动画的设计和 塞尔达传说王国之泪 最终 Boss 战斗有一样的地方
    • Boss 战斗到了某个阶段都突然加血并让血条穿出屏幕
    • 但是很无奈, 王国之泪发布在 5 月, 我的游戏发布在 6 月, 玩家会认为我抄袭了, 但是这真的是灵感碰撞到了同一个地方
  • 难度设计的问题
    • 只狼 的二周目一定比一周目更简单
    • 我每一个关卡会调试上千次, 因此我可以记下每一个关卡的每一个敌人的位置
    • 退款的 Comments 基本都是说难度太高
    • 但是这还是我降低了两个 Level 的难度后的结果
    • 简单难度我都准备加上 隔壁奶奶都能玩 的提示了

市场的反思

游戏有很多类型, 而我一开始选择的是 STG, 但是逐渐设计成了 轻STG + 重MUG 的结合

混合类型的作品面向的市场和直接面向 STG 或者 MUG 的市场不同, 但是我并没有意识到这一点

而且我不应该和 Steam 官方夏促放到同一天启动, 也许当初推迟半个月或者一个月再发布会更好

推广和预热都很重要, 我深知这部分的重要性, 如果有个帮手可能会好很多

ROI 的反思

  • 我花了大概 2000 元的成本 + 无数的业余时间
  • 但是我对于这样的 ROI 并不满意, 我觉得应该修改一下投入资源的方式.
  • 其他还有很多支出
    • 立项开始我使用的是 Windows 电脑, 但是在开发到 Stage 3 的时候, 我发现四年前的电脑已经跑不动了, 我又不能用公司的 MBP 2019 来 Push 个人项目, 于是我购买了一台顶配的 Mac Mini M2
      • 额外 16G 内存花了我 3000, 总价可以买两台 Windows 笔记本了, 我的钱包在滴血…
  • Copilot 每月 10 刀
    • 一开始我还在用公共账户, 就那种教育认证的便宜的账户, 期间因为各种认证中断等问题, 我折腾了很久
    • 后来公司也开始推行 Copilot, 很无奈 Enterprise 账户需要证书才能登录, 所以不能在个人设备上使用
    • 后来我真的觉得麻烦了, TMD 60 块钱都不够我一天的饭钱, 于是我开始按年订阅
    • Copilot 大概总计 900 左右的支出
  • 我也不知道是否应该把这段支出算到成本里面, 但是这一套软硬件更新给了我四到五倍的效率提升

有些时候我在想, 如果没有这些让我提升效率的加成, 这个游戏真的可以按时完成吗?

项目推进的反思

上半年在亚马逊乱翻行业书籍, 找到一本 《How to make things faster》

我一看 23 美元, 立马 下单购买 下载了盗版

这书并不是一本很好的书, 基本都在说一堆开发的大道理, 也许适合初学者入门阅读? 例子都是十几年二十几年前的.

但是 Chapter 104 里面一句话让我印象深刻:

“You’ll do yourself a favor by killing a bad idea before it kills you. If you solve your worst problem, then find the next one. Iterate. Shorter iterations are better.”

我应该缩短开发时间到 6 个月以验证这个 Experimental Game 的可行性, 而不是花费一年的时间.

我应该提供试玩收集反馈, 而不是推行个人主义的设计风格.

我应该和更多更专业的人合作, 而不是自己一个人做.

我想, 游戏开发之路可能暂停一段时间吧

我花费了一年的时间, 实现了一个毫无意义的梦想.

我唯一觉得满意的是, 这款游戏的开发流程即使到了结尾, 我一直保持着对它的热情.

以前我就有一些项目, 到了结尾阶段开始希望其快速结束, 但是这一部作品从头到尾保持了一致的质量.

即使有人觉得太难, 有人觉得太粗糙.

但是我觉得这是我这一年来最好的作品.

…

但是, 我想…

独立游戏开发之路可能暂停一段时间吧…

…

…

…

…

…

…

…

…

…

…

…

…

呸!!!

我才不会停下来呢!

这年头, 我已经失败惯了, 无所谓

我开始设计下一个游戏了!

拜拜!