Skip to main content
Glama

GameDevBench

A benchmark suite for evaluating LLM agents on game development tasks.

Paper: GameDevBench: A Comprehensive Benchmark for Game Development

Overview

GameDevBench contains 132 game development tasks to evaluate LLM agents' ability to complete game development problems in the Godot game engine.

Related MCP server: macos-control-mcp

Installation

Prerequisites

  1. Godot 4.x - Download and install from godotengine.org

    • Ensure godot is available in your PATH, or set GODOT_EXEC_PATH environment variable

  2. Python 3.10+ - Required for all agents

    • Python 3.12+ - Required for OpenHands agent

Install Agents

Install the agent(s) you want to use:

Setup Tasks

Before running the benchmark, unzip the tasks folder:

unzip tasks.zip

Note: The tasks are distributed as a zip file to prevent accidental data leakage.

Configuration

Environment Variables

You can use the built-in plans for claude-code, codex, and gemini-cli, or provide API keys directly. For OpenHands you must provide your own API keys. See .env.example for a complete list of optional environment variables.

Usage

Running the Benchmark

uv run python gamedevbench/src/benchmark_runner.py \
  --agent AGENT \
  --model MODEL \
  run --task-list tasks.yaml

Available Agents

  • claude-code - Anthropic's Claude Code CLI

  • codex - OpenAI Codex

  • gemini-cli - Google Gemini CLI

  • openhands - OpenHands (requires Python 3.12+)

Command-Line Options

  • --agent AGENT - Agent to use (required)

  • --model MODEL - Model name (e.g., claude-sonnet-4.5-20250929)

  • --enable-mcp - Enable MCP (Model Context Protocol) server for supported agents

    • Provides screenshot capabilities to the agent

    • Note: MCP server requires macOS (see limitations below)

  • --use-runtime-video - Enable runtime video mode

    • Appends Godot runtime instructions to prompts

    • Helps agents understand how to run and test their changes

  • --skip-display - Skip tasks that require display

  • run --task-list FILE - Run tasks from YAML file (e.g., tasks.yaml)

Platform Limitations

macOS-only Features:

  • MCP server screenshot functionality (--enable-mcp) currently only works on macOS

    • Uses AppleScript for display capture

    • Requires setting GODOT_SCREENSHOT_DISPLAY environment variable to correct display number

Results

Benchmark results are saved to results/ directory with the following information:

  • Task success/failure status

  • Token usage and costs

  • Execution time

  • Validation results

Citation

@misc{chi2026gamedevbenchevaluatingagenticcapabilities,
      title={GameDevBench: Evaluating Agentic Capabilities Through Game Development},
      author={Wayne Chi and Yixiong Fang and Arnav Yayavaram and Siddharth Yayavaram and Seth Karten and Qiuhong Anna Wei and Runkun Chen and Alexander Wang and Valerie Chen and Ameet Talwalkar and Chris Donahue},
      year={2026},
      eprint={2602.11103},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2602.11103},
}

License

gamedevbench-bp

Available Tools

1 tool
godot-screenshotC

Launch Godot editor on specified display and take a screenshot

Inputs: project_dir (required), display.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined and distinct by default.

    Naming Consistency5/5

    A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'godot-screenshot' follows a clear noun-verb pattern.

    Tool Count2/5

    A single tool for a server named 'GameDevBench MCP' suggests an extremely limited scope that does not align with the implied breadth of game development tasks. This feels thin and incomplete for the domain.

    Completeness1/5

    The tool set is severely incomplete for game development, covering only a niche screenshot function. There are obvious gaps in core operations like asset management, testing, or build processes, making it inadequate for the stated purpose.

    Related MCP Connectors

    Related MCP Servers