Skip to content
This repository has been archived by the owner on Oct 21, 2020. It is now read-only.
/ Luna Public archive
forked from nommiin/Luna

A custom implementation of the GameMaker runtime

License

Notifications You must be signed in to change notification settings

gm-archive/Luna

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repo is NOT abandoned, development has just been set aside for now. Contributions are still welcome!

Banner

A custom implementation of the GameMaker 2.3 runtime in C#

Features

  • Parses the GameMaker IFF file for some assets
  • Allows for object instantiation
  • Runs an event loop and executes objects' bytecode
  • Implements input and rendering via OpenTK

Why?

Nothing like this really exists. I don't want to make this to be some sort of super performant crazy alternative to the base GameMaker runner, instead I think it'd be cool to implement improved/new features the base Runner doesn't have. Long term I'd like to have Luna running most GM games (unlikely). Maybe I could add some sort of scripting implementation to allow for modding games at runtime. Who knows! This is mostly just a fun project for learning how stuff works. Do I know what I'm doing? Not really!

Goals

  • See "Long Term" header in TODO.md
  • Function Coverage: 0.45% (88/~1954)

Notes

Special Thanks

  • Thanks to @Shana6 for the numerous contributions
  • Thanks to @YellowAfterlife for assistance with figuring out bytecode
  • Thanks to @DatZach for assistance in improving Luna's performance early on
  • Thanks to @i_am_thirteen for designing Luna's logo

About

A custom implementation of the GameMaker runtime

Resources

License

Stars

Watchers

Forks

Languages

  • C# 100.0%