Agent skill

Build Game

by LeoYeAI in LeoYeAI/openclaw-master-skills

Generate and iteratively develop polished 3D browser games from natural language.

MITAuto-check: notesGame Development

Install Build Game

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill build-game -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills build-game --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/build-game .claude/skills/build-game && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
build-game
GitHub stars
2.2k
Token cost
~6k tokens
SKILL.md length
2,395 words
Files
9 (incl. scripts)
Skills in repo
1,235
Repo updated
First seen
Licence
MIT

At a glance

Generate and iteratively develop polished 3D browser games from natural language.

  • Works in 7 steps: Detect Mode — New Game or Iteration? → Analyze the Request → Generate the Code → …
  • Tasks that involve 3D graphics and WebGL
  • SKILL.md covers Phase 0: Detect Mode — New…, Phase 1: Analyze the Request, Phase 2A: Design — New Game and Phase 2B: Design — Iteration…, plus 7 more sections
  • Runs Shell scripts from its folder; calls bash; reaches cdn.jsdelivr.net and bright-canvas-a7k2.here.now; needs HERENOW_API_KEY

What it does

Build Game is an agent skill from LeoYeAI/openclaw-master-skills. Generate and iteratively develop polished 3D browser games from natural language. Supports any genre (FPS, RPG, racing, platformer, tower defense, etc.), custom characters/enemies/settings, reference images, and ongoing iteration. Outputs a single playable HTML file using Three.js with advanced graphics (SSAO, bloom, PBR materials, procedural textures, shader-based particles).

Its SKILL.md is about 6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts (for example `_meta.json`, `reference/audio-patterns.md` and `reference/engine-patterns.md`).

It sits in Game Development, covering 3D graphics and WebGL. It works with Three.js. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • Tasks that involve 3D graphics and WebGL

Example prompts

  • “/build-game”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): Bash(*), Write, Read, Edit, Glob, Grep

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Detect Mode — New Game or Iteration?
  2. Analyze the Request
  3. Generate the Code
  4. Quality Requirements
  5. Serve and Deliver
  6. Update Progress Tracking
  7. Self-Review Checklist

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(*)
    • Write
    • Read
    • Edit
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • cdn.jsdelivr.net
    • bright-canvas-a7k2.here.now

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • HERENOW_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Build Game loads about 6k tokens when it runs. Until then it costs about 98 tokens; SKILL.md has 2,395 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~98
When it runs · the whole SKILL.md, loaded when a task matches
~6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash(*), Write, Read, Edit, Glob, Grep

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 2,395 words, ~5,970 tokens.

Download SKILL.mdSave it as .claude/skills/build-game/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
build-game
description
Generate and iteratively develop polished 3D browser games from natural language. Supports any genre (FPS, RPG, racing, platformer, tower defense, etc.), custom characters/enemies/settings, reference images, and ongoing iteration. Outputs a single playable HTML file using Three.js with advanced graphics (SSAO, bloom, PBR materials, procedural textures, shader-based particles).
allowed-tools
Bash(*), Write, Read, Edit, Glob, Grep
argument-hint
game description or modification, e.g. "a Pokemon game where you catch dragons"

3D Game Builder

You are a game architect. You design, generate, and iteratively develop polished 3D browser games using Three.js. You handle everything from simple shooters to complex RPGs, and you support ongoing iteration — users can keep requesting changes, new features, characters, and mechanics.

Phase 0: Detect Mode — New Game or Iteration?

Before anything else, determine the mode:

Check for existing game:

bash
ls /tmp/game-build/index.html 2>/dev/null && echo "EXISTS" || echo "NEW"
bash
cat /tmp/game-build/progress.md 2>/dev/null

If EXISTS — decide: is this a NEW game or an ITERATION?

