Changelog

What changed in Gamewright

Every notable change to Gamewright, newest first. The format follows Keep a Changelog, and versions follow Semantic Versioning. A version's section here is its release notes: the downloads page and the release feed show it as written.

Unreleased

In progress

42 changes not yet in a release: 39 added, 3 fixed.

Added39 changes

  • Your plan, and deleting a game in the browser. The Studio in a browser has a Your plan page, linked from its welcome beside Your computers: what Gamewright keeps for you there, each of your games with Download and Delete, so you can always make room and take a game to the desktop Studio, and a way to delete your account yourself. Free and Pro come to it soon; the desktop Studio stays free, and the Director stays on your own key.
  • A store page written for you. Every export now comes with the page to paste into itch.io or Steam (what the game is, how to play it, what a player can change, who made what) and the answers to the stores' AI questions, from what your game records of who made each part. Desktop exports also tell itch.io's app which file starts the game. gamewright store writes the page on its own.
  • Click or tap a puzzle's square to walk there. In a grid puzzle like Lamplighter, click a square (or tap it on a phone) and the keeper walks there the shortest free way; click the drum beside you to push it. The arrow keys still play every turn.
  • Captions for music. With Captions on, a change in a game's music that tells you something comes up in words: "♪ tense music ♪" when a beast notices you, "♪ the music eases ♪" when a fight is over. The sample games caption their music.
  • Change a controller's buttons and the mouse's too. On a game's Controls page, press OK on a row and then press anything: a key, a controller button or trigger, or a mouse button. Move a controller's stick on a movement row to swap the sticks, for left-handed play. Pick up a controller and the game's prompts name its buttons: "[A] use" instead of "[E] use".
  • Check a game plays with only a mouse. A playtest can name the bot seek_click: it plays toward the playtest's goals the way someone with only a mouse or a finger would, clicking the ground to walk and clicking people and things to talk to them or pick them up, and says which goal needed a key. The fuzzing bot clicks too, in a game played by clicking. Clicking someone already within reach now talks to them at once, without a step toward them after the talk.
  • Bigger text that fits. With Text size turned up, or on a small phone screen, a game's lines now wrap onto the next line instead of being cut off with "…", titles shrink a step until they fit, the lines below move down to make room, and a conversation's box grows to hold its words. When there's still no room, a reminder like the quest line steps aside until a message has been read, and the answers to a question move into the box under it, a long answer wrapping onto a second line.
  • See your game through colour-blind eyes. Game ▸ See it as draws the game playing in the Studio as someone red-, green- or blue-blind sees it. Every check run now measures each character and foe that way too, and warns when one melts into the ground for one of them: a red beast on green grass can look like one brown smudge to someone red-green colour-blind, about one man in twelve.
  • Check a game the way a person with a disability sees it. A playtest can name a person now: text at 200%, captions on, a colour filter, or the eyes of someone colour-blind. The frame checks then draw the game that way, and fail text that no longer fits, a caption cut short, or a foe that melts into the grass for someone who can't tell red from green. Add --sees deuteranopia to a shot or tour to look through those eyes yourself.
  • Captions, a colour filter and your own keys. Every game's Options page has three more settings. Captions show the sounds that matter, in words, with an arrow toward where each came from: "← [beast snorts]" before it charges, "[sentry raises the alarm] →". A colour filter helps with red-, green- or blue-blindness by pulling apart the colours that would look the same. Controls lets you put any key where you need it: press OK on a row, then the new key, and the key it replaces swaps over. The sample games caption their warnings, and Larkmead's French translation covers all of it.
  • Games in more than one language. A game can be translated now: a translation sits beside it as one document, and a person picks the language on the game's Options page (the first time, their device's language if the game has it). Switching mid-game keeps everything where it was; only the words change. The game's lettering draws accented letters now (é, ü, ñ, å, č, ő, ł and more), and checks catch a translation that names no text, drops a placeholder or uses a letter that can't be drawn. Larkmead can be played in French.
  • Worlds drawn flat, like a storybook RPG. A world game can be drawn from straight above in pixel art now, instead of in 3D: give its look the flat profile and a top-down camera. Grounds meet in soft, wobbly edges (grass over earth, sand over grass), water laps at the shore with a line of foam and darkens as it deepens, cliffs show their rock faces, and every tree, cottage, person and beast is a sprite made from the same models a 3D game uses, turned the way it faces and walking as it moves. Dusk warms the picture and night tints it blue, and the mouse still clicks to walk and use. Larkmead, a new sample, is the adventure template's own quest drawn this way.
  • Places joined by doors. A game can have more than one place now: a village and the cave under it, a house and its cellar. Each place is a world of its own, made the first time you go in, and you get from one to another through doors you walk up to and use. Whatever you picked, chopped or beat in a place is still that way when you come back, and saves remember every place. In Thornwick, a burrow in the wood's hollow leads down to Thorn Hollow, a clearing walled by pines where the third thornback nests among berry bushes.
  • Stomp the foes, and powers with cooldowns. Platformer foes can be beaten now: land on one and it's gone, with a burst and a bounce, or hit it with a swipe; a tough one or a boss takes several hits. Any body can have powers (a dash, a fireball, a slam, a shield) that it uses on a key or by itself, each with its cooldown and maybe a cost, and anything can be slowed, stunned, shielded, poisoned or made invulnerable for a while. In Burrow Run you stomp the crawlers; in Saltwell a spitter's glob slimes you and slows you down. New platformer games start with foes you can stomp.
  • Cutscenes, delays and boss phases. A new kind of document, the Timeline, does things one after another over time: wait, wait until something is true, act, say a line, walk someone somewhere, point the camera at something or shake it. It starts when something happens (the game starting, a boss appearing) or when a rule says so, and each boss gets its own. A cutscene takes the controls while it plays and the confirm key skips it, leaving the game just as if it had been watched. Thornwick now opens on one: the empty shrine in the wood while Maren says what was lost, then Maren by the well. Saves and replays carry a Timeline exactly, mid-step.
  • Bring your own art and sound. Drop pictures (PNG, JPEG, WebP) and sounds (Ogg, WAV, MP3) on the Studio, or use File ▸ Import…: each is kept in your game under its hash, with a Sprite or a Sound ready to use it and a preview in the Inspector, where you say who made it, its licence and whether AI made it. Cut a sprite sheet into clips and your hero runs, jumps and falls in your own frames; your sounds play in the mix like the built-in ones. The Director uses your files first and can never change one. Ctrl+Z takes an import back; gamewright import does the same from a terminal. Files the player can't take, or that are too big, are refused by name.
  • The mouse plays. A game's controls can say what the mouse does: aim where it points (the twin-stick's ranger now faces the cursor and fires there), or walk to what you click and use it, talking to a person or taking a thing, as a point-and-click adventure does (Thornwick now plays that way). A tap on a phone is a click. The menu every game has and a game's own screens answer the mouse too: the row under it is chosen and a click takes it. What the mouse did is recorded as places and things in the world, so a replay and a Playtest repeat it exactly, and tours can point, aim and click by name. A game that aims with the mouse says so in its hints.
  • Games feel it when things happen. A new kit, kit.vfx, gives a game juice from its Style: sparks and a flash when something is hit, dust and a squash when you land, a sparkle when you pick something up, debris and a shake when something dies, confetti when a room is solved. Every template but the visual novel has it, and so does each of their samples and starters, in its own colours; the Director writes it as it writes a sound. Effects never change how a game plays. The pause menu's Options now offer Screen shake (on, reduced, off) and Flashes (on, off), and no game ever flashes more than three times a second. A game saved before its template gained the kit can't be continued from that save (the menu says so); start it again.
  • Describe a game on the welcome. Write what you want in the box at the top and press Make it: a new game starts, and the Director's first turn is your words.
  • Dress it first. The Director changes a game's look only after you have played it, unless you choose Dress it first in the game's Overview: the look opens before you play, and what the game plays like stays as it is.
  • The Director on your Claude plan, from the Studio. Settings say what the Director runs on, and the key card offers Use my Claude plan: Claude Code, signed in with your Claude account, runs its turns, with no key.
  • Undo an approved change from its card, and Redo it. A proposal's card names each document it changes, with Open, and shows a colour as its swatch; every colour field in the Inspector has a picker.
  • The conversation comes back when a game opens again, and a reply can be copied or a failed turn tried again.
  • Say why you reject a proposal. Reject asks what should change; the Director hears it at its next turn, with what you approved, undid or changed yourself since.
  • Open your own computer's games in the web Studio. Pair it once from Your computers (gamewright.diy/app/computers) and run gamewright runner --games <folder> there: its games list in the web Studio beside the ones kept online, and opening one builds, playtests and directs it on that computer, so nothing waits on Gamewright's. Off, its games say so.
  • Let the Director's changes apply when every check passes. In Settings, "Its changes apply" can be When every check passes: a proposal of the Director's that passes is applied at once, its card says so with Undo, and the Director no longer asks you to approve it. One that fails a check still waits for you.
  • The Director on your Claude plan. With Claude Code signed in with your Claude account, run the runner with --plan (or set GAMEWRIGHT_DIRECTOR=plan) and the Director's turns use your plan instead of an API key. It works with the game's own tools only, and the approvals stay yours.
  • The Director remembers. It keeps short notes about your game and you (what you like, what to avoid, why you rejected something) and reads them at every turn, in every conversation. The book in the Director panel's header shows them: change or remove any.
  • A pause costs less. The Director's conversation stays in the prompt cache for an hour, not five minutes, so a turn after you have played for a while reads it back at a tenth of the price instead of paying to send it again. A turn that fails or is stopped part way keeps the steps it finished.
  • Sound in 2D games. The platformer, grid puzzle and visual novel templates now have sound, and so do their five samples and their starters. A jump, a gem, a pushed crate, a solved room or a line of a story makes a sound, and each game has an ambient bed and a short looping score. Fog Signal's bed and music change with its scenes, and Burrow Run's with its caves. A Style can now give any event a sound, and each scene a bed of its own.
  • Pause, continue and options in every game. Esc, a pad's Start or the Pause button on a phone stops the game where it is and opens a menu in the game's own look: Continue, Restart, Options and Save and quit. The title (or the first screen of a game with none) then offers Continue, and a save the game can no longer read says so plainly. Options sets the volume, the music, the sound effects and the text size, up to twice as big, kept for that game on that device. A game words its menu in its own voice, lays it out its own way, or turns off what its genre can't have.
  • A plan for a big game. Ask for something big and the Director first proposes a plan: the steps to get there, each one you can play, each with the playtests that will prove it. Approve it once; the game's Overview shows where it stands, and Continue the plan builds the next step. A step is marked done only when its playtests pass.
  • See a proposal before you approve it. When the Director previews one of its proposals, the pictures show on that proposal's card as well as in the conversation.
  • Ctrl+Z takes back an approval. Undo goes back through the proposals you approved as well as your own edits, and a card's Undo and Redo keep its place in that history.
  • The Director says what it can and can't make. Before it promises a new game or a big change, it checks your words against what the engine does, then tells you what it can make as asked, what it would approximate, what isn't possible yet, and the nearest game it can make now.
  • Watch a proposal play. Watch it play on a proposal's card draws the run its checks played, frame by frame, so you see the change in the game before you approve it.
  • The Director plays your game. It can try a few moves itself, on the game or on a proposal, and see what happened and how it looked, before it tells you something works.
  • The Director hears how your plays went. Each time you play your game in the Studio, the Director's next turn starts with how it went: how long you played, how it ended, how you died and what you did most.
  • Your computers in Settings. In the web Studio, Settings list the computers whose games open there, on or off; Pair a computer… opens the page that pairs one, in either Studio.

