Metagine
Metagine is a 2D game engine hobby-project that I’m developing in C++ during spare time. The engine started out as a few fragments of ideas on a sleepless night sometime in 2008. Since then I’ve developed it on-and-off around other projects purely for the learning experience. I’m well aware of the ‘make a game, not a game engine’ argument – I think it is an achievable target to make a simple engine with realistic features and I’ve learned a lot during the process, making it a worthwhile investment of my time.
Features
The current feature set is quite modest but it grows with time as I implement new things:
- 2D renderer using OpenGL and SDL (and VBO support for modern cards).
- Interactive 2D physics provided by the Box2D C++ library.
- Interactive developer console.
- Data-driven design powered by TinyXML (configurable via external XML files).
- Designed with OOP in mind.
- Optimized for native HD support (1080p/720p).
- Large scrolling tile maps.
- Basic shader support.
- Decent audio support provided by FMOD.
Planned Features
These are features which I would like the engine to support further down the line, spare time permitting. These are more advanced features but in my mind are still quite feasible for a project of this size:
- More robust shader integration.
- Integrated scripting language (e.g. Lua).
- Switch to open-source audio library (instead of FMOD).
- Increased use of XML files for configuration.
- Integrated level/tile editor.
Screenshots
Because Metagine is not a game itself, there aren’t any specific screenshots. Instead here are a couple of projects that I’m working on which make use of Metagine as an engine. For more screenshots please see the other projects I’m working on: Able In Space and BlockMaster.
Videos
Throughout development I’ve recorded various videos to demonstrate new features and functionality. The most recent video demonstrates some of the functionality of the Quake-inspired interactive developer console. For more Metagine videos I highly recommend you checkout my YouTube channel!
Download
Since Metagine is a source-release there are no binary files available for download. Instead you need to download the source-code, there are a couple of options for this: