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
| ID | Game | Genre | Summary | Game APIs |
|---|---|---|---|---|
| 01 | 01_2048 | Puzzle | Slide and merge tiles toward larger values. | game_state.score, metrics.max_tile, game_state.environment |
| 02 | 02_another-gentlemans-adventure | Platformer | Retro side-scrolling action shooter with coin pickup and upgrades. | metrics.session_coins_collected, metrics.deaths, game_state.player, game_state.environment |
| 03 | 03_astray | Puzzle | Roll a ball through a 3D maze to the exit. | game_state.completion_progress, metrics.distance_to_goal, game_state.environment |
| 04 | 04_boxel-rebound | Runner | Side-scrolling jump-and-avoid platformer. | game_state.completion_progress, game_state.player.jump_ready, game_state.environment |
| 05 | 05_breakout | Arcade | Classic brick breaker. | game_state.completion_progress, game_state.entities, metrics.lives |
| 06 | 06_captaincallisto | Platformer | Space platformer with coin collection and an exit goal. | metrics.coins, metrics.deaths, metrics.distance_to_goal, game_state.environment |
| 07 | 07_chrome-dino | Runner | Endless Chrome dino runner. | game_state.score, game_state.player, game_state.environment, metrics.distance |
| 08 | 08_core-ball | Arcade | Shoot balls into a rotating core without collisions. | metrics.successful_attaches, metrics.shots_fired, game_state.environment, game_state.completion_progress |
| 09 | 09_cubefield | Runner | Endless obstacle dodging through a cube field. | game_state.score, game_state.player, game_state.environment |
| 10 | 10_doodle-jump | Platformer | Keep jumping upward across platforms. | game_state.score, game_state.player.is_dead, game_state.environment, game_state.entities |
| 11 | 11_edge-surf | Runner | Edge surf-style-like endless runner. | game_state.score, game_state.mode, metrics.distance, metrics.lives, metrics.boosts, metrics.shields |
| 12 | 12_fireboy-and-watergirl | Simulation | Two-character cooperative puzzle platformer. | game_state.diamonds, metrics.fireboy_diamonds_collected, metrics.watergirl_diamonds_collected, game_state.completion_progress |
| 13 | 13_flappy-bird | Runner | Endless click-to-fly pipe dodging game. | metrics.pipes_passed, game_state.environment |
| 14 | 14_geodash | Platformer | Geometry Dash style rhythm platformer. | game_state.score, metrics.deaths, metrics.distance, metrics.points, metrics.stars |
| 15 | 15_google-snake | Arcade | Classic snake game. | metrics.apples_eaten, metrics.snake_length, metrics.speed, game_state.environment |
| 16 | 16_hextris | Puzzle | Fast hexagon-based rotation and clearing game. | game_state.score, metrics.topped_out, metrics.difficulty, game_state.environment |
| 17 | 17_mario-game | Platformer | Mario-like platform adventure. | metrics.score_earned, metrics.coins, metrics.deaths, metrics.level_progress_percent, game_state.environment |
| 18 | 18_minecraft-clone-glm | Simulation | First-person mining and resource gathering. | game_state.inventory.item_gains, game_state.environment, metrics.hotbar_occupied_slots |
| 19 | 19_minesweeper | Puzzle | Classic Minesweeper logic puzzle. | game_state.score, metrics.revealed_safe_cells, metrics.correct_flags, metrics.remaining_mines, game_state.completion_progress |
| 20 | 20_monkey-mart | Simulation | Manage a monkey supermarket, restock, and collect money. | metrics.primary_score, game_state.money, game_state.money_total_earned, game_state.money_scan_status |
| 21 | 21_ns-shaft | Runner | Survival arcade game about falling onto safe platforms. | gameTimeMs, game_state.player.life, game_state.environment |
| 22 | 22_ovo | Platformer | Fast parkour platformer with wall slides and jumps. | game_state.level, game_state.coins, metrics.coin_remaining_level, game_state.completion_progress |
| 23 | 23_pacman | Arcade | Classic Pac-Man maze chase. | game_state.score, game_state.maze_index, metrics.high_score, status |
| 24 | 24_restless-wing-syndrome | Platformer | Platformer with automatic wing flaps. | game_state.level, metrics.deaths, metrics.spike_hits, game_state.completion_progress |
| 25 | 25_rocket-league-2d | Arcade | 2D car soccer. | metrics.goals_for, metrics.goals_against, metrics.distance_to_goal, game_state.player |
| 26 | 26_run-3 | Runner | Endless running through space tunnels. | metrics.distance, metrics.deaths, metrics.attempts, game_state.environment |
| 27 | 27_stack | Puzzle | Timing-based tower stacking game. | metrics.successful_blocks, metrics.missed_blocks, game_state.environment |
| 28 | 28_temple-run-2 | Runner | Endless runner with turns, jumps, and slides. | metrics.score, game_state.distance, metrics.stumbles_this_run, metrics.powerups_collected_this_run, metrics.resurrects_this_run |
| 29 | 29_tetris | Puzzle | Classic Tetris. | game_state.score, metrics.topped_out, game_state.environment.board, metrics.lines_remaining |
| 30 | 30_vex-3 | Platformer | High-speed trap-heavy platformer. | metrics.checkpoints_passed, metrics.exit_reached, metrics.deaths, metrics.distance_to_goal |
| 31 | 31_wolf3d | Simulation | Wolfenstein-style first-person shooter. | metrics.kills, metrics.health, metrics.ammo, metrics.lives, game_state.environment.nearest_enemy, game_state.completion_progress |
| 32 | 32_wordle | Puzzle | Five-letter word guessing game. | metrics.letters_correct, metrics.word_number, metrics.variant_id, game_state.environment |
| 33 | 33_worlds-hardest-game | Arcade | High-difficulty maze with enemies and coin collection. | game_state.level, metrics.uninterrupted, metrics.deaths_this_episode, metrics.distance_to_goal |
| 34 | 34_worlds-hardest-game-2 | Arcade | Sequel 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.