Welcome to Arcwright

Arcwright is a game engine built for working with AI. You describe what you want; an AI builds it in this editor while you watch every step, and you can stop, change or undo anything. You can also build everything by hand. This guide shows how.

Beta. Most of the engine is solid, and some parts are still being finished. When something breaks, Help › Send Feedback reaches us directly, and your crash reports (if you allow them) tell us exactly where.

The editor in 5 minutes

WhereWhat it's for
Top barCreate (make your game) and Games (play and publish), the project name, undo/redo, Play, Pause and Step, sound, Sparks, Chat with the AI, and Publish.
Scene (left)Every object in the open scene, grouped in folders. Click to select, drag onto a folder to group.
Viewport (middle)The 3D world. The bar at its top has the tools (select, move, rotate, scale) and snapping.
Inspector (right)Everything about the selected object: position, its model, lights, physics, scripts. As text shows the same object as plain text you can edit.
ContentModels, materials and sounds in your project. Drag one into the world.
AgentWhat the AI is doing right now, step by step.
HistoryEvery change, by you or the AI. Click one to go back to it (⌘Y).
OutputThe engine's log: warnings and errors show here.
PlaytestTests for your scene ("the player can reach the exit in 15 seconds") and their results.
AI ThinkingDuring Play, select a character to see what its brain is deciding.
WorkshopScripts, model recipes and shaders as they change, readable and editable.
Game UIYour game's menus, HUD and dialogue boxes: pick a look, preview it, change fonts and colours.

⌘K opens the command palette: type what you want ("duplicate", "drop to surface", "node graph") and press Return. ? shows every shortcut.

Moving around

Look aroundHold the right mouse button and move
FlyRight button + W A S D (Q down, E up); scroll while holding to go faster or slower
Frame the selectionF (everything: ⇧F)
Orbit⌥ drag, or two fingers
Fly to an objectDouble-click it
Game ViewG: see the scene as the player will

Play and test

Play (⌘P) runs your game in a copy of the scene. Stop puts everything back exactly as it was. ⌥⌘P plays from where your camera is. While playing, Pause (Space) and Step (.) freeze and advance the simulation one tick at a time, so you can look at a moment closely.

How building with AI works

An AI connected to Arcwright works inside this editor with the same tools you have: it places objects, forges models, writes scripts, plays the game and checks the result. Everything it does appears on screen and in History.

  • Follow AI keeps the camera on what the AI is doing. Move the camera yourself and you're in control; turn Follow AI back on when you want it.
  • You can stop the AI at any point, and undo any of its steps.
  • Talk to it in Chat: say what you want in plain words, the way you'd brief a teammate. Short, specific requests with a reference picture work best.

Sparks

Sparks pay for Arcwright's built-in AI (Claude Opus 5.5). You only need them if you use the built-in AI; your own AI app or key is free.

  • 1 Spark ≈ 1 cent of AI.
  • A typical building step (the AI looks at your scene, plans, makes the change and checks it) costs about 8 Sparks, so 1,100 Sparks is roughly 130 steps.
  • Every reply shows what it cost. Bought Sparks never expire. Unused Sparks can be refunded within 14 days of buying.
  • Click Sparks in the top bar to see your balance, buy a pack (checkout opens in your browser) or see your history.

Use your own AI app or key

Help › Connect an AI App links Claude Code, Codex, Cursor or any app that speaks MCP. The Agent panel shows the exact command to paste. With your own app or API key, building costs you nothing on Arcwright's side.

The Forge

The Forge builds 3D models from a recipe: plain code describing the shapes, sizes and materials. The AI writes recipes for you (and you can read and edit them in the Workshop). The Forge builds them in stages you can watch: block out, add parts, round the edges, paint, age.

  • Props and buildings: furniture, weapons, ruins, houses.
  • Nature: rule-grown trees and forests, rocks, plants, caves.
  • Characters: the Toon Forge (stylised heroes and creatures) and the Face Forger (realistic people).
The single biggest quality boost is a good reference picture. The next two sections show exactly how to make them.

Reference pictures

The Forge measures your reference: outlines, proportions, colours, the eyes' position. The better the picture, the closer the model.