Fixed3 changes

  • A Style that named one ambient bed for both day and night played it only at night.
  • A proposal's card shows how its checks went when they finish after it appears, as they do for a change the Director makes; before, it said nothing of them.
  • Settings fit a short window. Settings scroll when the window is shorter than they are; their last rows were out of reach in a 720-pixel window.

0.2.1

12 changes: 2 added, 1 changed, 9 fixed.

The web Studio at gamewright.diy/app now plays your game in the page, and its Director sees the previews it draws. Choose a model, sprite, sound, the music or the Style and the Inspector previews it. The Studio's own keys work while a game has the keys, and Esc closes the palette.

Added2 changes

  • Play your game in the web Studio. Play (or F5) builds it on Gamewright's computer and plays it in the middle of the page, as the desktop Studio does. The web Studio no longer offers what only the desktop can do (opening a folder, exporting a zip, a window of its own, quitting).
  • See what a document makes. Choose a model, a sprite, a sound, the music or the Style and a preview shows above its fields, built as the game builds it: a model turning under the game's light (drag it, or see it at night) with its triangles against its budget, a sprite's clips at their own rate, each sound's variants with their waveform, the music's sections with each layer on or off, the Style's colours by name. Change a field or undo and it follows. A proposal shows Now and Proposed side by side, with Approve and Reject.

