Mobile
Mobile is roughly half of Funox traffic. A game that doesn't play well on a phone simply can't succeed.
Touch controls
- Provide a touch-first control scheme. Don't make the player imagine WASD on a phone.
- Touch targets should be at least 44 × 44 px (Apple HIG) or 48 × 48 dp (Material).
- Visualize what's pressed — show feedback on touchstart, not just touchend.
- Support multi-touch for movement + shooting if your game needs both.
1canvas.addEventListener("touchstart", onTouchStart, { passive: false });2canvas.addEventListener("touchmove", onTouchMove, { passive: false });3canvas.addEventListener("touchend", onTouchEnd, { passive: false });Layout
- Letterbox is fine when forced into the wrong orientation.
- Reserve a safe area at the top and bottom for notches and home indicators.
- Test on a 16:9 phone in portrait and a 19.5:9 phone in landscape.
- Use
dvhunits in CSS to handle the mobile address bar (100dvh).
1.game {2 width: 100vw;3 height: 100dvh;4}iOS quirks
-
Disable text selection on the canvas:
1canvas {2 -webkit-user-select: none;3 user-select: none;4 -webkit-touch-callout: none;5} -
AudioContext starts suspended until a user gesture. Resume on first input:
1function unlockAudio() {2 audioCtx.resume();3 document.removeEventListener("touchend", unlockAudio);4}5document.addEventListener("touchend", unlockAudio, { once: true }); -
Avoid pinch-zoom:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">.
Android quirks
- WebView versions vary wildly. Test against Chrome stable and Samsung Internet.
- Memory-restricted devices can crash if peak memory exceeds 512 MB.
Performance
- Mobile GPUs are weaker than mobile CPUs — keep fillrate down.
- Halve particle counts on touch devices.
- Don't ship 4K textures for a game that displays at 720p.
Mobile-only restrictions
Some Funox features are mobile-only:
- Homepage features require initial download ≤ 20 MB.
- Orientation lock is configurable in the Developer Portal.
- Vertical / portrait games can be promoted in mobile-only sections.