What makes a reference good

  • A plain light grey background, no scenery.
  • For characters: a turnaround (front, three-quarter, side and back, standing in a relaxed A-pose, side by side, the same size).
  • The whole object in frame, nothing cut off, evenly lit.
  • One object per picture (or one figure per view on a turnaround).

Where references come from

Your own drawings or photos work. So does any image AI. We use Nano Banana (Google's image model, in Google Flow or Gemini) for nearly every reference in our own games, because it's very good at exactly what the Forge needs. The next section is our full method.

Nano Banana: the full guide

This is how every character, creature and place in our own games starts. Follow it step by step and your models will come out far closer to what you imagine.

1. Make a turnaround of your character

Ask for the views the Forge reads, on a plain background:

Original game character turnaround sheet: a young hero of about 14 with spiky auburn hair, a blue short-sleeve tunic with white triangle trim, a brown belt, tall brown boots. Front view, three-quarter view, side view and back view, full body, relaxed A-pose, plain light grey studio background. Stylized 3D game art, clean shapes, the same design in every view, no text.

Then in the Forge, use that picture as the character's sheet: the Sheet Sculptor fits the body's proportions to the outlines in every view and paints it from the drawing.

2. The most powerful trick: render your model, then let Nano Banana correct it

Once you have a first version, take a picture of your own model from the front, three-quarter, side and back, and give it to Nano Banana with: keep this exact character, fix what's wrong. You get a reference that matches your character's shape exactly, only better.

Our first Rowan, rendered from four sides in the engine
Our first version of Rowan, rendered in Arcwright: the cloak wraps him like a blanket, the face is blurry.
Use the attached image as the character and keep him exactly this young hero: the same age, the same hair, the same blue tunic with white triangle trim. Redraw him as a polished, high-detail stylized 3D game character turnaround: front, three-quarter, side and back, relaxed A-pose, plain light grey background. Fix these problems: the cloak hangs from both shoulders down his back with a soft hood, open at the front; a detailed face with clean defined eyes; hair in crisp layered locks. The same design in every view, no text.
Nano Banana's corrected turnaround
Nano Banana's correction: the same boy, now with a hooded cloak behind him, bracers, pouches and a clear face. This becomes the new reference.

3. A face sheet: faces at full detail

A full-body sheet holds a face in a few dozen pixels. For a sharp face, make a head sheet: front view first, then three-quarter, profile and a couple of expressions. Arcwright finds the eyes in the drawing and places the face on your character's head by them, so the drawn eyes, brows, nose and mouth land exactly right.

The attached images show our game hero. Keep him exactly this young boy. Make a head and face detail sheet for a stylized 3D game character: front view, three-quarter view and side profile of the head and shoulders, plus two expressions (determined, smiling), plain light grey studio background. Clean defined eyes with iris, pupil, catchlight and upper lash line, expressive eyebrows, a small nose, soft lips, a defined jaw. Consistent in every view, no text.
A head and face sheet
The face sheet. Put the front view first: that's the one the face is painted from.
Rowan's face in the engine, painted from the face sheet
The result in the engine: the face painted from the sheet, placed by the eyes, with layered hair.

4. More things Nano Banana does well for games

UseHow to ask
Recolour a character or propAttach the picture: "Keep everything the same, change the tunic to dark red and the trim to gold."
Surfaces and materials"A flat, evenly lit, top-down photo of mossy cobblestones, seamless, no shadows, no perspective." Use it as a material picture.
Show a surface up close"A close-up of the bark on this tree, front-on, evenly lit, plain background" (attach your tree).
Props from every side"Product sheet of this lantern: front, side, top and back, plain light grey background, no text."
Places and levels"A stylized fantasy village square seen from above at 45°, readable paths and buildings, game concept art." Use it to lay out a level.
Enemies and creaturesThe same turnaround prompt as heroes, with "original game enemy design" and what makes it readable at a distance.
Fix something specificAttach your render and say exactly what's wrong: "the hands are mittens; give him four fingers and a thumb holding the sword grip."

Rules that make it work

  • Always a plain light grey background. The Forge separates the figure from it.
  • Always "the same design in every view" and "no text".
  • Attach a picture whenever you have one and say "keep this exactly". Nano Banana edits far more faithfully than it invents.
  • Generate several (four at a time works well) and pick the best; regenerate rather than fight a bad one.
  • Download the full-size picture (2K), not the thumbnail.
Coming next: Nano Banana built into Arcwright, paid with Sparks: type what you want, pick from four pictures, send it straight to the Forge. Until then, Google Flow or Gemini with the prompts above gives the same results.

Characters

The Toon Forge builds stylised characters from a recipe (proportions, face, hair, outfit, colours) and a reference sheet. The Sheet Sculptor fits the body to the sheet's outlines and paints it from the drawing. Every character comes rigged and walks, runs, jumps and glides straight away.

  • Head and hands are built at a finer detail than the body, so faces and fingers hold their shape.
  • Hair: locks, lift, length, thickness (low lift and long thin locks lie in layers; the defaults stand up in tufts).
  • Hands: open, relaxed or fist, per hand: a fist closes round a sword grip.
  • Props go in the hand with grip in hand, which seats a sword or a gun by its grip.

Clothes

Clothes are tailored: drafted from the body's measurements as real sewing patterns, sewn and draped on the character, then skinned so they move with it. Shirts, tunics, dresses, coats, trousers, skirts and capes, each with fabric, colour, prints and trim.

  • Nothing clips through. Whatever clothes, boots, belts and bracers cover is hidden on the body underneath automatically, so a leg can't poke through a boot when it bends.
  • Gear (boots, belts, bracers, gloves, pouches) sits over the clothes; its distance off the body is adjustable (a belt over a loose tunic sits further out).

Worlds: terrain, forests, water, weather

  • Terrain kilometres across, with cliffs, caves and roads.
  • Living forests: trees grown by rules (where they cluster, thin out, stop at water), drawn fast enough to run through.
  • Water: oceans, lakes and rivers, with a cartoon look for stylised games and swimming underneath.
  • Weather and nature: rain, storms, lightning, wind, day and night.

Scripting your game

Gameplay is plain JavaScript in your project's Scripts/ folder. Attach a script to any object (Inspector › Script); edits reload live while you play, with no rebuild. Ready-made kits cover the common pieces: health, enemies, pickups, doors, checkpoints, a sword, a chest, a fast-travel point.

// A coin: spins, and gives the player one coin when touched.
function onTick(self, dt) { self.rotation = [0, (self.rotation[1] + 90 * dt) % 360, 0]; }
function onEnter(self, other) {
  if (!other.has('player')) return;
  game.sound('2d:coin', self.position);
  game.hud('Coins', String((globalThis.coins = (globalThis.coins || 0) + 1)));
  self.destroy();
}

The full scripting reference (every object, game and input call) is in Help › Scripting Reference.

Menus, HUD and dialogue

The Game UI panel gives your game a title menu, pause, settings, HUD, inventory, dialogue and shop screens. Pick a genre preset (Fantasy RPG, shooter, platformer...), preview any screen over your scene, change fonts and colours, then Save.

Games in Development

Our own games, still being built, are in Games › In Development. Open one to play it, see how it runs on your computer, take it apart, or start your own game from it. Each has a Suggest something button: tell us what you'd add.

Importing models and animation

File › Import Model (or the Content panel's Import) brings in GLB/glTF, FBX, OBJ and USD models with their materials, and rigged characters with their animations. Imported files land in your project's Assets folder. Sounds (WAV, MP3, OGG) and pictures (PNG, JPG) import the same way.

Exporting and publishing

Publish (top right) sends your game to Arcwright Play, where people can find and play it. File › Export Game makes a stand-alone copy of your game for Mac, Windows or Linux that runs without the editor, ready for other stores such as Steam (you upload it through Steamworks with your own developer account). Exported games show a short "Made with Arcwright" splash when they start.

Your game is yours: Arcwright is royalty-free until a game has earned $20 million.

Getting help, reporting bugs

  • Help › Send Feedback: tell us anything, with a picture of the editor attached automatically if you like.
  • Crash reports: if Arcwright crashes or freezes, a report (with your user name removed) is kept. You choose in Help › Privacy & Updates whether reports send automatically, ask first, or never send.
  • Anonymous usage stats (on by default, off in Privacy & Updates) tell us how many people are building and where things go wrong. No names, files or scenes.