Moon is a experimental prototyping 2D Game Engine written in C++ and scripted using mruby.
Currently testing is done linux, moon may not run or even compile on other systems. If you managed to get Moon running on your system, please open a PR and share your changes to get it built.
While moon attempts to vendor most of its dependencies, here is a list of things you'll need before getting started.
# building cmake >= 2.8.12 ruby >= 1.9.2 yard (for docs) # runtime OpenAL OpenGL # For dependency docs doxygen # for mruby-yaml yaml
We support graphics cards with OpenGL 2.1 support and the following extensions:
Cards that support OpenGL 3.0+ naturally support these extensions, because they are a part of the OpenGL 3.x series. (We basically use a 3.0 context with only the things we need that are widely supported on 2.1 cards so we have wider support).
We will make no effort to support anything less than 2.1.
# if you don't already have moon locally git clone --recursive https://github.com/polyfox/moon.git cd moon # if you don't have bundler installed gem install bundler # make sure you have all the nice things moon needs to build bundle update # finally execute the build process and watch it go bundle exec rake build # alternatively you can do this, which is done by the `rake build` mkdir -p build cd build cmake .. make
The build process is still clunky and your build may fail.
You can update Moon at anytime by grabbing the latest commits from master and updating the submodules if needs be:
git pull origin master # in case we added new submodules, you can initialize them during the update git submodule update --init
Moon is broken into 4 mrbgems,
engine requires the other 3.
audio can be used in your own projects outside of moon.
Please report any problems by opening an issue.