Changed1 change

  • The Director reads less to make a change, so a change costs less. A document's schema gives the kits your game runs in full and the rest in a line each; a kit's vocabulary comes in brief, each entry whole by its id; and the templates come as an index, the chosen one whole. An Archetype's schema went from 50 kB to 20 kB, and every later step of a turn reads it again.

Fixed9 changes

  • A game whose kits cannot run together is refused when it is checked, saying which systems clash, where before it passed every check and only failed to start.
  • While you play, the Studio's keys still work. Once a click gave the game the keys, F7, Ctrl+R, Ctrl+Shift+B and every other Studio key went into the game instead; they are the Studio's again (each is Ctrl and a key, or a function key, which no game uses).
  • Ask the Director to change a sample at once. Five samples had no brief, so asking Saltwell to "Make the nights darker" (the Studio's own suggestion) got a brief to approve first, and Tideline's look could not be changed until you said you had played it. Every sample now ships with its brief, played through.
  • The Director can look at your game in the web Studio. On Gamewright's computer its previews (pictures of a change at dusk, at night, on a Screen) drew nothing and failed, so it proposed a look without seeing it; they draw there now, as on the desktop. And after you approve a change there, the status bar no longer says the game "changed since" the build that just made it.
  • Playtest finishes in the web Studio. On Gamewright's computer it ran out of time before every playtest had run; it now passes in about six minutes, and the status bar counts the runs as they end ("Playtesting… 7 runs done"), here and on the desktop.
  • The Director says where your game plays. It sent you to a Play tab the Studio no longer has; the game plays in the middle of the window, and F5 plays it on the web too.
  • A brief fits the Inspector. Its pillars and goals are sentences, each on one line, so the form grew wider than the dock and ran off its edge; a long item now wraps within it.
  • Esc closes the palette. Its search field kept Esc for itself, so the palette stayed open and the next click (on a menu, say) only closed it. And it finds a document typed as the project names it: "Saltwell (brief)" found nothing.
  • In the web Studio, Play builds again after you change the game. A field changed in the Inspector or a room painted in the level editor played the build from before it. The console's ✓ and ✗ were boxes there (a browser lends no font for a mark the Studio's own lacks). Settings there no longer offers updates or Claude Code, which only the desktop has.

