Guitar Dream Engine

A reimplementation of all major Guitar Hero and Rock Band engines.

README

Guitar Dream Engine

A re implementation of all major guitar hero and rock band engines.

  • Don't contain any original code.
  • Don't contain any original asset.
  • Don't distribute any original asset.
  • We don't support or endorse piracy in any regard.
  • This repo does not contain any ISO or original asset.
  • If you want to play, buy and rip original media.

This is a labor of love!

Contents

idOriginal gameBase versionDone
gd-game-01Guitar HeroPlaystation 294% Playable
gd-game-02Guitar Hero IIXbox 36079% Playable
gd-game-03Guitar Hero Encore: Rocks the 80sPlaystation 250% Playable
gd-game-04Guitar Hero III: Legends of RockXbox 36025% Playable
gd-game-05Rock BandXbox 360--
gd-game-06Guitar Hero: AerosmithXbox 360--
gd-game-07Guitar Hero World TourXbox 360--
gd-game-08Rock Band 2Xbox 360--
gd-game-09The Beatles: Rock BandXbox 360--
gd-game-10Guitar Hero: MetallicaXbox 360--
gd-game-11Guitar Hero: Smash HitsXbox 360--
gd-game-12Guitar Hero 5Xbox 360--
gd-game-13Lego Rock BandXbox 360--
gd-game-14Band HeroXbox 360--
gd-game-15Guitar Hero: Van HalenXbox 360--
gd-game-16Green Day: Rock BandXbox 360--
gd-game-17Guitar Hero: Warriors of RockXbox 360--
gd-game-18Rock Band 3Xbox 360--
gd-game-19Rock Band 4Xbox OneConsidering

Repository layout

prj-gd-engine/
  README.md LICENSE LICENSE-ADDITIONAL-TERMS.md
  .gd-game-00-boilerplate/   the template for a new game folder
  .github/                   workflows and the repo guard
  gd-backlog.md              THE single backlog (every game, the launcher, releases, the site)
  guidelines/                the rules for every task (read before working)
  spikes/                    studies and spikes (platforms, signing, stores, HDR...)
  docs/                      the official codebase documentation
  gd-engine-docs/            the engine codebase (shared engine documentation)
  gd-engine-launcher/        the Guitar Dream Universal Launcher
  res/                       official Guitar Dream assets (icon)
  original_isos/             your own disc images and ROMs (git-ignored)
  gd-game-01/ ... gd-game-19/

Every game folder (gd-game-02 is the model; gd-game-01 keeps its older layout for now) has README.md, agent-instructions.md (how the system works and the rules for AI agents), CHANGELOG.md, local_build.sh, game-info.yaml, build_commands/, docs/, engine/, tools/, agents/ (notes for AI coding agents) and the git-ignored extracted/ (your rip), ghidra/ (reverse-engineering project; never committed) and local_builds/. game-info.yaml holds the game's id, names, launch date, platforms, its Guitar Dream version, whether it is ready to play and how complete it is.

Before you work

Read guidelines/ (general guidelines, the universal launcher rules and the behaviours every game shares) and the single backlog gd-backlog.md. Update the backlog at the start and at the end of every task. Studies and spikes are in spikes/.

Guitar Dream Universal Launcher

gd-engine-launcher/ holds the launcher (gdul): one program, one window, that lists every game from gd-engine-launcher/games.yaml (the path of each game-info.yaml), recognises your disc images by their content (found in original_isos/, picked with Load ISO, or dropped onto the window) and plays the ready games inside its own window. Each game is a module (a .so / .dll) the launcher loads into its process and hands its window; quitting the game returns to the list. Every action is logged (date, user, action) in gdul.log in the launcher's save folder. Its version is in gd-engine-launcher/launcher-info.yaml (from 0.1.0).

Build it (Linux and Windows x86-64) with gd-engine-launcher/scripts/build.sh; the result is in gd-engine-launcher/local_builds/gdul-<version>-<os>-x86_64/, and a game module is only rebuilt when its guitar_dream_version changed. Architecture, the module ABI, the build manifest and the log: gd-engine-launcher/README.md.

Licence

Free to play, study and fork, not to sell: PolyForm Noncommercial 1.0.0 (LICENSE) plus the project's additional terms. In short:

  • no selling, no paywalled builds, no ads;
  • every copy and fork credits "Based on Guitar Dream Engine, https://github.com/mbracali/prj-gd-engine";
  • whoever distributes a modified version publishes its full source, marks every changed file and lists the changes in a CHANGES.md;
  • gameplay videos and streams are welcome, monetised or not.

Third-party code keeps its own licence. The games' names are trademarks of their owners; this project is not affiliated with or endorsed by them.

Documentation