本页目录

ammo.js:Bullet 物理引擎的 JavaScript 移植版

ammo.js · kripken/ammo.js

ammo.js 是用 Emscripten 把 Bullet 物理引擎直接移植到 JavaScript 的项目,源码以 C++ 编写。仓库示例覆盖刚体立方体(含 WebAssembly 版本)、软体绳索/布料/体积、高度图地形以及车辆等场景,可作为网页 3D 物理模拟的构建基础。具体...

动作游戏 平台跳跃 益智解谜 SDL C++ 角色控制 跳跃与重力 碰撞检测 物理系统 高级
★ Stars 389 Forks 119 License 未明确 更新 2026-10-30

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:SDL 暂无中文教程标记 未标记站长实测
构建需准备 C++ 工具链及 OpenGL、SDL 相关开发库,具体依赖以 COMPILE.md 为准;国内访问官网与规格文档站点可能较慢,GitHub 拉取源码可能需配置代理,实际可行性待核验。

中文项目介绍

GlPortal 是一款以「传送」为核心机制的开源科幻第一人称解谜平台跳跃游戏。根据仓库自述,它强调真实的物理模拟,玩家需要在三维空间中借助传送门完成移动与解谜,兼具第一人称视角的探索感与平台跳跃的操作挑战。项目以 C++ 编写,图形层使用 OpenGL,窗口与输入等底层能力依托 SDL,物理模拟是其宣传重点之一。

游戏由 RadixEngine 驱动,该引擎是 GlPortal 团队自研的组件,仓库中给出了指向 RadixEngine 项目的链接。官方说明 GlPortal 可在包括 GNU/Linux、Mac 与 Windows 在内的现代操作系统上运行,官网地址为 http://glportal.de 。

需要说明的是,README 主要围绕项目定位、编译方式与社区协作展开,并未详细列出关卡数量、剧情内容或可玩完整度,这些方面有待实际构建后核验。

核心功能

跨平台

可在 Linux、macOS 与 Windows 上运行,官方将其描述为覆盖主流现代操作系统。

真实物理

强调真实世界风格的物理模拟,这也是传送机制与平台跳跃玩法的基础。

开源

项目以开源方式发布,欢迎开发者参与共建。

技术架构分析

技术要点

从 README 与仓库元信息可归纳出以下技术线索:

  • 语言与图形:主体使用 C++,渲染基于 OpenGL,属于典型的自建三维渲染管线路线。
  • 平台抽象:借助 SDL 处理窗口、输入等跨平台事务,从而支撑 Linux、macOS、Windows 三端。
  • 引擎层:由 RadixEngine 提供底层支撑,游戏逻辑与引擎能力分离,便于复用与维护。
  • 物理模拟:作为卖点之一,物理系统承担角色移动、碰撞与传送相关的空间计算。

README 未披露渲染管线细节、物理求解器实现或 ECS 架构等信息,相关判断需阅读源码进一步确认。

构建与运行

README 明确要求:编译游戏请阅读仓库内的 COMPILE.md 编译指南。该文档是获取构建步骤的权威入口,涵盖在各平台上搭建环境的流程。

针对 Windows 用户,README 特别提示需按 COMPILE.md 的说明,将必要的 DLL 文件复制到可执行文件所在目录,否则可能出现运行期加载失败。

由于项目依赖 OpenGL、SDL 与自研引擎,构建前通常需要准备对应的开发库与工具链;具体版本要求与依赖清单以 COMPILE.md 为准。仓库还提供了规格文档站点(specification.glportal.de)与统计站点(stats.glportal.de)的徽章链接,可作为了解项目规范的补充材料。

补充说明

项目历史与团队

GlPortal 基于 Simon Larsen 于 2012 年创建的项目发展而来。当前团队名单包括 Henry Hirsch、Julian Thijssen、Céleste Wouters、Geert Custers 与 Jason Pulkkinen,更多贡献者信息见 CONTRIBUTORS.md。

从 2012 年起步的时间线看,项目已持续多年,但 README 未说明各阶段的版本发布情况与当前开发进度。

疑难排查

遇到问题时,README 建议先查阅 FAQ.md,若仍未解决,则在 GitHub 的 issue 跟踪器中提交问题。对于构建失败类问题,优先核对 COMPILE.md 中的依赖与 DLL 复制步骤,往往能定位大部分环境配置错误。

学习建议

该项目适合作为学习 C++ 三维游戏开发的参考样本:可以观察 SDL 与 OpenGL 如何协作搭建跨平台窗口与渲染循环,了解自研引擎 RadixEngine 与游戏逻辑的分层方式,并研究物理模拟在第一人称移动与传送机制中的应用。建议从 COMPILE.md 入手完成一次本地构建,再结合规格文档与源码逐步深入。

开源许可证与版权说明

许可证标识:未明确。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目