Tilengine is a C99 based open source game engine/framework for creating retro or classic style games, such as those from the SNES or Genesis era. We first covered Tilengine way back in 2017 then again in 2018 when it was open sourced. In the 2 1/2 years since we lasted looked at it, Tilengine has continued to evolve quite a bit, including the 2.9 release just a few days back. In that time the source code license has changed from LGPL to the Mozilla Public License 2.
Key features of Tilengine include:
- Written in portable C (C99)
- MPL 2.0 license: free for any project, including commercial ones, allows console development
- Cross platform: available builds for Windows (32/64), Linux PC(32/64), Mac OS X and Raspberry Pi
- High performance: all samples run at 60 fps with CRT emulation enabled on a Raspberry Pi 3
- Streamlined, easy to learn API that requires very little lines of code
- Built-in SDL-based windowing for quick tests
- Integrate inside any existing framework as a slave renderer
- Loads assets from open standard standard file formats
- Create or modify graphic assets procedurally at run time
- True raster effects: modify render parameters between scanlines
- Background layer scaling and rotation
- Sprite scaling
- Several blending modes for layers and sprites
- Pixel accurate sprite vs sprite and sprite vs layer collision detection
- Special effects: per-column offset, mosaic, per-pixel displacement, CRT emulation…
- Supports packaged assets with optional AES-128 encryption
To get the most out of Tileengine you are also going to want the ability to create tmx map files. To popular tools for doing this are LDtk (tutorial here) and of course Tiled (tutorial here).
Tileengine is available at http://www.tilengine.org/. The source code is available on GitHub here with the various language bindings available here. If you would prefer to skip some of the complexity of building it yourself, binaries are available for $5 on itch.io.
You can learn more about Tilengine and see it in action in the video below.