Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)
Going the other way has one trap that costs an evening if you have not hit it before. An HTML5 game wrapped for desktop usually ends up loaded from a file:// URL rather than from a local http server, and fetch and XMLHttpRequest are both blocked on file:// origins. So if your game loads anything at runtime, an audio file, a texture atlas, a level JSON, those calls fail while the rest of the game runs fine. The window opens, the loop runs, and you get a silent game with missing art rather than an error pointing at the cause. Two fixes, either works. Serve the files over a local http server inside the wrapper, which is what Electron and Tauri will do if you point them at a server rather than at a path. Or inline the assets as data URIs at build time so nothing is fetched at all. We hit this on our own build and measured it both ways: identical bytes, correct over http, silent and textureless from file://. Worth knowing before you package rather than after.

Thanks for sharing that tip!