Read progress.md to understand what game currently exists. Then classify $ARGUMENTS:

  • ITERATION — if the request clearly modifies/extends the existing game. Examples:

    • "make it brighter", "add a boss", "change the character to a cat"
    • "add multiplayer", "fix the jumping", "more enemies"
    • Short tweaks, feature additions, bug fixes, visual changes
    • Any request that references things already in the game → Read the existing index.html and proceed to Phase 2B (Iteration Design).
  • NEW GAME — if the request describes a fundamentally different game. Examples:

    • "a racing game with spaceships" (current game is an FPS)
    • "a Pokemon-style RPG" (completely different genre/mechanics)
    • "a tower defense game" (unrelated to existing game)
    • Any request that specifies a full game concept unrelated to what exists → Delete old files, proceed to Phase 1 as a fresh build.

When in doubt: if the request could plausibly be an iteration on the existing game, treat it as an iteration. Only start fresh when the request is clearly a different game.

IMPORTANT: After ANY edit to the game (whether through the skill or through direct user requests), always update progress.md with an entry in the Iteration History section. This keeps the state accurate for future invocations.

Phase 1: Analyze the Request

Parse $ARGUMENTS as the game description. This can be anything from simple ("a shooter game") to very specific ("a Pokemon-style game where I play as a raccoon mage catching elemental spirits on a snow mountain, with a turn-based battle system, evolving creatures, and an inventory").

1A: Identify Core Elements
  1. Genre: FPS, third-person, racing, RPG, Pokemon-like, top-down, tower defense, platformer, puzzle, adventure, survival, fighting, rhythm, etc.
  2. Player character: What/who is the player? (human, raccoon, spaceship, wizard, etc.) — note any specific details
  3. Enemies/NPCs: What entities exist? Their appearance, behavior, and role
  4. Setting/environment: Where does it take place? (forest, snow mountain, space, city, dungeon, etc.)
  5. Core mechanics: What does the player DO? (shoot, catch, build, race, solve, explore, trade, battle)
  6. Progression: How does the player advance? (waves, levels, story, evolution, upgrades, collection)
  7. Win/lose: How does the game end?
1B: Check for Reference Assets

If the user mentions photos, images, or reference files:

  • Read/view any provided image files to understand the visual style they want
  • Extract key visual elements: colors, proportions, distinctive features, style/mood
  • Use these as guidance for procedural asset generation (translate visual references into Three.js primitive recipes)
  • If the user provides actual texture images, embed them as base64 data URIs in the HTML

Reference image workflow:

User provides image → Read the image → Extract: dominant colors, shapes, proportions, style →
Generate procedural Three.js model that captures the essence → Document the mapping in progress.md
1C: Camera & Controls Decision Framework
GenreCameraControlsImport
FPS / shooterPerspectiveCamera + PointerLockControlsWASD + mouse look + click shootPointerLockControls
Third-person action/adventurePerspectiveCamera + orbit cam (mouse drag)WASD (camera-relative!) + mouse orbit + click action—
RPG / Pokemon (overworld)PerspectiveCamera + top-down followWASD (camera-relative!) + E to interact—
Maze / puzzle (3D)PerspectiveCamera + isometric follow OR orbitWASD (camera-relative!)—
RPG / Pokemon (battle)PerspectiveCamera + fixed anglesClick/keyboard menu selection—
RacingPerspectiveCamera + chase camWASD or arrows—
Top-down / RTS / Tower defenseOrthographicCameraClick-to-move, click-to-place—
PlatformerPerspectiveCamera + side-followArrows + space—
Puzzle (2D-ish)PerspectiveCamera or Ortho + orbitClick/dragOrbitControls
Survival / open-worldPerspectiveCamera + orbit cam (mouse drag)WASD (camera-relative!) + mouse + E interact—
FightingPerspectiveCamera + side-view fixedArrows + action keys—

CRITICAL camera rule: For ALL third-person games, WASD MUST move the player relative to the CAMERA direction, NOT world axes. When the camera faces east, pressing W should move the player east. See engine-patterns.md Third-Person Pattern for the correct implementation. Using world-axis movement feels broken and disorienting.

Phase 2A: Design — New Game

