我从记事起就一直是游戏爱好者,随着游戏行业一起成长。

但是大约三年前,一句随机的想法突然击中我:“要想从零开始做出像Flappy Bird一样的游戏有多难?”

而不是做出明智的决定,下载Unity然后跟着教程学习,我却走进了一个陷阱。 我想要了解一个像素是如何最终出现在屏幕上的。

“无引擎”阶段

我开始使用SFML和C++。

我花了几周时间只是学习如何处理键盘输入、基本渲染以及游戏循环是如何工作的。 最后我建造了一个打字游戏,词语从天而降,拥有一个与OSU!类似的组合系统以及几种不同的模式。 我对它感到满意,但我想要更多。

然后我转向Pygame(Python)并试图建造一个2D迷宫游戏。

回头看,范围太大了,但这迫使我从零开始建造:

  • 基于网格的地图系统(以及一个地图编辑器)
  • 从零开始的碰撞逻辑(比我想象的要难)
  • 敌人的“大脑”(所谓的“AI”)
  • 项目物体、生命条、动画

在大学期间,我甚至尝试用Python重建Super Mario Bros,并建造一个遗传算法来玩它。 AI会学习完美地掌握一半的地图(速度跑级别类型的游戏)并且每次都会死掉。

移动到引擎阶段(Unity和Godot)

有一天我想要了解3D,所以我转向Unity并建造了一个小恐怖游戏/谜题游戏在一个疯人院的背景。 (所以原创我知道)

那时我学习了这样的事情:

  • 物品系统
  • 空间音频
  • 构造一个真正的“游戏”而不是只是机制

但它并没有真正“点击”直到我发现了Godot。

我爱上了节点系统并且花了大约一年的时间在一个Brotato-like项目上。 (一个很长的时间但至少我完成了它)

那时我真正开始了解游戏的感觉,人们无法单独注意到的小事,但每个人都会感觉到的,例如:

  • 子弹的冲击和雪的脚印
  • 音频不重复的细微变化
  • 平滑的UI和摄像机过渡使用tweens
  • 玩家走后墙壁的淡出
  • 复杂的敌人行为甚至是BOSS战斗

这些看起来像是微小的事情,但当它们缺失时才会让人感觉到。

现实检查(Game Jam)

在那个项目上工作的同时,我加入了Brackeys 2025.1 Game Jam并制作了一个60 Seconds!-inspired游戏。 最终它排名了~350名(2000+条目)。(回头看,它是相当不错的第一场Jam,但当时我感觉很沮丧)

那时才真正明白了范围的问题。

要么建造一个机制,要么在7天内建造一个完整的游戏,包括菜单、音频、资产、平衡和可玩性。

它是混乱的,但非常有价值。

结果:命运之桌

我从C++实验到Godot的细节,所有的知识都带我到了这里,正在工作我的第一个Steam发行版。 (我不知道我会走到这一步)

命运之桌是一款2D迷宫游戏/牌组建造游戏,背景设定在中世纪酒馆。 你扮演一个旅行者,与各种NPC进行牌组建造游戏。

但这不仅仅是牌组。 你还与酒馆本身互动,当地人可以帮助你获取物品、升级、药水和提示。 但还有一个德行系统:你如何对待当地人会在你下一次游戏中回报……并且有时甚至会改变它。

过去的三年,学习、失败和重新开始的过程,我仍然觉得看到自己的Steam页面活着的感觉很不可思议。

TL;DR

从零开始C++仅仅是为了了解游戏是如何工作的→失败了一个Python 2D迷宫游戏,教会我很多有价值的事情→尝试用Python重建Mario AI实验→转向引擎→在Godot中感觉舒适→现在建造我的第一个Steam游戏。

如果你喜欢牌组建造游戏或只是想支持一个同行开发者,可以在Steam中找到命运之桌。 你的愿望清单会对我帮助很多,反馈总是受欢迎的。

(Steam页面将很快进行视觉更新,因为游戏已经进化了很多自从当前的预告片和截图上传时)