How Fantasy Arcade Games Work
Every game on this site runs on one shared HTML5 engine, which is why thirty games feel like a single library rather than thirty unrelated experiments. Understanding the four systems below means walking into a game you have never played already knowing most of it.
The canvas and the loop
Each game draws into a fixed 960×600 design space that is letterboxed into whatever
room the page has, so the layout is identical on a 320px phone and a 1920px monitor. The
simulation runs on requestAnimationFrame with a clamped time step, which means a
stalled or backgrounded tab cannot teleport every enemy across the arena when it resumes. Games
pause themselves the moment the tab is hidden.
Three-phase actions
Every attack, spell and trap has a wind-up you can see, a short active window that is the only part that can hurt anything, and a recovery during which its owner cannot act. That structure is why the battle games reward patience: the punishable moment is the recovery, not the wind-up, and attacking on reflex lines your own recovery up with somebody else's blade.
Quality, not pass or fail
Timed actions are graded continuously rather than as a hit or a miss, and the falloff is symmetric — fifty milliseconds early and fifty late score the same. That is useful information: if you are missing consistently in one direction, the fix is one decisive adjustment rather than several small ones.
Difficulty that rises inside a run
There are no unlocks and no levels to grind. Difficulty rises within a single run along a curve that is gentle at the start, steepest in the middle and flattens at the top — and in the wave-based games every fourth wave is deliberately easier, because a curve that only rises reads as a wall and players stop at walls.