Parin 是一个为 D 编程语言开发的 2D 游戏引擎,旨在提供库的极简主义与大型引擎的全面功能之间的平衡。开发者 Kapendev 将该工具定位为比 raylib 等小型库提供更多的结构化指导,同时比 Godot 等沉重的引擎显著减少开销。它构建在可移植的工具库 Joka 之上,旨在为那些更倾向于代码优先而非引擎强制架构的开发者提供“令人愉悦的简单”且易于修改的体验。
这张图片代表了 Parin 引擎,它作为底层库和全功能引擎之间的中间地带。
该引擎的设计理念围绕三个核心支柱:代码驱动设计、灵活抽象和模块化。与许多强制用户使用特定场景或实体系统的引擎不同,Parin 允许开发者按其意愿构建游戏代码结构。它还提供灵活的内存管理,在提供垃圾回收以求便利的同时,也允许开发者选择手动管理或完全避免使用。为了简化开发,Parin 包含了“开箱即用”的功能,如动画辅助工具、计时器、路径规划和像素级物理引擎,此外还配备了灵活的对话系统和基于图集的动画库。
虽然 Parin 为 2D 游戏提供了强大的基础,但它也有特定的技术边界和要求。它目前支持 Web(通过 WebAssembly)、Windows、Linux 和 macOS,但不包含内置脚本语言;寻求脚本功能的开发者必须集成 Wren 或 Lua 等外部项目。此外,虽然它包含了用于支持多人游戏和 Steam 集成的 Steamworks 和 ENet 绑定,但二进制文件本身不包含在内,必须单独链接。对于 Web 构建,该引擎需要 LDC 编译器和 Emscripten 才能运行。该项目目前也缺乏原生热重载功能,这是开发者为了保持核心引擎精简并专注于其主要机制而做出的选择。