How we build and test games
A game that freezes, cheats or breaks on a phone is worse than no game at all. These are the checks every zyarcade game passes before it is published, and every time it changes.
1. Game rules are separate from graphics
Each game's rules live in their own module that knows nothing about the screen. Given the same starting position and the same moves, it always produces the same result. That lets us test the rules directly, thousands of times, without opening a browser: that a solitaire move is legal, that a sudoku has exactly one solution, that a computer opponent never makes an illegal move.
2. Every random event is reproducible
Shuffles and puzzle layouts come from a seeded random number generator rather than the browser's built-in one. The same seed always gives the same deal. This is what makes our daily challenges identical for every player, and it lets a test replay a whole game move by move. An automated check rejects any game-rules code that tries to use unseeded randomness or the system clock.
3. Automated play on five screen sizes
Before release, an automated browser plays each game on a desktop monitor, a wide screen, a tablet, a phone held upright and a phone held sideways, using touch where a real phone would. It starts a game, makes moves, reaches a win and a loss, restarts, and checks that best scores are remembered and that the game pauses when the tab is hidden. Time is simulated, so a three-minute round is checked in a fraction of a second. The test fails on any error in the browser console.
4. Speed budgets
Every game has a download budget based on its size: 50 KB for small games, 150 KB for medium ones and 400 KB for the largest (compressed). Heavier code such as a physics engine is loaded only by the games that use it. Our build fails if a game goes over budget, and we measure page speed and layout stability on every change.
5. Keyboard, touch and accessibility
- Every action works with both a keyboard and touch, and menus can be operated without a mouse.
- The game area reserves its space before it loads, so the page never jumps under your finger.
- Sound stays off until you interact, and one mute setting applies across all games.
- Games pause automatically when you switch tabs or apps.
6. Search and page checks
Automated checks confirm that every page has a single clear heading, a correct address, a description and structured data, and that the frequently asked questions shown on a page match the data we give search engines. A game cannot be published unless its rules page, tests and asset licences are all in place.
7. Original art and honest names
We use our own artwork, colours and layouts, sounds that are original or in the public domain, and openly licensed fonts, and we record the licence of every asset. Games use generic names; where a well-known commercial version exists, we deliberately make ours look and feel different.
8. A human plays it
Automated tests catch regressions, but they cannot tell whether a game is fun. Before a game goes live we play it on a real phone and a desktop, and we read every word of its rules and strategy guide.
Found something we missed? Please tell us — every confirmed bug becomes a new automated test.