OpenGL 批渲染系统
面向 2D 的批量绘制管线。
overworld · luzhenqian/overworld
面向 React Three Fiber 与 Three.js 的模块化 TypeScript RPG 系统集合,涵盖任务、对话、背包、AI、多人联机、持久化以及跨平台适配等模块。仓库描述与 README 摘录内容不一致(摘录为 Torque2D 相关文本),具体功能与实现情况待核验...
Torque2D 是 GarageGames 以 MIT 许可证开源的一款 2D 游戏引擎,由 Torque Game Engines 团队维护,并接受社区贡献。它专注于 2D 游戏开发,采用 C++ 编写,README 将其描述为“功能强大、灵活且快速”的引擎,并称已被数百款商业游戏使用。
引擎强调“单一代码库、多平台输出”:README 明确列出 Windows、OSX、Linux、iOS、Android 以及 Web 平台。当前仓库主线正在推进 Torque2D 4.0(Rocket Edition),已发布到 Early Access 4 阶段。
面向 2D 的批量绘制管线。
集成 Box2D 作为物理后端。
使用 OpenAL 提供音频支持。
同时支持 skeletal animation 与 spritesheet animation。
内置资产管理系统。
项目以模块(module)方式组织。
使用 TAML 格式进行对象序列化。
引擎自带 TorqueScript 风格的脚本层。
README 明确说明 CMake 是构建的唯一事实来源:从根目录的 CMakeLists.txt 生成对应平台/工具链的工程再构建,编译产物写入仓库根目录。仓库根目录提供了便捷生成脚本:
generate-vs2022.bat(或 generate-vs2026.bat)→ Visual Studio 解决方案generate-xcode.command → Xcode 工程build-linux.sh(配置并构建,支持 32 位与 64 位)generate-xcode-ios.command(模拟器)或 generate-xcode-ios-device.command(真机)engine/compilers/android-studio,其 Gradle 构建通过 NDK 驱动 CMakegenerate-emscripten.sh → 通过 emcmake 生成 WebAssembly 构建(需要 Emscripten SDK)原先位于 engine/compilers/ 下手工维护的各平台工程文件已被移除,由 CMake 取代。
以 Visual Studio 2022 为例,README 给出的步骤是:安装 VS2022 并勾选“使用 C++ 的桌面开发”工作负载;安装 CMake 并加入系统 PATH;双击 generate-vs2022.bat,脚本会在 build\vs2022\ 下生成解决方案并打开 Torque2D.sln;在 VS 中选择 Debug 或 Release 后执行“生成解决方案”;可执行文件输出到仓库根目录(Debug 为 Torque2D_DEBUG.exe,Release 为 Torque2D.exe),按 F5 即可从根目录启动。引擎源文件列表变化后(例如拉取新代码),重新运行该脚本即可重新生成解决方案。
如果不想自行编译,README 提到 Windows 与 OSX 的预编译二进制可从 Torque 2D Release 页面获取。各平台完整的分步构建说明见 Torque2D wiki 的 Building from Source 指南。
4.0 最大的变化是引入编辑器。目前已经可用的是:
Early Access 4 在 Early Access 3 的基础上完善了 GUI 编辑器:从带图示的控件面板拖拽控件到画布,或点击直接放置;支持拖拽、方向键以及 Layout 菜单中的对齐与间距命令来排布控件;支持撤销/重做,以及在同一个 Gui 内部和多个 Gui 之间进行剪切、复制、粘贴。
画布周围还有两个面板:Explorer 以控件树形式展示全部控件,带控件类图示、隐藏与锁定列,并支持拖拽改变父子关系;属性面板只显示所选控件类实际会读取的字段(README 举例:链条控件不会绘制自己的文本,因此不会给它九个会被忽略的文本框),并为常用字段提供专用编辑器——尺寸用的锚点选择器、颜色色板、可视化挑选的图片选择器,以及过去在编辑器中完全无法触及的内容,例如列表框的行、菜单栏的条目。
Gui 可保存为经典的 .gui 脚本或 TAML 格式,编辑器会在你选择前说明两种格式各自会丢失什么;已修改的 Gui 不会被未经询问地丢弃。控件外观来自**主题(theme)**而非手工接线的 profile,Gui Profile Editor 用于编写主题(profile、边框、字体与颜色,带实时预览),拖到画布上的控件会自动套用正确的主题,Set Theme 可整体换肤。README 也坦言,此前认真使用 T2D 的开发者往往尽量避开 Gui 系统,Rocket Edition 的目标就是改变这一点,使用说明见 wiki 中的 Gui Guide。
README 提示:4.0 正式完成前还会有更多功能与编辑器,但新项目应尽早使用 Early Access 版本以避免后续冲突。
仓库包含三个主要分支:
首次运行 Torque2D 时,可以选择创建项目或打开 Toybox。Toybox 是 30 多个简单“玩具”(模块)的集合,用于演示 T2D 的各项功能;默认玩具是一个带怪物卡车的横版卷轴关卡。点击屏幕右下角的 Show Tools 按钮可查看可选模块列表。每个玩具的脚本代码与资源都在 toybox 文件夹中,可作为学习 T2D 的实例。
全部文档位于 GitHub wiki,包含教程、引擎系统的详细技术资料、由源码自动生成的脚本参考指南,以及参与开源开发的说明。README 提醒 GarageGames 官网已下线,建议通过 Torque 2D 论坛(torque3d.org)与 Discord 获取帮助、交流开发话题。
Torque2D 以 MIT 许可证发布,版权归 GarageGames, LLC(2012)所有,允许自由使用、复制、修改、合并、发布、分发、再许可与销售,需保留版权与许可声明,软件按“原样”提供、不附带任何担保。
jfduke3d 是 JonoF 对 3D Realms《Duke Nukem 3D》的源码移植,基于其 Build...