Star on GitHubStar2.4k stars

Case study

Dejavu: reimplementing classic Game Maker

Dejavu reimplements classic Game Maker in Rust to run existing projects and games on modern platforms. Its source includes GML parsing, compilation and interpretation, project reading, and a game runtime; the CLI accepts GMK projects, EXE games, and GML scripts. The implementation is early-stage, with GML and drag-and-drop code running while more APIs remain to be added.

Targets
App · Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Evidence class
C2 code & docs, no demo or download
Stars
89
Last commit
2025-03-25
Language
Rust
License (GitHub)
Apache-2.0

GitHub data as of 2026-11-10

Copy as MarkdownView JSONCite

Evidence

Observed
Code and documentation observed; no download method or demo found.
Checked
2026-11-09

How evidence classes are assigned

Requirements & limits

  • Prerequisites: A nightly Rust toolchain is currently required.
  • Scope: Input can be a Game Maker 8.0 GMK project, a game EXE, or a GML script.
  • Limits: The implementation is in an early stage with partial API support.
  • License: Dual MIT and Apache-2.0 licenses.

Cite

BibTeX

@misc{dejavu-game-maker-case,
  title = {{Dejavu: reimplementing classic Game Maker}},
  howpublished = {\url{https://github.com/rpjohnst/dejavu}},
  url = {https://github.com/rpjohnst/dejavu},
  urldate = {2026-11-06},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/dejavu-game-maker-case/}}
}

Plain text

Dejavu: reimplementing classic Game Maker. https://github.com/rpjohnst/dejavu (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/dejavu-game-maker-case/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · rpjohnst/dejavu · Revision 7698319

More in Games

All 2976 entries in GamesGames case studies (2832)

↑↓ move↵ open⌘↵ new tab