RapidGameFramework
Reusable Godot managers for data-driven small games
Loading...
Searching...
No Matches
Mobile And Browser Hardening Checklist

t

Use this checklist when preparing a web/mobile release. The goal is to catch old-phone issues early: frame drops, memory growth, audio hitches, oversized modals, touch/controller switching problems, and asset packages that are larger than the game needs.

Test Targets

  • Desktop browser: current Chrome/Edge/Firefox.
  • Mobile browser: at least one iOS Safari and one Android Chrome device.
  • Low-spec target: a phone roughly five years old or a throttled browser profile.
  • Controller path: one XInput-style controller.
  • Touch path: no physical keyboard/controller connected.

Arcade Pong Release Checks

  • Start Exhibition Match from the single-game Arcade Pong build.
  • Run Easy, Medium, Hard, and Custom starts; each should reset match settings from the selected preset.
  • Play to 5 points and choose New Match; the mode picker should reopen without a softlock.
  • Trigger multiball at least twice; all balls should remain responsive and scoring should wait for every active ball.
  • Use Fast Ball and Slow Ball; each should multiply current speed immediately without accidentally reversing the intended effect.
  • Use Rocket; projectile hit detection should feel tight and the stunned paddle should flash.
  • Let power-ups spawn while two are already on-field; collection should go to the last hitter owner.
  • Switch between keyboard and controller; power-up labels should switch between 1/2/3 and controller button labels.
  • Connect a controller while touch controls are visible; touch controls should hide automatically.
  • Disconnect/stop using controller and use keyboard; labels and controls should return to keyboard behavior.
  • Open Achievements, Stats, Settings, Game Settings, and Game Info on mobile; every screen should keep its Back button visible and the main content scrollable.
  • Let music transition between tracks during play; there should be no obvious gameplay hitch.

Cross-Game Checks

  • Main menu loads within a few seconds after the splash sequence.
  • Theme changes apply immediately to menus, buttons, panels, and pause controls.
  • Global achievements remain visible from the main menu across save changes.
  • Settings modals are opaque and readable on mobile.
  • Back buttons return to the previous menu, not an unrelated game/menu state.
  • Text size Medium should be readable on phone browsers; Large should not push modal actions off-screen.
  • Controller Start opens pause/menu in gameplay; Select opens settings where supported.
  • RB/LB moves between tabbed menu pages where applicable.
  • Right stick scrolls scrollable pages.

Low-Power Mode Requirements

Low-power mode should be data-driven and shared through settings/game settings instead of a scene-local toggle. A low-power preset may:

  • Reduce particle/trail/shader effects.
  • Prefer static or lower-rate sprite animation.
  • Disable decorative background animation.
  • Reduce maximum active nonessential field effects.
  • Use smaller warm caches for optional UI screens.
  • Keep gameplay-critical collision/update rates unchanged.

Current implementation:

  • SettingsManager.low_power_mode is exposed through the reusable standard settings popup.
  • Arcade Pong uses the shared flag to cap active field power-ups, reduce power-up spawn pace, use smaller held power-up slot icons, and hide transient field effect text from res://data/system/low_power_presets.json while keeping collision and scoring rules unchanged.
  • AudioManager uses the shared flag to clear/skip queued next-track music streams according to the same preset, reducing memory and decode pressure on older browser/mobile targets.

Asset And Package Checks

  • Individual game builds include only shared assets plus that game's data/assets.
  • Web package size is reviewed before release.
  • Music files are compressed appropriately for web distribution.
  • Large spritesheets are included only when referenced by a game sprite map.
  • Android builds remain optional until web/windows/linux packages are stable.

Pass Criteria

  • No repeatable browser frame drops in normal play.
  • No visible audio hitch during normal track transition.
  • No modal exceeds the viewport without a visible scroll path and Back action.
  • No input mode leaves the player unable to navigate menus.
  • No repeated play/restart/menu cycle shows unbounded memory or node growth in available baseline reports.