Skip to content

misternebula/OpenGM

Repository files navigation

OpenGM

What is this?

This program aims to run Gamemaker Studio games, emulating the original games as closely as possible. The assembly code of the game is parsed and executed in a stack-based system, and the built-in Gamemaker functions are replicated too.

How do I get this running with a game?

Important

A lot of this is temporary, since the project is (relatively) unfinished. A better way of loading games is planned.

  1. Build the project.
  2. Navigate to (or create) \OpenGM\OpenGM\bin\game\
  3. Place all files and folders from the game folder into this folder.
  4. Run the project.
  5. OpenGM should now convert the games data.win into a file named data_OpenGM.win. This is not the same file format as the original file. This file is a compressed file used to store intermediary data that OpenGM use.

If any errors occur, OpenGM probably does not support features of the GameMaker version the game uses.

Supported Games

Ideally, any Gamemaker game should work. However, it's impossible to support every single quirk of every single engine version.

The following games are used in development to test feature parity, and as such OpenGM should support any game running on the same engine version as these games :

Game Engine Version Notes
MINDWAVE Demo 2024.11.0.226 Loads, but missing core engine features.
DELTARUNE 2022.0.3.104 (LTS-I) Tested the most, works very well.
DELTARUNE Chapter 1 & 2 DEMO (LTS Branch) 2022.0.3.99 (LTS) Works well.
FAITH: The Unholy Trinity v1.5 2022.0.2.49 (LTS)
Pizza Tower Eggplant Build 2022.3.0.497
DELTARUNE Chapter 1 & 2 DEMO 2022.1.0.482 Works well.
Pizza Tower SAGE 2019 Demo 2.2.3.344
DELTARUNE Chapter 1 (SURVEY_PROGRAM) 2.2.0.258 Works well.
Undertale 1.0.0.1539 Kind of works, but breaks in a lot of places.

Not every feature from these games may work, but the game will at least load and try to execute.

Dependencies

Legal Stuff

This project is covered by the MIT license. See the license for more information.

Parts of the HTML runner have been used as reference for how to implement certain functionality.

About

An open-source runner of Gamemaker games, written in .NET with OpenTK.

Topics

Resources

License

Stars

Watchers

Forks

Contributors