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
Tilengine
2D retro grapics engine with true raster effects for creating 8/16 bit style games
More posts
- Tilengine 2.15.2 releasedAug 29, 2023
- Tilengine 2.15 releasedApr 22, 2023
- Tilengine 2.14: new SNES-style layer windowFeb 10, 2023
- Tilengine 2.13 with per-tile palette selectorNov 12, 2022
- Tilengine 2.12 released: Tile & sprite 90º rotationNov 01, 2022
- Feature preview: tile & sprite 90º rotationOct 30, 2022
- Tilengine 2.11.3 bugfix releasedOct 30, 2022
- Tilengine 2.11.0 releasedOct 03, 2022
- Tilengine 2.10.0 releasedSep 30, 2022
- Preview of new CRT effectAug 21, 2022
Leave a comment
Log in with itch.io to leave a comment.