IMO you chose wrong tech for the job. It is very simple 2D game yet it starts 5s on my desktop and 20s on my phone. If I would to make a simple game and even simplest program starts 20s I would stop right there and choose different technology.
You probably did it to try Go, wasm and ECS and I understand that, but if you to make a game seriously, you should have stopped much earlier. In the early stage of the game development you should made 5-10 prototypes using different tech/frameworks and use the best one. I seriously don't see Go+wasm+ESC being the best one for this kind of game.
How can you not go insane if you have to wait 20s for every page refresh.
It's not a "serious" project. I chose Go specifically because I like the language (and Ebitengine is super fun to work with) and I like the idea behind ECS. I made games with Unity before, which you could consider a "serious" engine, but the fun of development is nowhere near what I experienced here.
Thinking about what would be the most efficient engine for the game would kill all the fun for me and the project wouldn't exist. :)
I do also really like Go for various reasons, and have been working on a Go -> C++ transpiler and associated ECS libs to make a personal game project with. I used it to make a game for Raylib game jam earlier this year too: https://github.com/nikki93/raylib-5k You can see what the development workflow looks like in this video (the ECS stuff also has a built-in editor like a much more minimal version of Unity's): https://www.youtube.com/watch?v=8He97Sl9iy0
I'm trying to decide how much time I should devote to making this easier to set up / use by other people in the medium term, since it's just a side project for me. Might make a codespaces template so it's quick to get started.
Oh, come on. This obviously isn't pretending to be a highly polished game experience - it's something someone made for a game jam, and they've taken the time to publish it and write it up to a reasonable degree so that other people can take a look at, if they wish.
They chose exactly the right tech for the job they intended - a fun experiment in a particular language and framework, and a write up based on that. They perhaps chose the wrong tech for your expectations?
You probably did it to try Go, wasm and ECS and I understand that, but if you to make a game seriously, you should have stopped much earlier. In the early stage of the game development you should made 5-10 prototypes using different tech/frameworks and use the best one. I seriously don't see Go+wasm+ESC being the best one for this kind of game.
How can you not go insane if you have to wait 20s for every page refresh.