Live demo

Edit. Save. Live.

Edit your match logic in Lua. The running match picks up the change on the next tick. No restart, no reconnect, no kicked players.

Run it locally

Three containers, about 90 seconds. Postgres, asobi_lua, and an nginx proxy on localhost:3000.

1

Clone and start

git clone https://github.com/widgrensit/asobi
cd asobi/examples/hotreload-demo
docker compose up
2

Open the page

Visit http://localhost:3000. A cube appears. Drive it with WASD.

3

Edit while connected

Open lua/match.lua. Change cube_color or cube_size and save. The browser updates on the next tick.

Build your own

Implement the asobi_match behaviour in Erlang, or write game logic in Lua. Both hot-reload.