ES Engine is an old (2006 - 2008) open source 2D game engine done in C++. It is cross-platform and can use SDL 1.2 or OpenGL 2 for the rendering.
This engine was ported and was successfully used on the ARM GP2X, a Linux-based handheld video game console and portable media player developed by South Korean company GamePark Holdings, some app. such as FPaint were made with this engine.
The integrated libraries include:
- SDL Gfx
- SDL Image
- SDL Mixer
- SDL Ttf
- SDL Net
- OpenGL or SDL renderer
- Powerful resources loading system which can load resources directly from a single packed file (oldschool style ;))
- Build-in functions for sprites rotation, transparencies etc.
- Built-in set of drawing functions (pixels, circle, lines, rectangles etc.)
- Built-in set of transitions (screen fading)
- 2D RPG map renderer (based on the code of this article)
- Small Box2D wrapper for physics stuff
- Small LUA wrapper
- Small mySQL wrapper
- Small SDL_net wrapper for network stuff
- Handy utilities; writing/reading config. files, math functions, timers, framerate computation, threads, packer, md5
- Draw TTF fonts text with style and justification
- Specific functions for OpenGL (drawing 2D quads)
- GP2X specific stuff (overclocking, applying MMU Hack, touchscreen support etc.)
- Many examples
- Documentation with Doxygen
This engine was bundled with a RPG map editor with tile-based collision system, the editor support four tiles layer (this is enhanced code from an article), the maps could be loaded by the engine and rendered very easily, the UI was made with the Guichan library, there was also a self made files packer which use the Boost library.
This is one of my first "big" library project. :)