0.2.0

21 changes: 3 added, 9 changed, 9 fixed.

A new Studio. Its window is laid out as an editor is: the game's documents on the left, the game playing in the middle, the Director and a document's fields in a dock on the right, the checks and playtests in a console below, and a status bar. Every panel resizes, folds and is remembered, and the window fits a 13-inch laptop. On a Mac the menus are in the menu bar and the app has Gamewright's own icon. You can export a game for anyone to play and paint its levels. When the Director builds one change on another, one press approves both. Builds are not signed yet: macOS and Windows ask you to confirm the first time you open it.

Added3 changes

  • Export a game for Linux, Windows, macOS or the web, as one zip anyone can download and play with nothing else to install: Export (Ctrl+E) in the Studio, or gamewright export. The first export for a system downloads that system's player once and keeps it. Exporting for macOS needs a Mac for now, which signs the game again once it is inside the app.
  • Paint a level. Double-click a room or a level in the project and it opens in the middle as the game draws it: paint, erase, fill, draw rectangles and move things with the mouse, its pieces named in words with a key each. Each stroke is one change, and Ctrl+Z takes it back. A puzzle level that can no longer be won turns its tab red and says why; Play starts the game from the level in front.
  • Choose the Director's model in Settings or the Director menu: Sonnet 5.5, Opus 5.5 or Haiku 4.5, each said with what it is good for and what it costs.

