agent-game-engine
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agent-game-engineCreate a 2D game with a player and enemies, then validate it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
đŽ Agent Game Engine
AI-Agent-Native 2D Game Engine in TypeScript
A lightweight, sandboxed, high-performance 2D game engine designed for AI Coding Agents to write code, evaluate quality, and render games across Headless CLI, Web Browsers, Mobile, and Desktop environments.
⨠Core Features
đ¤ Verb-Driven API: Simplified, declarative game methods (
spawn,controls,behavior,onCollision,winWhen,loseWhen).đĄī¸ QuickJS WASM Sandbox: Secure code execution with strict resource limits (16MB RAM, 100ms CPU timeout) and isolation from dangerous globals.
⥠22-Opcode Command Buffer Protocol: Binary ArrayBuffer rendering offload protocol between sandbox and host.
đĻ 5-Layer Quality Gates: Automated evaluation system catching AST security violations, infinite loops, blank screens, frozen game states, and numerical exceptions (
NaN/Infinity).đą Cross-Platform Runtime: Headless Node.js, HTML5 Browser
<canvas>, Mobile Touch with auto-responsive scaling (Fit/Fill/Pixel-Perfect), and Web Audio auto-unlock.đ¨ Complete 2D Rendering Pipeline:
Camera2D: Lerp follow, deadzone, bounds clamping, shake, flash, fade, zoom & rotation.TilemapLoader: Tiled JSON orthogonal map rendering.SpriteSheet& Texture Atlases (TexturePacker & Aseprite).ParticleEmitter: Burst & continuous particle effects with scale & color gradients.Viewport Frustum Culling for high-performance rendering.
đĨ Advanced Physics & Spatial Acceleration:
SAT(Separating Axis Theorem) convex polygon & circle collision detection.QuadTree&SpatialHashGridsupporting 500+ entities @ >200 FPS.Raycastingline-of-sight & rigid body physics (Mass, Friction, Restitution, Impulse).
đŦ Animation, Tweens & Audio:
AnimationController: Frame sprite animation state machine.TweenEngine: 20+ Easing curves (Elastic, Bounce, Cubic, Quad, etc.).AudioManager: Web Audio SFX, BGM streaming loop, volume buses & fade transitions.
đšī¸ Input, Scenes & UI Primitives:
Unified Keyboard, Mouse (world coords), Touch multi-gestures, and Gamepad Action Mapping.
SceneManager: Lifecycle hooks and Fade/Slide transition effects.UI Primitives:
UIButton,UIProgressBar,UIDialog(typewriter effect), and screen-fixedHUDoverlay.
đ§° Asset Loader & Developer Tools:
Async loader with progress tracking.
DebugOverlay: Real-time FPS, entity count, draw calls.PhysicsWireframe: Hitbox wireframe visualization.TimeDilation&StepFrame: Slow-mo control and frame-by-frame step debugging.
đ CLI & MCP Server: 5 CLI commands (
run,validate,watch,benchmark,demo) and 10 Model Context Protocol tools for LLM agent interaction over stdio transport.
Related MCP server: Godot Agent Loop
đĻ Installation & Setup
# Clone the repository
git clone https://github.com/ImL1s/agent-game-engine.git
cd agent-game-engine
# Install dependencies
pnpm install
# Build the monorepo package (ESM + DTS)
pnpm build
# Run full test suite (1,279 tests)
pnpm testđ Quick Start â 4 Supported Runtimes
1. Headless Node.js Runtime
import { AgentGame } from 'agent-game-engine';
// Initialize engine instance
const game = new AgentGame({ width: 800, height: 600, fps: 60 });
// Spawn player sprite with platformer controls
const player = game.spawn('player', { x: 100, y: 100, width: 32, height: 32 });
player.controls('platformer', { speed: 200, jumpForce: 400 });
// Spawn platforms & collectibles
game.spawn('platform', { x: 400, y: 500, width: 800, height: 40 });
for (let i = 0; i < 5; i++) {
game.spawn('coin', { x: 200 + i * 80, y: 350, width: 20, height: 20 }).behavior('float');
}
// Handle collisions
game.onCollision('player', 'coin', (p, coin) => {
coin.destroy();
game.addScore(10);
});
// Set win / lose conditions
game.winWhen(() => game.query('coin').length === 0);
game.loseWhen(() => player.y > 600);
// Advance engine simulation step by step
game.step(1 / 60);
const state = game.getState();
console.log(`Frame: ${state.frame}, Score: ${state.score}, Entities: ${state.entities.length}`);2. CLI Usage
# Run game script headless for 60 frames and save state screenshot
pnpm agent-game run my-game.js --frames=60 --screenshot=out.png
# Run 5 Quality Gates validation on user script
pnpm agent-game validate my-game.js
# Launch interactive watch mode with Web live preview server
pnpm agent-game watch my-game.js --port=3000
# Run 500+ entity physics benchmark
pnpm agent-game benchmark
# Run playable interactive demo
pnpm agent-game demo3. MCP (Model Context Protocol) Server Integration
Add to claude_desktop_config.json:
{
"mcpServers": {
"agent-game-engine": {
"command": "node",
"args": ["/absolute/path/to/agent-game-engine/dist/mcp/index.js"]
}
}
}Programmatic MCP TypeScript initialization:
import { createMCPServer } from 'agent-game-engine/mcp';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = createMCPServer();
const transport = new StdioServerTransport();
await server.connect(transport);4. Browser Canvas Runtime (index.html)
<!DOCTYPE html>
<html>
<head>
<title>Agent Game Engine</title>
</head>
<body>
<canvas id="game-canvas" width="800" height="600"></canvas>
<script type="module">
import { AgentGame, BrowserRuntime, InputManager } from './dist/browser.js';
const canvas = document.getElementById('game-canvas');
const game = new AgentGame({ width: 800, height: 600 });
const player = game.spawn('player', { x: 100, y: 100 });
player.controls('platformer', { speed: 200, jumpForce: 400 });
game.spawn('platform', { x: 400, y: 500, width: 800, height: 40 });
const runtime = new BrowserRuntime({
canvas,
game,
targetFps: 60,
autoStart: true
});
</script>
</body>
</html>đ MCP Server Tools (for AI Agents)
Exposes 10 tools over Stdio Transport for Claude, Cursor, Gemini, and custom AI agents:
game_load_code: Load game JavaScript code string.game_start: Initialize and start game session.game_step: Advance simulation by N frames with input state.game_get_state: Retrieve Zod JSON, 2D ASCII Grid, or Delta state.game_get_screenshot: Capture host canvas PNG screenshot as Base64.game_simulate_input: Inject keyboard/mouse/touch input.game_run_quality_gates: Run all 5 quality gates on current code.game_reset: Reset game to initial state.game_get_console: Retrieve intercepted console logs.game_list_skills: List available game engine skills.
đŽ Sample Games Included
Pong: Simple classic paddle game.
Platformer: Jumping, coins, platforms, and gravity.
Space Shooter: Ship controls, spawning enemies, shooting projectiles.
Tower Defense: Enemies, pathing, tower shooting, base zone protection.
Puzzle: Color matching grid game.
Tilemap RPG: Tiled JSON map, camera follow, scene transitions, NPC dialog.
Physics Puzzle: SAT collisions, rigid body dynamics, particle bursts, time dilation slow-mo.
Support
If this project saved you some time, you can buy me a coffee.
đ License
MIT License Š 2026 ImL1s
This server cannot be deployed
Maintenance
Related MCP Connectors
AI game assets for agents: consistent sprites, 2D animations, tiles, maps, music and engine exports.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Create, test and play AI-native games through server-authoritative contracts.
Build a game's 2D art layer with your agent: characters, animations, tilesets, levels, 5 engines.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to build and test games headlessly using the llmgine game engine, with tools for world creation, prefab definition, spawning, acting, and simulation.1MIT
- AlicenseCqualityAmaintenanceEnables AI agents to autonomously develop and test Godot 4 games through an MCP-based feedback loop, providing tools for authoring, running, observing, playtesting, and verifying game projects.20855MIT
- AlicenseNot gradedqualityAmaintenanceAI-native open-source 2D game engine whose MCP server exposes every editor operation to coding agents as typed commands, so an agent can build, run, and verify a game inside the editor. It runs locally on macOS, Windows, and Linux with no cloud service or API key.62MIT
- AlicenseBqualityCmaintenanceEnables AI-assisted Godot 4.x game development within a secure sandbox, covering project management, file operations, asset discovery, GDScript generation, and optional runtime execution.401MIT