henriquelalves

 henriquelalves

spring lisp game jam - devlog 2

2024-04-13
#lisp#guile#gamejam#devlog

After a good night sleep, I now believe that the game engine I have in mind is NOT compatible for web, and any solution I find will be a workaround the design of the architecture I want.

The idea was to create a Game Engine that separates the boring part (rendering, window management, input) from the fun part (game logic) by creating two well-integrated codebases:

Most game engines that export to web pack the entire application into a Wasm executable, which is great for browser compatibility but it's fundamentally different from what I want from my game engine. The main reason I chose Guile is that it's a scripting language with amazing compatibiltity to the C backend I have in mind, but compiling <libguile.h> to Web means I'm basically killing the user-side functionality of a scripting language in the first place.

So, what to do? The alternatives are:

So... I think I'll just give up doing a Web version of the game for Spring Lisp Game Jam, and focus on building a good framework for the game engine that runs locally on player machines. I can explore the other solutions on other game jams.

My next steps will be to start exploring the C Raylib wrapper and play around the Guile integration. No more EMSdk shenanigans for this jam!