Changed9 changes

  • The Studio is laid out as an editor. The project's documents on the left, filtered as you type; the game in the middle, with Play (F5), Pause, Restart, where to start and Open in a window in the header; the Director and the Inspector in a dock on the right; checks, problems and playtests in a console below; and a status bar saying the core's state, the last build, the checks and what the Director spent. Every panel resizes and folds, and is remembered. File, Edit, View, Game, Director and Help menus hold every command with its key (the Mac's own menu bar there); Ctrl+K finds any command or document, and Settings sets the size of everything.
  • A game started from nothing starts with the Director, or from a template instead, and Play, Build and Playtest say there is nothing to do yet.
  • The Studio rests when no game is playing. It draws only when something changes, where 0.1.0 kept a core busy redrawing an open game.
  • A welcome that shows what you can make. It fills the window: the games you opened lately, each with its picture and when you last opened it, and the nine sample games as cards with their posters; one click copies a sample for you to play and change.
  • Talk to the Director as in a chat tool. Write over several lines (Enter sends, Shift+Enter starts a new line), stop a turn with Stop or Esc, and start from three suggestions drawn from your game. While the Director works it says so. Your key's card shows only until a key or Claude Code is connected; after, it is under the key button in the Director's header.
  • Every document's fields read as a tool's, not a form's. A label sits beside its field when there is room and above it when the panel is narrow; no field stretches across the window; numbers are compact boxes with their range on hover, and a slider when the range is short; each field says what it is for. A part of a document that is not set offers Add, with values that already work, and Remove when it is; a list of things gets Add an item. Where a document came from folds away under About this document.
  • Approve a proposal made on top of another in one press. When the Director builds a change on one still waiting for you, its card says what it builds on, and "Approve both" applies the one beneath first, then it. Waiting proposals are listed oldest first, as they were made.
  • The Director runs on Sonnet 5.5 unless you choose otherwise. In the first whole games made from nothing it reached a playable game for about a third of Opus 5.5's price, and made the more finished game; Opus is one choice away for the hardest changes.
  • The Director costs less a change. It reads only the one entry of the engine's vocabulary a change needs (a model's builder, an action), not every entry of its kind: in the Studio's first paid change half the cost was one answer it read again on every step.

Fixed9 changes

  • A game started from nothing opens with a title and its HUD. The platformer and puzzle templates carried both screens but never opened them, so the Director's first platformer booted straight into play with no title, no hearts and no level name.
  • The Director keeps to its budget. A turn's budget was looked at only after each call, and one late call could take it nearly twice over; now a call that could pass it is not made, and the Director sums up instead. A reply cut off at the output limit no longer leaves the conversation stuck.
  • The Studio's window on a Mac. It opened at a quarter of the screen with its UI drawn twice as big inside it, and could not be made usable. It now opens on most of the screen it is on, or where you left it, remembers whether it was maximized, draws its UI a little smaller on a small screen rather than spill off it, and on a narrow window the panels give way so the game keeps its room. It fits a 1366×768 laptop.
  • Gamewright's own icon on the Mac app, the Windows program and the Linux AppImage, and in the Studio's header, where Godot's and a gamepad's were.
  • A platformer level's fields showed "Could not read its fields" for every level.
  • The game in the Studio is as sharp as the Studio. On a Retina screen it rendered half the pixels it was shown on, each blown up to four. And its title and HUD were laid out on the view's pixels rather than the game's 1920x1080 frame, so text in the Studio was bigger or smaller than the game shows it. It now renders at the screen's pixels and lays out as in its own window, its smallest text kept as readable as the Studio's at any size of everything.
  • A field's help is in words. The Inspector no longer cites design documents, decisions or code under a field ("(ADR-0006), from library/templates/").
  • A problem's row lands the keyboard in a number as it does in any other field.
  • Undo and redo show at once on Linux. After a file of the game had been saved once, the Studio stopped hearing that it changed again: an undo wrote the file, but the open document still showed the edit, and a second save from your own editor went unseen.

