Skip to content

stoneface86/opengml

Repository files navigation

OpenGML

What this is: a free, open-source, cross-platform interpreter for GML 1.4, everyone's favourite game development toolkit. It's easy: ogm ./MyGame.project.gmx in any terminal and your game will launch.

What this is not: an IDE or graphical user interface. If you want to OpenGML for development, you must write your code, draw your sprites, and tile your rooms with your own preferred software. Recommendations are provided in the "Other Software" section below.

Getting Started

  • Use: To get started running an existing GML project or a new project, see the Quickstart guide.
  • Build: To compile OpenGML from source yourself, see the build instructions.
  • Link: To use OpenGML as a C++ library for building your own tool, see the Library guide.
  • Develop: If you are interested in helping to develop OpenGML, or you'd like to modify or hack it, or you just want to get an overview of the codebase, see the Source Code Overview.
  • Recurse: To use OpenGML from within GML (e.g. to replace string_execute()), see the usage instructions for gig.

Features

  • Written to be totally compatible with the 1.4 version of everyone's favourite game creation toolkit, unlike ENIGMA, which does not (and will never be able to) run all games written in GML. (100% compatability for OpenGML isn't yet achieved, but it is a design goal from the ground-up.)
  • Compiles to an intermediate bytecode format, allowing speedy execution and the future potential for compilation to different targets (e.g. JavaScript/HTML5).
  • Available as a stand-alone binary to interpret GML: ogm ./MyGame.project.gmx
  • Can also be used as a C++ library to parse, beautify, compile, and execute GML code: #include <ogm/interpreter/execute.hpp>

Planned Features

  • Debugger
  • Beautifier
  • Graphical display for the interpreter (SDL)
  • 100% compatability with GML.
  • GML 2.0 support

Other Software

Here are some software suggestions which may be helpful for creating games with OpenGML. Not all of these have been tested for interoperability.

Code Editors

Room Editors

  • PushEd, which creates GML-compatible rooms in both 2D and 3D.

Image Editors

  • GIMP, a powerful open source, cross-platform image editing tool, not specifically for pixel art.
  • Krita, a powerful open source, cross-platform image editing tool, not specifically for pixel art.
  • GrafX2, an open source, cross-platform cross-platform 256-colour bmp editing tool.

Other compilers and interpreters

If you decide you don't like OpenGML, you may be interested in these alternatives. Not all of them are complete or usable.

Full-Resource IDEs

These combine all of the above to offer all of the different tools needed to create a game in GML in one comprehensive user-interface.

  • The best and most reliable IDE and compiler available for this programming language can be found here. Neither free nor open source.
  • LateralGM, an open source IDE for GML and ENIGMA. Might be out of date.

Download

Check the releases to see if there is a recent build for your operating system. If not, see the build instructions.

About

GML interpreter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 94.4%
  • Game Maker Language 3.0%
  • C 1.6%
  • Other 1.0%