Think through ALL of these before writing code:

  • Game loop: What updates each frame? (physics, AI, spawning, collision, scoring, dialogue, menus)
  • Player character: Visual design (describe the procedural model), abilities, stats, inventory
  • Entity roster: For each entity type: appearance, AI behavior (FSM states), stats, drops/rewards
  • World design: Map layout, regions/zones, decorations, boundaries, interactive objects
  • Game systems needed (check reference/game-systems.md):
    • Combat (real-time or turn-based?)
    • Inventory/items
    • Dialogue/NPC interaction
    • Creature capture/collection
    • Leveling/XP/evolution
    • Crafting
    • Quest/mission tracking
    • Save/load (localStorage)
    • Day/night cycle
    • Weather
  • HUD/UI: What info does the player need? Menus, inventories, battle screens
  • Progression arc: Beginning → middle → end. What keeps the player engaged?

Phase 2B: Design — Iteration on Existing Game

When modifying an existing game:

  1. Read the existing code thoroughly — understand all systems in place
  2. Read progress.md — understand what's been built and what's planned
  3. Identify what changes — categorize the request:
    • Add entity: New character/enemy/NPC type → add to asset factories + entity system
    • Change character: Modify appearance/abilities → update asset factory + player/entity code
    • Change setting: New environment/theme → update environment section + colors/fog/lighting
    • Add mechanic: New game system (inventory, catching, trading) → add new system section
    • Add feature: New weapon, ability, item, quest → extend existing systems
    • Tweak balance: Change speeds, damage, health, spawn rates → modify CONSTANTS
    • Visual change: Different art style, colors, effects → update materials + postprocessing
    • Bug fix: Something isn't working → find and fix in existing code
  4. Use the Edit tool to make surgical changes when possible. Only rewrite the full file if >40% of code changes.
  5. Preserve everything that works — don't break existing features while adding new ones.

Phase 3: Generate the Code

For New Games

Create the working directory and generate a single index.html:

bash
mkdir -p /tmp/game-build
For Iterations

Edit the existing /tmp/game-build/index.html using the Edit tool for targeted changes.

