I’m working on a large, complex FRPG game engine built using three.js and Rapier physics. One of the things I haven’t made up my mind about is whether to deploy it as a website or as a desktop app.
While making a website is easier for me technically, and is easier for players (nothing to install) there are some significant downsides. One is hosting costs: although there are many sites that offer free hosting for hobbyists, there are limits, and since the game assets are many gigabytes in size and are dynamically loaded and unloaded during play, those limits would quickly be exceeded if the game is at all popular. Also, storing saved games in browser local storage is risky, the player could easily lose all of their progress via “clear browsing data”.
Sites like itch.io which offer free hosting for games are really hosting downloadable installers, not actual websites.
The alternative approach is to use something like Electron, Tauri, or one of the many similar frameworks out there and make the game installable on the desktop. I’ve used both Electron and Tauri with three.js before, although apparently there are some issues with Tauri not supporting WebGL2 on some platforms. Although one of the things I really like about Tauri is that generating installer executables as part of a CI pipeline works right out of the box, you can set up github actions to build your binaries very easily.
What I’m looking for is the best user experience in terms of ease of installation; and the best developer experience. I’m curious to know what solutions folks have used for running three.js on the desktop, and how they compare to each other.