不用引擎手搓游戏适合2025年的手搓游戏方法2025年,如何不用引擎手搓游戏?从

量子位看科技 2025-05-21 17:35:17

不用引擎手搓游戏适合2025年的手搓游戏方法

2025年,如何不用引擎手搓游戏?

从事独立游戏制作将近20年的Noel Berry最近在个人博客上分享了自己的经验,令人惊奇的是:制作过程中不使用游戏引擎。

Noel Berry大胆直言:不用这些大型引擎,实际上会让做游戏更容易,为什么要让一个工具随时可能摧毁你的开发能力?

所谓“不用引擎”开发,并非真要从记事本写系统调用开始。只要运用好开源框架和库,“从零开始”制作游戏绝非天方夜谭。

Noel的经验非常适合本文主要针对小型或独立团队参考,一起来看看他的具体工作流吧:

一、编程语言选择:C ️⃣

2025年的C ️⃣已经脱胎换骨,甚至能在栈上分配动态数组。

.NET团队开发人员在C️⃣中实现了热重载,代码修改能实时生效,当需要调整画面渲染或敌人行为时非常实用。

除此之外,C ️⃣还支持在编辑器工具开发中快速检视游戏对象状态,可以轻松创建实时检测工具来查看游戏对象状态,无需任何元编程或游戏内反射数据。【图1】

二、视窗/输入/渲染/音频方案

这其实是从零开始写游戏的核心问题,不过别担心,有大量的优秀库能帮你解决:SDL、GLFW、Love2D、Raylib……

SDL3作为跨平台抽象层,可以完美处理视窗创建、手柄输入、图形渲染等需求,并且支持Linux/Windows/Mac/Switch/PS4/5/Xbox等平台。

SDL3还新增了GPU抽象层,可无缝对接DirectX/Vulkan/Metal。

音频方面可以使用FMOD,这是工作流中唯一的闭源工具,但确实是动态音频控制的最佳选择。

三、资源管理

自制引擎的资源管理直截了当:需要时加载对应文件即可。

像素风游戏可以预加载全部资源,而那些资源更大的游戏,可以改为启动时注册,按需加载并在场景切换后释放。【图2】

某些资源需要预处理,这时可以编写编译时运行的小型转换脚本。

四、关卡编辑器、UI

关卡设计工具上,LDtk、Tiled、Trenchbroom等现成工具都很优秀,只需编写运行时数据转换脚本就能集成。

在创建UI控件上,Dear ImGui很实用。这个轻量级跨平台即时模式GUI引擎能轻松集成到任何项目。【图3】

ImGui配合C️⃣反射让编辑器工具开发变得极其简单。可以用几行代码遍历所有Actor类并在编辑器中操作它们!

当然复杂工具仍需借助Trenchbroom等专业软件。

五、跨平台移植

C️⃣的Native-AOT编译链突飞猛进,已支持所有主流游戏主机架构。

FNA项目在这方面尤为激进,成功推动多款C️⃣游戏登陆全平台。

加之SDL3本身已提供各大主机平台的移植支持,只要注意系统调用处理,大部分功能都能开箱即用。【图4】

想要了解更多细节,欢迎阅读原文:

0 阅读:0
量子位看科技

量子位看科技

感谢大家的关注