Carbon · AI Node-Graph Orchestration Engine

Ten models, one art director: how Carbon builds a game skin

Carbon is an AI node-graph orchestration engine for game-content generation - every skin is produced by a directed graph of hundreds of nodes that routes work across ten specialised AI models from seven labs, chains them through vision feedback loops, and finishes the output with a deterministic pixel-math layer that guarantees game-playable geometry. One theme line in; a complete, validated game skin out - released live to players at a single button push.

The engine scales decades of accumulated games-studio engineering expertise - craft that normally lives in individual artists and engineers is encoded in the graph and applied to every skin, automatically.

10AI models in production (11 with the escalation tier)
7AI labs: Anthropic, OpenAI, Google, ByteDance, Runway, Suno, ElevenLabs
6live games generatable today: Mines, Plinko, Tower, Dice, Beer Pong, Crash
1button push to release a finished skin live to customers
0client code changes needed to ship a new skin

The pipeline, stage by stage

Each stage names the models it runs and the job they do. Models are addressed per-node and versioned, so any single model can be swapped or upgraded without touching the rest of the graph.

1

Theme ideation

A fast LLM reads live news and current events and proposes themes that name real, concrete stories - the seed for every skin. Also exposed as a public generate API.

claude-haiku-4-5 Anthropic
2

Scene planning - the “art director” pass

From one theme line, an LLM authors a structured, machine-readable scene plan: protagonist, arena, palette, mood, and per-asset art direction. The plan is parsed and schema-conformed, then fans out to every downstream branch - which is why dozens of independently generated assets come out looking like one coherent world.

claude-sonnet-4-6 Anthropic claude-haiku-4-5 Anthropic claude-opus-4-8 escalation tier
3

Image generation

Reference-anchored image generation: a shared anchor reference gives every sprite, tile, and prop the same visual identity. Targeted AI edits and seam repair run as separate graph nodes with their own prompts and guardrails.

gpt-image-2 OpenAI gpt-image-1.5 OpenAI
4

Video generation - routed per shot type

Four video models, each doing what it is best at: cinematic one-shot moments, ambient looping backgrounds, image-to-video from a generated still, and a fast fallback tier. The graph handles moderation false-positives, escalating retries, and async completion automatically. The result is a living, animated world rather than static art: ambient idle loops, distinct win and loss moments with seamless crossfades, and per-risk background variants that swap with the player's chosen stakes.

veo-3.1 Google seedance-2 ByteDance gen-4.5 Runway gen-3a-turbo Runway
5

Vision feedback loops - the models look at their own work

Vision-capable LLMs read the generated art back: they extract the real palette from the finished background, design dependent assets to match it, and colour-match UI elements to the scene. Every vision call is content-hashed against the exact image bytes, so a changed frame forces a fresh pass and an unchanged one is replayed for free.

claude-sonnet-4-6 Anthropic · vision claude-haiku-4-5 Anthropic · vision
6

Audio - music and SFX per theme

A full music track and ambience bed generated per skin from theme-conditioned prompts, plus event sound effects (win, cashout, crash) from natural-language SFX prompts.

suno-v5 Suno sound-effects ElevenLabs
7

Deterministic finishing - where AI is deliberately not used

A proprietary pixel-math library does what generative models cannot be trusted to do: chroma-keying, hue-window recolouring, perspective and plane warps, trims, and luminance guards. Game-critical geometry is never prompted - it is enforced in code. The board a ball bounces on is mathematically exact, every time.

carbon-ops deterministic · no model
8

Assembly, validation, one-button release

Assets assemble into a per-game manifest that is validated against the real game client's loading code - not a spec on paper. From there, release is a single button push: the skin publishes to CDN and goes live to customers as a playable game, with deployment fully automated and zero client deploys or downtime.

contract validators deterministic · no model

Why other game studios with a general-purpose LLM can't replicate this

The models are rentable; the orchestration is not. Here is what the same request produces on each side.

Carbon, from one theme line

  • Dozens of coordinated assets - sprites, video, music, SFX - sharing one protagonist, palette, and mood
  • Pixel-exact game geometry, enforced by code, never prompted
  • Self-correcting: vision models QA the output and derive dependent assets from the actual generated art
  • Validated against the live client contract before it can publish
  • Reproducible: every node is versioned and hash-pinned; unchanged work replays from cache instead of re-billing
  • Releases itself: one button push takes a generated skin to a live, customer-facing game - no release engineering involved

