gecko's site

Nim Tilengine Bindings

Tilengine by Megamarc is a free, cross-platform software rendering engine for retro-style 2D games using tilemaps, sprites and palettes. Many oldschool tricks are supported such as palette-based animation and per-scanline raster effects. The implementation is efficient and can run well even on a Raspberry Pi.

Last month I put together nim-tilengine, allowing you to use Tilengine with the Nim programming language.

These bindings strip away all the cruft from the C API, leading to code that's shorter and more readable than even the official Python bindings, while keeping native performance!

Quick Example

Screenshot of a cave level from Goodboy Galaxy running in an SDL window.
import tilengine

let engine = init(320, 180, numLayers = 4, numSprites = 128, numAnimations = 128)

let map = loadTilemap("assets/map.tmx")
Layer(0).setTilemap(map)

createWindow()
while processWindow():
  drawFrame()

map.delete()
deleteWindow()
deinit()