Mandatory HTML Structure
html
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>[Game Title]</title>
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { overflow: hidden; background: #000; font-family: 'Segoe UI', Arial, sans-serif; }
        canvas { display: block; }
        #hud { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10; }
    </style>
    <script type="importmap">
    {
        "imports": {
            "three": "https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.module.js",
            "three/addons/": "https://cdn.jsdelivr.net/npm/three@0.160.0/examples/jsm/"
        }
    }
    </script>
</head>
<body>
    <div id="hud"><!-- HUD overlay elements --></div>
    <script type="module">
    // ALL GAME CODE HERE — follow the structure below
    </script>
</body>
</html>
Code Structure (follow this order — extend sections as needed for complex games)
1.  IMPORTS — THREE, controls, postprocessing
2.  CONSTANTS — All tunable values: colors, speeds, sizes, counts, timings, creature stats, item definitions
3.  DATA DEFINITIONS — Creature databases, item catalogs, dialogue trees, quest definitions, level maps
4.  GAME STATE — Score, health, wave, mode, timers, inventory, party, quests, flags
5.  SAVE/LOAD SYSTEM — localStorage-based persistence (if game needs it)
6.  SCENE SETUP — Renderer, camera, scene, lights, fog
7.  POST-PROCESSING — EffectComposer with RenderPass + bloom + FXAA
8.  ASSET FACTORIES — Procedural geometry functions for ALL entities (characters, creatures, items, buildings)
9.  ENVIRONMENT — Ground, decorations, boundaries, interactive objects, region/zone setup
10. PLAYER SYSTEM — Controls, movement, actions, abilities, animation, equipment display
11. ENTITY SYSTEM — Enemies/NPCs/creatures with FSM AI, spawn system, wave/encounter manager
12. COMBAT SYSTEM — Real-time OR turn-based battle logic, damage calc, abilities, type effectiveness
13. COLLECTION/CAPTURE SYSTEM — If applicable: catching mechanics, storage, evolution
14. INVENTORY/ITEM SYSTEM — If applicable: items, equipment, consumables, crafting
15. DIALOGUE/INTERACTION SYSTEM — If applicable: NPC dialogue, choices, shops, quest givers
16. QUEST/MISSION SYSTEM — If applicable: objectives, tracking, rewards
17. PROJECTILE SYSTEM — Object-pooled bullets/projectiles, trail effects
18. COLLISION/PHYSICS — Raycaster, Box3, distance checks, trigger zones
19. PARTICLE SYSTEM — Buffer-based particles for hits, explosions, magic effects, weather
20. HUD UPDATE — DOM overlay: health, score, minimap, inventory panel, battle menu, dialogue box
21. AUDIO SYSTEM — Web Audio API procedural sounds with reverb
22. SCREEN EFFECTS — Damage vignette, screen shake, transitions, weather overlays
23. TITLE/MENU SCREEN — Title, "Click to Play", controls, options
24. GAME OVER / WIN SCREEN — Final stats, "Click to Restart"
25. MAIN LOOP — requestAnimationFrame, Clock delta, update all active systems, composer.render()
26. EVENT LISTENERS — resize, pointer lock, keyboard, mouse, touch
27. DEBUG HOOKS — window.render_game_to_text() and window.advanceTime(ms)

Not every game needs every section. Include only what the design requires. Simple shooters skip 3-5, 12-16. Complex RPGs use most sections.

Reference Files

Read these for detailed implementation patterns:

  • ${SKILL_DIR}/reference/engine-patterns.md — Camera, controls, physics per genre, particles, pooling, instancing
  • ${SKILL_DIR}/reference/procedural-assets.md — Character/vehicle/environment/creature recipes, color palettes, reference-image-to-model guidance
  • ${SKILL_DIR}/reference/audio-patterns.md — Web Audio API sound recipes
  • ${SKILL_DIR}/reference/game-systems.md — Complex game systems: RPG/Pokemon battle, inventory, dialogue, creature capture, evolution, quests, save/load, weather, day/night
  • ${SKILL_DIR}/reference/graphics-quality.md — READ THIS FOR EVERY GAME — Advanced 3D graphics: sky dome shaders, water shaders, terrain generation, environment maps, SSAO, color grading, god rays, toon shading, trails, advanced particles, procedural textures/normal maps, grass instancing, PBR material presets, time-of-day lighting
  • ${SKILL_DIR}/reference/gui-patterns.md — Premium HUD/UI: glassmorphism panels, animated health bars, kill feeds, crosshairs, toasts, dialogue boxes, battle UI CSS

Where ${SKILL_DIR} is the directory containing this SKILL.md file.

Phase 4: Quality Requirements

Always maximize visual and gameplay quality. The game should look and feel like a polished indie title, not a tech demo. Spend extra tokens on graphics. Read reference/graphics-quality.md for every game.

CRITICAL: Avoid Dark / Invisible Scenes

The #1 most common issue is choosing colors so dark that the scene becomes unreadable. Follow these rules:

Never use near-black colors for large surfaces:

  • Floor/ground color: use mid-tones minimum (e.g. 0x4a6a4a for grass, 0x666688 for stone, 0x887766 for dirt). NEVER 0x0a0a0a–0x1a1a1a.
  • Wall colors: minimum 0x334455 range. Walls must be clearly visible against the background.
  • Fog color: use a mid-tone that matches the scene mood (outdoor: 0x88aacc, cave: 0x334455, night: 0x223344). NEVER 0x000000–0x111111.
  • scene.background: NEVER near-black unless outer space. Use the sky dome shader or a color that matches fog.
  • Material colors: every object the player needs to see must have a color with at least one RGB channel >= 0x44. A 0x0a0a15 floor is invisible.

Color palette test — before finalizing, check:

  • Can the player clearly see the ground/floor from every angle?
  • Can the player see walls, obstacles, and boundaries?
  • Is the player character clearly visible against the background?
  • Can the player distinguish different objects from each other?
  • If ANY answer is no: lighten those surface colors. Don't rely on lighting alone — dark base colors + any lighting = still dark.

Indoor / night scenes: Use medium-dark colors (NOT near-black) + strong accent lighting. A dark server room should have 0x2a2a40 walls, not 0x0a0a0a. A cave should have 0x445544 rock, not 0x111111. Compensate mood with post-processing (vignette, color grading) rather than making base colors invisible.

Show full SKILL.md (1,065 more words)Show less
Visual Quality (mandatory — ALL of these)

Rendering pipeline:

  • PCFSoftShadowMap with 4096x4096 shadow maps, shadow.normalBias = 0.02 to eliminate shadow acne
  • ACESFilmicToneMapping with toneMappingExposure tuned per scene (1.0–1.4, default 1.2, NEVER below 1.0)
  • outputColorSpace = THREE.SRGBColorSpace
  • setPixelRatio(Math.min(devicePixelRatio, 2))

Post-processing stack (use ALL of these, see graphics-quality.md for code):

  • RenderPass → SSAO (SSAOPass for ambient occlusion depth) → Bloom (UnrealBloomPass, subtle 0.25–0.5 strength) → Color grading (custom ShaderPass: contrast, saturation, vignette) → FXAA (final pass)
  • Choose post-processing preset based on genre: Cinematic, Stylized, Dark, or Bright Outdoors (see graphics-quality.md)
  • Vignette intensity MUST be <= 0.3 — stronger vignette darkens edges too much

Lighting rig (minimum 4 lights):

  • Key light: DirectionalLight (warm, intensity 2.0–3.0, casts shadow)
  • Fill light: DirectionalLight (cool-toned, opposite side, 0.5–1.0 intensity, no shadow)
  • Hemisphere light: sky color + ground color, intensity 0.4–0.6
  • Ambient light: intensity 0.5–0.8 — this is the safety net that prevents dark scenes
  • Rim/accent light: highlights character edges, adds depth
  • Optional: point lights for fire/magic, spot lights for dramatic focus
  • For indoor scenes: add at least 4 PointLights spread across the space, intensity 1.0+, range covering the full room

Sky (NEVER use flat background color):

  • Use a gradient sky dome shader (see graphics-quality.md createSkyDome) with sun disc + halo glow
  • Match fog color to horizon color of sky dome
  • For night scenes: use dark blue (NOT black) sky + star field + moon, and boost ambient light to compensate

Materials — use MeshPhysicalMaterial for key objects:

  • Ice/glass/water: transmission, thickness, ior for realistic transparency
  • Metal: metalness: 1.0, low roughness, envMapIntensity > 1
  • Emissive: lava, neon, magic — use emissiveIntensity: 2.0+ (these glow with bloom)
  • Skin/organic: tuned roughness: 0.6–0.7, warm color
  • Use appropriate roughness for each material type (snow=0.8, plastic=0.3, chrome=0.05)
  • NEVER use default MeshBasicMaterial for visible game objects

Environment map (reflections):

  • Generate a procedural environment map using PMREMGenerator from a sky scene
  • Apply as scene.environment so ALL PBR materials get reflections automatically
  • This single step dramatically improves visual quality of every metallic/glossy surface

Procedural textures:

  • Use canvas-based noise textures for ground variation (see createNoiseTexture in graphics-quality.md)
  • Generate normal maps from noise for surface detail without extra geometry
  • Use vertex colors on terrain for height-based coloring (grass→rock→snow)

Environment detail:

  • Terrain: Use subdivided PlaneGeometry with noise-based height displacement and vertex colors
  • Grass: Instanced bent blade billboards with color variation (5000+ blades for fields)
  • Water: Custom vertex shader with multi-octave wave animation + foam at peaks
  • Trees/rocks: Use InstancedMesh with scale/rotation variation, 3+ types per biome
  • Ground scatter: Small detail objects (flowers, pebbles, mushrooms) via instancing

Particles — use shader-based particles (see graphics-quality.md):

  • Custom vertex/fragment shaders for size attenuation, fade-out, color interpolation
  • Additive blending for fire/magic/sparks, normal blending for smoke/dust
  • Trail ribbons for projectiles and speed effects
  • At minimum: hit particles, environmental particles (dust/snow/leaves), and effect particles
Gameplay Quality (mandatory)
  • Juice: Screen shake, recoil, view bob, hit flash, particles — make interactions feel impactful
  • Smooth movement: Velocity + friction + acceleration, lerp/slerp transitions
  • Sound: Procedural audio for all key interactions
  • Responsive UI: Menu transitions, hover states, selection indicators
Asset Quality (mandatory)
  • Characters: 15-30+ primitives per character. Make them recognizable and expressive.
  • Creatures/enemies: Each visually distinct. If user described specific animals/creatures, capture their key features (stripes for tigers, masks for raccoons, etc.)
  • Environment: Rich decoration, varied scale, cohesive palette per biome. Use vertex colors and procedural textures, not flat uniform colors.
Code Quality
  • Performance: InstancedMesh for repeated objects, object pooling, minimize per-frame allocations
  • All magic numbers in CONSTANTS object at top
  • Modular sections with clear comments — enables iteration via Edit tool
Game Flow (mandatory)
  1. Title screen: Game name, animated 3D background, "Click to Play", controls list
  2. Gameplay: Full game with HUD (may include multiple modes: overworld, battle, menu)
  3. Game over / win screen: Final score/stats, "Click to Restart"

Phase 5: Serve and Deliver

Local server
bash
bash "${CLAUDE_SKILL_DIR}/scripts/serve.sh" /tmp/game-build
Publish to the web (here.now)

After serving locally, also publish the game to a shareable live URL using here.now (24-hour anonymous link):

bash
bash /home/ke/.agents/skills/here-now/scripts/publish.sh /tmp/game-build

This uploads the game and returns a live URL like https://bright-canvas-a7k2.here.now/. The link lasts 24 hours (anonymous) or permanently (with HERENOW_API_KEY).

If the publish script is not found, fall back to just the local server.

Tell the user:

  1. The local URL (localhost)
  2. The shareable live URL (here.now) — mention it expires in 24 hours
  3. Full controls mapping
  4. Game objective and mechanics summary
  5. What can be iterated on (suggest possible additions/changes)

Phase 6: Update Progress Tracking

After every generation or iteration, update /tmp/game-build/progress.md:

markdown
# [Game Title]

## Original Request
[First user prompt]

## Current State
[What's built and working]

## Iteration History
- [date/order]: [what was changed]

## Entity Roster
- Player: [description]
- Enemies: [list with descriptions]
- NPCs: [list]
- Creatures: [list if applicable]

## Systems Active
- [x] Movement/controls
- [x] Combat (type: realtime/turnbased)
- [ ] Inventory
- [ ] Dialogue
- etc.

## Known Issues
- [any bugs or rough edges]

## Suggested Next Steps
- [ideas for what to add next]

Phase 7: Self-Review Checklist

Before delivering, verify:

  • VISIBILITY: No near-black colors on floors, walls, fog, or background. Every surface the player interacts with must be clearly visible. Use mid-tone base colors, not dark ones.
  • CAMERA: For third-person games, WASD moves relative to camera direction (not world axes). Mouse drag orbits camera.
  • All scene.add() calls present for created objects
  • .castShadow = true on visible objects
  • Camera/raycaster configured for the game type
  • Audio context resumed on user interaction
  • composer.render() used (not renderer.render())
  • Event listeners clean up on restart
  • HUD elements update correctly
  • All entities described by user are actually in the game
  • Game is playable and has clear objective
  • No console errors on load

Important Notes

  • Single HTML file — all code inline, no external files except CDN imports
  • Procedural assets preferred — everything from Three.js primitives
  • User-provided images: If the user gives image files, view them and either:
    • Use as visual reference to build better procedural models (preferred)
    • Embed as base64 data URI textures (for specific textures/sprites the user wants)
  • Three.js v0.160.0 — use this exact version
  • Iteration-friendly code — clear section comments, CONSTANTS at top, modular structure so Edit tool can target specific sections
  • No hardcoded limits on complexity — if the user wants a full Pokemon game, build it. Multi-thousand-line games are fine.

Handling Complex Requests — Examples

"Make the main character a raccoon and enemies are tigers on a snow mountain"

→ Change player asset factory to raccoon model, create tiger enemy factory, swap environment to snow biome (white ground, pine trees with snow caps, snow particles, blue-white fog, ice rocks)

"Add a Pokemon-style catching system"

→ Add creature database, capture mechanic (weaken + throw), creature storage, party system, turn-based battles with type effectiveness. See reference/game-systems.md.

"I want to use this image as the character" [+ image file]

→ View image, extract visual features (colors, proportions, distinctive elements), build procedural Three.js model matching those features. Note: explain to user that the model will be a low-poly interpretation.

"Add an inventory and crafting system"

→ Add item database, inventory state, pickup/drop mechanics, crafting recipes, inventory UI panel.

"Make it multiplayer"

→ Not supported in single-file mode. Explain limitation, suggest alternatives (hot-seat, AI opponents, leaderboard via localStorage).

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts) in skills/build-game of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • _meta.json
  • reference/audio-patterns.md
  • reference/engine-patterns.md
  • reference/game-systems.md
  • reference/graphics-quality.md
  • reference/gui-patterns.md
  • reference/procedural-assets.md
  • scripts/serve.sh

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Build Game next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Build Game compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Build Game this skillLeoYeAI/openclaw-master-skills2.2k—~6kAutomated safety check: NotesMIT
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Web CloneJane-xiaoer/claude-skill-web-clone1k1 repos~2.7kAutomated safety check: PassMIT
Threejs Game Directormajidmanzarpour/threejs-game-skills2.5k—~2.2kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0
Threejs World Generationcalesthio/OpenMontage66k—~2kAutomated safety check: PassAGPL-3.0

Similar skills

  • Image to Three.js Model

    img2threejs/img2threejs

    Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Web Clone

    Jane-xiaoer/claude-skill-web-clone

    网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…

    1k GitHub starsUsed in 1 repo~2.7k tokens
    Game DevelopmentAuto-check passed
  • Threejs Game Director

    majidmanzarpour/threejs-game-skills

    Entrypoint for building, upgrading, and finishing Three.js browser games.

    2.5k GitHub stars~2.2k tokensUpdated 12 days ago
    Game DevelopmentAuto-check passed
  • Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Threejs World Generation

    calesthio/OpenMontage

    Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.

    66k GitHub stars~2k tokensUpdated 6 days ago
    Game DevelopmentAuto-check passed
  • 3Dviz Pro Max Scene Builder

    viettranx/3dviz-pro-max

    Guides building an expressive 3D scene in Three.js or Blender by reasoning through intent, object construction and scientific grounding before using a catalog of recipes and kits.

    709 GitHub stars~2.8k tokensUpdated 29 days ago
    Game DevelopmentAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,235 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Build Game

What does Build Game do?

Generate and iteratively develop polished 3D browser games from natural language. Build Game is an agent skill from LeoYeAI/openclaw-master-skills. Generate and iteratively develop polished 3D browser games from natural language.

When should I use Build Game?

Build Game fits situations like: tasks that involve 3D graphics and WebGL.

How do I install Build Game in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill build-game -a claude-code`. Or copy the skill folder (skills/build-game in LeoYeAI/openclaw-master-skills) into .claude/skills/build-game in your project. Claude Code loads it when a task matches its description.

How do I install Build Game in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill build-game -a codex`. Or copy the skill folder (skills/build-game in LeoYeAI/openclaw-master-skills) into .agents/skills/build-game in your project. Codex loads it when a task matches its description.

Can I use Build Game in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill build-game -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-game, .gemini/skills/build-game, .github/skills/build-game and .opencode/skills/build-game in your project.

What does Build Game need to run?

Going by SKILL.md and its folder, Build Game needs a shell for the scripts in its folder, the command-line tools its instructions call (bash) and credentials named HERENOW_API_KEY. Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash(*), Write, Read, Edit, Glob, Grep.

Does Build Game access the network?

SKILL.md names 2 domains. In commands or code: cdn.jsdelivr.net and bright-canvas-a7k2.here.now; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Build Game safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Build Game use?

Build Game is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Build Game use?

About 6k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Build Game?

Skills that share tags, products or a category with Build Game: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Web Clone (Jane-xiaoer/claude-skill-web-clone, 1k stars), Threejs Game Director (majidmanzarpour/threejs-game-skills, 2.5k stars) and Threejs Gameplay Systems (valkor-ai/loom, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Build Game?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.