PromptForge 3D — AI Game Generator

prompt → analysis → GDD + dev guide → multi-angle art → image→3D → custom game (no fixed template)

0 · Game type + AI tools (optional — faster forge)

Pin these to skip AI guessing (fewer repairs, faster build). “Auto” = the analyser decides from your words.
Perspective
Movement
Ability
Goal
Foes
World
AI text
Art
3D models
📋 Type a prompt above — the asset plan (how many AI prompts this game needs) appears here instantly.

1 · Describe your game

idle — type a prompt and hit Generate

2 · AI tool pipeline (live in viewport during forge)

📄
Actions 0–2 — Plan + Analyse + Designer (AI text: Perchance or free Pollinations)
Action 0 assesses your prompt into an asset plan (N art prompts + mechanics modules); Action 1 breaks it into sub-prompts; Action 2 writes the GDD + per-prompt dev guide. Card-0 pins skip the guessing.
🎨
Action 3 — Concept artists (Perchance, free Pollinations, or local sketch — multi-angle)
hero front/side/back + foes front/side + loot + prop + ground + sky (adaptive count) — every view feeds image→3D
🧱
Action 4 — Model forger (Three.js voxel forge or sprite mode, free on-device)
front silhouette × side depth-profile → textured voxel models; terrain + skybox
🌍
Action 5 — World builder (no fixed template)
assembles the genre + layout + win rules from YOUR guide — collect / survive / defeat × scatter / maze / ring / grove
▶
Action 6 — Play (fullscreen, Esc exits)
intro window hides during forge; live log + per-action progress bars show in the viewport instead
Sources for this run will appear here — every AI tool, platform and fallback, as it happens.

2b · Game development guide (per-prompt workflow)

No guide yet — generate a game. Action 1 will analyse your prompt and outline the exact art + 3D + world steps for this game (no fixed foundation).

3 · Game settings (sliders or prompt styles)

Enemies6
Loot to win8
Hero speed10
Enemy speed ×1
Arena size34
Time limit (s)120
Qualityhigh

4 · Live tool log

ready.

5 · Game design document (AI-written)

No GDD yet — generate a game.

6 · AI art → 3D textures

7 · PromptForge saves + export

No saved games yet.
— no game —
🦴 0
❤ 100
⏱ 0s
🎯 —

Type a prompt, forge a world

The AI team will design it, paint it, forge the paintings into 3D voxel models, and drop you in fullscreen. Or hit quick test for an instant procedural sketch of your idea (no AI spend).

WASD move E dig Space dash P pause · R restart drag to orbit · wheel to zoom — fps
`; } // test/debug handle (teleport, state) — also handy in the console window.__forge = { getForgeOpts, setForgeOpts, planAssetsFromPrompt, schedulePlanPreview, planToHtml, get gdd(){ return lastGdd; }, get assets(){ return lastAssets; }, formulateImagePrompt, pollinationsImageUrl, loadImageEl, whiteToAlpha, imgToDataURL, analysisInstruction, gddInstruction, mechanicsInstruction, extractJson, aiText, texFromUrl, makeFigureMulti, makeFigure, tourTo, noteSource, renderSources, resetForge, safeTex, localArtFor, localDesign, failoverDesign, strictJsonFromAi, jsonTruncated, get player(){ return player; }, get gameState(){ return gameState; }, get mounds(){ return mounds; }, get pickups(){ return pickups; }, get patches(){ return grassPatches; }, get hazards(){ return hazards; }, get pads(){ return pads; }, get clouds(){ return clouds; }, get lamps(){ return lamps; }, get enemies(){ return enemies; }, get obstacles(){ return obstacles; }, get look(){ return { yaw: camYaw, pitch: camPitch }; }, setLook(yaw, pitch){ camYaw = yaw; if (pitch !== undefined) camPitch = Math.max(-1.25, Math.min(1.25, pitch)); }, tryDig, trySonar, tryAbility, enterPlayMode, exitPlayMode, runPipeline }; // live asset-plan preview (Action 0): re-assess on every keystroke / pin change $("promptInput").addEventListener("input", schedulePlanPreview); for (const [id] of OPT_DEFS) { const el = $(id); if (el) el.addEventListener("change", schedulePlanPreview); } schedulePlanPreview(); // boot: blank studio — nothing pre-made, everything builds from the prompt resetForge(true); syncSettingsUI(); refreshSaves(); log("ready. backend: AI text (perchance / free pollinations) + art (perchance / free pollinations / local) + three.js forger + kv saves.","t3");