Tilengine is a free, cross-platform 2D graphics engine for creating classic/retro games with tilemaps, sprites and palettes. Its unique scanline-based rendering system makes raster effects a core feature, a technique used by many games running on real 2D graphics chips.
Clone on GitHub
The following snippets illustrate how easy is to use tilengine in your program. Both snippets are equivalent, one in C and the other in Python. They initialize the engine at 400x240 resolution, with one background layer, no sprites and 20 animation slots. Then loads a map in Tiled TMX format, attaches it to the layer, and finally creates a display window and does a main loop until the user closes the window.
foreground = TLN_LoadTilemap ("sonic_md_fg1.tmx", NULL);
TLN_SetLayer (0, NULL, foreground);
int frame = 0;
TLN_CreateWindow (NULL, 0);
frame += 1;
import tilengine as tln
engine = tln.Engine.create(400,240,1,0,20)
foreground = tln.Tilemap.fromfile("sonic_md_fg1.tmx")
frame = 0
window = tln.Window.create()
frame += 1