0.1.0

15 changes: 15 added.

The first version of Gamewright Studio, the desktop app you build a game in, on the engine that runs every game at gamewright.diy/play. In this version the Studio starts a new game or opens one, plays it, checks it, lets you change any document by hand, and lets the Director propose changes that you approve or reject. It cannot yet export a game; that comes next. Builds are not signed yet, so macOS and Windows ask you to confirm the first time you open it.

Added15 changes

  • Gamewright Studio, a desktop app for Linux, Windows and macOS, made in Godot. It opens on a welcome with the games you opened lately, Open a game folder (Ctrl+O) and New game (Ctrl+N). A game's documents show by section (its world, characters, items, rules, look and sound, playtests), named as a person names them. Check, Build and Playtest run with one click each, and their results are said in plain words in the Checks panel.
  • New games that play at once. Start from a template's starter, the smallest game on it, playable the moment it is made in its sample's look and sound; from one of the nine games; or from an empty folder the Director fills. Each game opens on its next steps: build it and play it, playtest it, ask the Director, read its brief.
  • Change any document by hand. Its fields in plain words, each in the control it needs, with its range and what it is for; lists as chips you add to and take from. Each change is yours, checked as you make it, and Ctrl+Z takes it back; a value the game would refuse is said under the field. What the Director proposes shows under the field it would change, with Approve and Reject there.
  • A pro tool's habits: sections on a rail (Ctrl+1 to 7), panels that fold away, drag to any size and are remembered, every key on a sheet (Ctrl+/), Ctrl+K to find a document, a section or a command, and a UI size of your own.
  • One core, always running. The Studio keeps one session with its core for the open game, so a Director turn answers while a playtest runs, and a change made in your own Claude Code shows the moment it is made. If the core stops, the Studio starts it again.
  • Say when a new version is out. The welcome says so when gamewright.diy has a newer version; it never installs anything, and a switch turns it off.
  • Play while you work. Play runs the game in the Studio's Play tab. A click gives the game the keys and a click elsewhere takes them back, so typing to the Director never moves the hero. The game keeps its own clock and its own sound.
  • The Director in the Studio, on your own Anthropic API key, which the Studio keeps in your system's keychain (or, where there is none, a file only you can read). Its answer streams in, each tool it uses shows as a line, and each change it proposes becomes a card: its title, why, each field from what to what, and what the checks say. You approve or reject each one; an approved change is baked and played at once.
  • Your own Claude Code as the Director. gamewright mcp serves the Director's tools to Claude Code or any MCP client. What it proposes shows up in the Studio as cards to approve.
  • One download, nothing else to install. The Studio is also the engine its checks run on, and the core (validation, baking, the checks, the Director's tools) is one program beside it, with the schemas, templates and kits it reads. No Node, Godot or Python needed.
  • Six templates: action survival, grid puzzle, platformer, visual novel, adventure and twin-stick arena, built from 21 kits. A game is a folder of small JSON documents: a template plus what makes it different. New mechanics come as kits every game can use, never as code in one game.
  • The checks, from L0 to L5: the documents (L0), a boot run twice to the same state (L1), every Playtest played by bots (L2), rendered frames checked for a subject you can see and text you can read, on a monitor and on a phone (L3), a vision model's reading of those frames (L4, optional, on your key), and the web build ending on the desktop's state (L5). Grid levels are proven solvable and platformer levels completable.
  • The gamewright command line, beside the Studio: validate, analyze, bake, sim, shot, tour, play, verify, solve, reach, changes, director, mcp, key, fmt, hash and version.
  • Nine sample games made with the engine, three of them by the Director from one sentence each, playable in the browser at gamewright.diy/play, with a keyboard or by touch on a phone.
  • Downloads and this changelog at gamewright.diy/download and gamewright.diy/changelog, with a release feed. Each package is built and tested on its own system from one commit, with its SHA-256 listed.