GameWorld Games

July 21, 2026 ยท View on GitHub

This repository contains 34 browser-game snapshots used by GameWorld. Each game is self-contained under benchmark/<game_id>/ and exposes the GameWorld Game API through window.gameAPI.

Benchmark Games

IDGameGenreSummaryGame APIs
0101_2048PuzzleSlide and merge tiles toward larger values.game_state.score, metrics.max_tile, game_state.environment
0202_another-gentlemans-adventurePlatformerRetro side-scrolling action shooter with coin pickup and upgrades.metrics.session_coins_collected, metrics.deaths, game_state.player, game_state.environment
0303_astrayPuzzleRoll a ball through a 3D maze to the exit.game_state.completion_progress, metrics.distance_to_goal, game_state.environment
0404_boxel-reboundRunnerSide-scrolling jump-and-avoid platformer.game_state.completion_progress, game_state.player.jump_ready, game_state.environment
0505_breakoutArcadeClassic brick breaker.game_state.completion_progress, game_state.entities, metrics.lives
0606_captaincallistoPlatformerSpace platformer with coin collection and an exit goal.metrics.coins, metrics.deaths, metrics.distance_to_goal, game_state.environment
0707_chrome-dinoRunnerEndless Chrome dino runner.game_state.score, game_state.player, game_state.environment, metrics.distance
0808_core-ballArcadeShoot balls into a rotating core without collisions.metrics.successful_attaches, metrics.shots_fired, game_state.environment, game_state.completion_progress
0909_cubefieldRunnerEndless obstacle dodging through a cube field.game_state.score, game_state.player, game_state.environment
1010_doodle-jumpPlatformerKeep jumping upward across platforms.game_state.score, game_state.player.is_dead, game_state.environment, game_state.entities
1111_edge-surfRunnerEdge surf-style-like endless runner.game_state.score, game_state.mode, metrics.distance, metrics.lives, metrics.boosts, metrics.shields
1212_fireboy-and-watergirlSimulationTwo-character cooperative puzzle platformer.game_state.diamonds, metrics.fireboy_diamonds_collected, metrics.watergirl_diamonds_collected, game_state.completion_progress
1313_flappy-birdRunnerEndless click-to-fly pipe dodging game.metrics.pipes_passed, game_state.environment
1414_geodashPlatformerGeometry Dash style rhythm platformer.game_state.score, metrics.deaths, metrics.distance, metrics.points, metrics.stars
1515_google-snakeArcadeClassic snake game.metrics.apples_eaten, metrics.snake_length, metrics.speed, game_state.environment
1616_hextrisPuzzleFast hexagon-based rotation and clearing game.game_state.score, metrics.topped_out, metrics.difficulty, game_state.environment
1717_mario-gamePlatformerMario-like platform adventure.metrics.score_earned, metrics.coins, metrics.deaths, metrics.level_progress_percent, game_state.environment
1818_minecraft-clone-glmSimulationFirst-person mining and resource gathering.game_state.inventory.item_gains, game_state.environment, metrics.hotbar_occupied_slots
1919_minesweeperPuzzleClassic Minesweeper logic puzzle.game_state.score, metrics.revealed_safe_cells, metrics.correct_flags, metrics.remaining_mines, game_state.completion_progress
2020_monkey-martSimulationManage a monkey supermarket, restock, and collect money.metrics.primary_score, game_state.money, game_state.money_total_earned, game_state.money_scan_status
2121_ns-shaftRunnerSurvival arcade game about falling onto safe platforms.gameTimeMs, game_state.player.life, game_state.environment
2222_ovoPlatformerFast parkour platformer with wall slides and jumps.game_state.level, game_state.coins, metrics.coin_remaining_level, game_state.completion_progress
2323_pacmanArcadeClassic Pac-Man maze chase.game_state.score, game_state.maze_index, metrics.high_score, status
2424_restless-wing-syndromePlatformerPlatformer with automatic wing flaps.game_state.level, metrics.deaths, metrics.spike_hits, game_state.completion_progress
2525_rocket-league-2dArcade2D car soccer.metrics.goals_for, metrics.goals_against, metrics.distance_to_goal, game_state.player
2626_run-3RunnerEndless running through space tunnels.metrics.distance, metrics.deaths, metrics.attempts, game_state.environment
2727_stackPuzzleTiming-based tower stacking game.metrics.successful_blocks, metrics.missed_blocks, game_state.environment
2828_temple-run-2RunnerEndless runner with turns, jumps, and slides.metrics.score, game_state.distance, metrics.stumbles_this_run, metrics.powerups_collected_this_run, metrics.resurrects_this_run
2929_tetrisPuzzleClassic Tetris.game_state.score, metrics.topped_out, game_state.environment.board, metrics.lines_remaining
3030_vex-3PlatformerHigh-speed trap-heavy platformer.metrics.checkpoints_passed, metrics.exit_reached, metrics.deaths, metrics.distance_to_goal
3131_wolf3dSimulationWolfenstein-style first-person shooter.metrics.kills, metrics.health, metrics.ammo, metrics.lives, game_state.environment.nearest_enemy, game_state.completion_progress
3232_wordlePuzzleFive-letter word guessing game.metrics.letters_correct, metrics.word_number, metrics.variant_id, game_state.environment
3333_worlds-hardest-gameArcadeHigh-difficulty maze with enemies and coin collection.game_state.level, metrics.uninterrupted, metrics.deaths_this_episode, metrics.distance_to_goal
3434_worlds-hardest-game-2ArcadeSequel with more complex routes and objectives.metrics.coins, metrics.keys, metrics.deaths_this_episode, game_state.environment

Minimal GameAPI Example

Every game exposes the following JSON-safe interface:

window.gameAPI = {
  version: "2.0",
  capabilities: {
    supports_seed: false,
    supports_level_select: false,
    supports_difficulty: false,
    supports_inplace_reset: true,
    supports_reload_reset: false,
    supports_pause_detection: true,
    supports_menu_detection: true,
    provides_actionable_flag: true
  },
  init: async (config) => {},
  reset: async (options) => {},
  getState: () => ({})
};
  • init(config) applies episode options and reports which values were accepted and applied.
  • reset(options) starts a fresh episode or reports why the reset failed.
  • getState() returns a JSON-serializable snapshot without changing game state.

For example, window.gameAPI.getState() for 01_2048 can return:

{
  "schemaVersion": "2.0",
  "gameId": "01_2048",
  "seed": 42,
  "timestampMs": 1784620800000,
  "gameTimeMs": 8421,
  "status": "playing",
  "is_actionable": true,
  "terminal": {
    "isTerminal": false,
    "outcome": null,
    "reason": null
  },
  "game_state": {
    "score": 128,
    "environment": [
      [2, 4, 8, 16],
      [0, 0, 32, 64],
      [0, 0, 0, 2],
      [0, 0, 0, 0]
    ]
  },
  "metrics": {
    "primary_score": 128,
    "max_tile": 64
  }
}

Disclaimer

This repository is provided strictly for educational and research purposes only. Use of these assets for commercial use, profit-making activities, or any other unauthorized purpose is strictly prohibited. All rights in third-party materials remain with their respective copyright owners. Users are responsible for ensuring that any use complies with all applicable copyright and licensing requirements.