Star on GitHubStar1.1k stars

Case study

IW4L: a Rust runtime that plays Modern Warfare 2 from the user’s installed game

Implements a standalone runtime for Call of Duty: Modern Warfare 2 (2009) in Rust on Bevy and wgpu, loading maps, models, textures and weapons from the user’s installed game through native FastFile readers and translating its Direct3D 9 shaders to WGSL. Bots, demo recording and replay, and multiplayer over custom UDP with a QUIC master are implemented, while README warns that gameplay remains incomplete, with missing behavior, bugs and desyncs. README states that the whole project is written by an LLM; NOTICE names the community projects consulted and says the original binaries were read with Ghidra.

Targets
Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed

Requirements & limits

  • Prerequisites: Needs the user’s own MW2 Multiplayer installation, which BUILD.md describes as the Windows depot of a Steam copy; Black Ops and MW3 data are optional. The repository and release archives contain no game data, and CONTRIBUTING.md forbids attaching, committing or linking original game files.
  • Prerequisites: Builds with stable Rust through rustup and GNU Make. Linux needs a C/C++ toolchain and X11, Wayland, ALSA, udev and xkbcommon development packages; macOS needs only the Xcode command-line tools. The Windows release is a password-protected iw4l-windows.zip; given a server operator’s .iw4l-server descriptor, iw4l.exe installs SHA-256-verified executable updates from that operator.
  • Limits: Releases are tagged demo builds, v0.1.0-demo.23 at review. APIs, caches and the wire protocol change between commits, so multiplayer peers must run the same build.
  • Testing evidence: No CI workflow or cargo test suite: make publish-check rejects test modules, and the only permanent checks are two owner-approved end-to-end scenarios driving real clients on MW2 maps with the user’s game data. Fidelity to the original game is not measured.
  • License: Apache-2.0 source with two bundled OFL fonts; game assets and trademarks remain their owners’.
  • Attribution: NOTICE says no third-party source is vendored and names references read during development, including OpenAssetTools, IW4x, KisakCOD and Plutonium’s decompiled Black Ops II scripts. A provenance note records replacing a movement module after reported similarities to GPL code.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · vladtrc/iw4L · Revision acc57a5
  2. NOTICE GitHub · vladtrc/iw4L · Revision acc57a5
  3. CONTRIBUTING.md GitHub · vladtrc/iw4L · Revision acc57a5
  4. AGENT.md GitHub · vladtrc/iw4L · Revision acc57a5
  5. docs/BUILD.md GitHub · vladtrc/iw4L · Revision acc57a5
  6. docs/WINDOWS.md GitHub · vladtrc/iw4L · Revision acc57a5
  7. Makefile GitHub · vladtrc/iw4L · Revision acc57a5
  8. crates/approved_tests/README.md GitHub · vladtrc/iw4L · Revision acc57a5
  9. docs/provenance/movement-iw4.md GitHub · vladtrc/iw4L · Revision acc57a5
  10. LICENSE GitHub · vladtrc/iw4L · Revision acc57a5
  11. https://github.com/vladtrc/iw4L/releases/tag/v0.1.0-demo.23

More in Games

All 318 entries in GamesGames case studies (239)

↑↓ move↵ open⌘↵ new tab