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:

  1. Browse the source-code online (GitHub).
  2. Downloaded the latest release (Zip).