Unity风波后,为何还要自研游戏引擎?
So, you want to make a game engine (2023)

Unity的定价争议引发了关于游戏引擎选择的激烈讨论。作为自研引擎Psemek的开发者,我用了三年时间将其代码量扩充到10万行,并成功用于多款游戏。自研引擎能让你摆脱企业决策的束缚,完全掌控技术栈,甚至用更小的体积实现更优的性能。当然,这条路充满挑战:耗时巨大、功能缺失,甚至可能让你陷入“造轮子”而忘了做游戏。但如果你渴望深入学习、享受编码乐趣,或者受够了现有引擎的种种限制,那么亲手打造一个引擎或许正是你需要的成长之路。
你无法责怪别人没有实现你需要的功能,因为那本就是他们的工作;但当你自己打造引擎时,你很清楚为什么缺少某个功能——很简单,因为你还没做出来。
HN 评论区
37- cjk
对我来说,自研引擎的兴趣在于为自己打造一套适合制作我想做的游戏的工具集,而不是那种试图满足所有人需求的万能引擎。同时也是为了避开 Unreal Engine 的单一文化垄断。
- kyzcdev
我认为开发游戏引擎或框架的冲动,源于对编程的热爱以及对掌握工具的激情。人类天生喜欢掌握某样东西,也崇拜大师;当我们从零开始构建时,我们拥有它,我们是它的主人,我们主导决策。这种感觉既令人安心又充满乐趣,而路径终点可见的回报也在激励着我们。但过程本身太过艰难。
如今,我有一种冲动,想结合物理引擎、渲染引擎和 ECS 引擎来开发我自己的游戏,不过我猜我大概会半途而废。
作为开发者,我认为我们应该限制自己不要陷入 doomcoding(盲目堆代码)的陷阱。
- badsectoracula
(考虑到链接部分)Petra Engine[0] 的诞生大致就是这样——花几周时间在 MSDOS 上制作一个 GameJam 游戏[1]。虽然我是为了那个特定游戏而做的,但我当时心里一直想着未来可能想把它用于其他游戏,所以我试图让它更“通用”,尽量将引擎部分和游戏部分分开,避免过多的游戏特定内容(虽然没完全做到——多年来,每当我想用这个引擎时,我都会移除一些 PAP 特定的东西和一堆硬编码的内容)。
话虽如此,自 2021 年制作完那个游戏以来,尽管我做了不少演示[2][3][4][5],但我之后从未用它做过任何游戏,因为我总是失去兴趣——也许我确实需要从零开始做一个引擎才能保持自己的兴趣 :-P。
[0] http://runtimeterror.com/tech/petra/(注意版本非常旧,此后我做了很多改进——这包括 Codeberg 仓库,我稍后会把它移到别处)
[1] https://bad-sector.itch.io/post-apocalyptic-petra
[2] http://runtimeterror.com/pages/iv/images/44d7537fb719e00fdcd...
[3] http://runtimeterror.com/pages/iv/images/d22ff83dd5e5109e02e...
[4] http://runtimeterror.com/pages/iv/images/1da6a4bce430a8d8507...
- mamcx
读这篇文章发现,它谈的并不是从零开始构建一个“游戏引擎”,而是说“构建一个‘引擎’来制作你会反复制作的那类游戏”,这更实际、更可行。
对于开发者来说,内部框架就是这样运作的:它们大多复用其他框架和库,并创造出一种伪 DSL。
- dvh
制作游戏引擎是有趣的部分,而用它来制作实际的游戏则是无聊的部分。