Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
We stopped trying to assert correctness and started generating pictures instead. Every screen gets rendered at a fixed list of viewports and saved as a PNG, then we look at the sheet. Twenty resolutions takes about a minute to eyeball, and it catches the things an assertion never will, like a panel that technically fits but reads wrong. The one automated check that earned its keep was text against UI rectangles rather than text against text. Our first version compared labels to other labels and passed happily while a string ran straight across three empty panels. The itch specific trap is the embed. The iframe size you set on the project page is its own viewport, it is not the browser window, and it is the one that gets forgotten until someone actually plays the web build.