alexscott2718-gif/jn-engine

GitHub: alexscott2718-gif/jn-engine

对经典游戏《Jimmy Neutron》Open Media Toolkit 2.0 引擎进行净室重实现,通过捕获原版 D3D7 渲染帧作为基准真值来驱动多平台渲染器。

Stars: 1 | Forks: 0

# jn-engine 这是对运行《*Jimmy Neutron: Boy Genius*》(THQ,2002)的 **Open Media Toolkit 2.0** 引擎的净室重新实现,此外还包含了在真实的 Windows XP 上捕获原版游戏 **Direct3D 7** 输出的插桩工具,以将其作为基准真值。 同一套代码库可构建出 **原生 Linux** 游戏、**WebAssembly** 浏览器演示、**D3D7-replay** 渲染器(逐字渲染原版游戏捕获的命令流)以及一个 **capture** 构建版本。同一款引擎也可以运行其续作《*Jimmy Neutron vs. Jimmy Negatron*》(JNvsJN)。 **▶ 在浏览器中游玩** — [Boy Genius](https://exentt.com/jn-engine/) · [JNvsJN](https://exentt.com/jnvsjn/) · 或 **[项目主页 →](https://exentt.com/jn)** (演示、资源与文档均在此处)。 ## 从这里开始 | 如果你想… | 请阅读 | |---|---| | 了解**项目是如何发展到这一步以及原因**(以及哪些方法是死胡同) | [`docs/PROJECT_HISTORY.md`](docs/PROJECT_HISTORY.md) | | 了解**代码库的现状** — 子系统、三种 runtime 模式、当前有效与历史遗留的内容 | [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) | | **接手一个独立的任务** | [`docs/CONTRIBUTOR_object_capture_plan.md`](docs/CONTRIBUTOR_object_capture_plan.md) | | **格式参考** | [`docs/omt_3dsp_format.md`](docs/omt_3dsp_format.md), [`docs/omt_rendering_breakthrough.md`](docs/omt_rendering_breakthrough.md), [`docs/ghidra_notes.md`](docs/ghidra_notes.md) | ## 构建 原生(Linux,SDL2 + OpenGL): ``` make # -> ./jnengine ./jnengine --level level1 ``` WebAssembly(Emscripten,WebGL2): ``` source ~/emsdk/emsdk_env.sh make web # -> web/jnengine.{html,js,wasm,data} ``` 其他目标:`make capture`(可对比的 D3D7 capture 构建版本)、`make web-jnvsjn`(续作的浏览器打包版本),以及一系列原生与 capture 对比的验证器。请参阅 `Makefile` 和 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) §9。 操作方式:W/S 移动,A/D 转向,Space 跳跃,Shift 奔跑,R 重生,LMB 自由视角,Esc 退出。 ## 仓库布局 ``` src/engine/ platform + renderer + the replay/capture paths src/engine/assets/ on-disk format loaders + asset cache src/game/ entity model, game loop, gameplay (behaviors/) instrument/ the capture pipeline: D3D7 proxy, receiver, diff/analysis tools tools/ parsers, exporters, level builders, validators assets/ game data (source formats + derived .glb/.png) web/ WASM shell + built browser bundles docs/ history, architecture, format references ``` ## 法律声明 这是一个**用于保存和互操作性的逆向工程项目**。这里的引擎代码是独立的净室重新实现。《*Jimmy Neutron*》及其资源归其各自的所有者(Nickelodeon / THQ)所有;本仓库**不会**重新分发原版游戏、其数据文件或其二进制文件。你需要拥有原版游戏的合法副本,才能提取资源供个人使用。 🤖 使用 [Claude Code](https://claude.com/claude-code) 生成的文档
标签:AI工具, OpenGL, UML, WebAssembly, 云资产清单, 图形渲染, 游戏引擎, 逆向工程