A general LLM / image tool

  • One-off images with no identity consistency between assets
  • Geometry drifts per generation - playfields that look right but don't play right
  • A human eyeballs every output; nothing feeds back automatically
  • No concept of a game client's asset contract; integration is manual engineering
  • Same prompt, different result; full cost paid on every retry
  • Output is a folder of files, weeks away from being live in a game

What the orchestration layer adds

Seven capabilities that live in Carbon's engine, above any individual model.

Studio expertise, encoded

Carbon scales decades of accumulated games-studio engineering expertise. What the team knows about playfield geometry, asset contracts, readability under motion, and player-facing polish is captured in the graphs, guardrails, and validators - so it compounds with every skin shipped instead of living in the heads of individual artists and engineers.

Best-model routing

Every asset type goes to the model that is empirically best at it - chosen and re-chosen through continuous head-to-head evaluation, encoded per node, swappable in one line.

Coherence at fan-out

One structured plan drives every branch, so the music, the background video, and the smallest sprite all agree on the story being told.

Version-pinned reproducibility

Node behaviours are addressed id@version and hash-pinned; a skin generated today can be explained, audited, and regenerated. Content-hash caching means unchanged nodes never re-bill.

Production-grade reliability

Escalating retry policies, moderation-failure handling, async callback and polling infrastructure, and watchdog timeouts - the unglamorous layer that makes generation an operation, not an experiment.

Push-button customer release

Deployment is automated end-to-end: a single button push takes a finished skin from the studio to a live, customer-facing game - CDN publish and live-game rollout included, with zero downtime and no release engineering.

A repeatable game-onboarding pattern

Adding a new game clones a proven builder pattern. The last three games (Dice, Beer Pong, Crash) each went from zero to generatable-in-production in days, not months.

Under the hood: the node system

For the technical reader - what a Carbon graph is actually made of.

60+ versioned node types

Every skin is a directed acyclic graph assembled from a registry of more than sixty node types across six families: AI sources, LLM prompt operations, deterministic pixel math, computer-vision measurement, iterators and reducers, and persisted state. Each node is addressed id@version; changing a node's behaviour requires a version bump, and node behaviours are hash-pinned in tests so nothing can drift silently.

The graph measures its own art

Dedicated computer-vision nodes locate a container's opening, measure a housing channel, and scan colour bands in the generated images, feeding exact pixel coordinates to downstream placement - so gameplay elements sit inside the artwork, not pasted on top of it.

Content-addressed caching

Every node's output is memoized on a hash of its inputs and parameters; vision-LLM calls additionally key on the sha256 of the exact image bytes. Tweak one node and only the affected subgraph re-runs - everything else replays instantly and at zero cost.

Same pixels in editor and engine

The deterministic cores run both server-side and in the browser, so an operator previewing a node in Carbon Studio's visual graph editor sees the exact pixels the production run will produce. Any node can be opened, inspected, and re-parameterised on the canvas.

Async media orchestration

Video and music generation are long-running third-party jobs; the runtime manages them with callback and polling waitpoints, watchdog timeouts, and escalating retry cooldowns tuned per provider - a failed clip recovers on its own, without a human restarting the run.

The node types in the production registry

compute.adjustHsl compute.applyRoundedRectMask compute.artboard compute.bboxAspectFit compute.bboxFitBottom compute.bboxTrim compute.bucketShade compute.coalesce compute.compositeAtlasRegions compute.conformJson compute.cropRect compute.ensureBandLuminance compute.fillAlphaHoles compute.getDominantColor compute.hueAnchoredBase compute.keyBackground compute.measureContainerOpening compute.measureHousingChannel compute.overlay compute.overlayOpacity compute.parseJson compute.perspectiveWarp compute.pick compute.pickKeyColor compute.planeWarp compute.processAsset compute.recolorSprite compute.resizeSmart compute.shape compute.tint compute.tintAtlasRegions compute.winLossPillStyle iterator.boundaryInput iterator.mapOver output.value persistedVar.read persistedVar.write prompt.assembleAsset prompt.base prompt.concat prompt.llmDerive prompt.llmVision prompt.replace prompt.template reducer.countOf reducer.dominantColorOf reducer.firstOf source.ai source.aiEdit source.aiRef source.derive source.image source.runwayVideo source.staticDefault source.sunoMusic source.upload source.uploadAudio source.uploadVideo value.alpha value.color value.number

Model inventory verified against the production codebase. Model IDs shown are the versions pinned in production graphs today; the routing layer exists precisely so these upgrade continuously as the frontier moves.