Go for it. You're right, a lot more people will be able to play your game this way. :)
From my personal experience (have a look at the game I published for this jam), you should:
- use the compatibility export with love.js
- make every sound static
- make sure that if you rely on keys being in a specific order in a Lua table, you somehow sort them, because the order is a bit random at times on the web version. I think the spec for lua’s tables doesn’t specify that the keys should be in a specific order… My solution was to just get all the keys, put them in a table, sort them, then access the elements through this sorted list of keys.
It still bugs out randomly: the sound stops, there are visual artifacts, backgrounds don’t show sometimes…
I’m a bit disappointed to be honest; I think the “non compatibility” mode works way better because it supports threads, but itch.io can’t provide the right headers to enable this yet, so we have to default to the other mode.
Thanks for the tips! The static sound tip + allocating enough memory (with the -m flag) ended up being the solution to my issues with love.js (even though my game is <10mb, I ended up needing to allocate 70+ mb to get past some weird cryptic errors).
I haven't run into the key sorting issue, but I'll keep that in mind in the future.
I really wish love2d had more reliable web export too. I really love love2d, I love lua and love2d gets out of the way as far as frameworks go, which lets me go wild with writing my own architecture. If it had a reliable web export, I think it'd be my go-to tool for sure.
I'll check your game out too! It's nice to see other Love2d users in this jam. Thanks again for the tips!
This is exactly my experience, I absolutely love the fact that I can forget about the framework and build my own engine above it.
I’ve been looking for other frameworks that would do the same but support web better. Right now, I’m looking at Haxe with Heaps, it’s very promising, but I’m afraid the docs are a bit light, so I have to try it out! I’ve also played with raylib, but the Lua bindings don’t allow exporting to web… The raw C raylib can be compiled to web with emscripten though!
Ooh I'll take a look at Haxe, I'm always on the prowl for frameworks with good export capabilities. Finding frameworks with good documentation is always tough. As a former Unity dev, I feel like I took for granted how ubiquitous Unity-related help is online. Finding solutions for these smaller frameworks always takes a ton of digging.
I've never tried raylib although I've heard some good things! It's sad that you can't export its lua bindings to the web, but I'm glad to hear emscripten can port it to the web. I've tried SDL2 with lua scripting in the past, and it's nice but it feels like frameworks always have a few extra hoops to jump through when exporting for different platforms.
I feel like I've been on this never-ending hunt for the perfect game framework that simultaneously gives me a ton of freedom, but also has all the platform export capabilities of a full-service engine, but it might not exist yet!