Libretro core with loadable LUA games


I'm working on an experimental version of tilengine. It's a libretro core with loadable games written in lua. Libretro cores are plugins that can be run inside Retroarch emulation environment, which provides unified input and windowing with post-processing shaders.

To be able to load many tilengine-based games from a single core, I integrated luajit parser inside it, so the game logic is implemented in external LUA script. This script must define the following items:

  • a config {} table with initialization parameters
  • a game_load() function that loads assets and performs initial game setup
  • a game_loop(frame) function that gets executed every frame
  • a game_unload() function that gets called when closing the game

The input is still not implemented, so only non-interactive demos are working right now. And as the system depends on luajit and retroarch, only Windows versions are tested.

User -> RetroArch <-> tilengine_libretro <-> game.lua

Maybe this experiment is a dead end, but it looks promising and it's a great integration example.

You can check progress in this GitHub branch:
https://github.com/megamarc/Tilengine/tree/libretro

This is the basic "game":
https://github.com/megamarc/Tilengine/bl...e/game.lua

This screenshot shows the basic LUA game loaded by tilengine_libretro core, running inside RetroArch with crt-lottes shader enabled:

Let me know what you think!

Get Tilengine

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.