Brassneck Studio
The Articles — devlog
A point-and-click murder mystery aboard the brig Merciful · Ren'Py 8.5.3 · macOS
28 Aug 2026
build 0.3-playtest
chapter one
two playtest rounds

Two rounds of playtest notes came back, and both were politely circling the same problem: the game kept explaining itself. Sixty-nine lines of prose, one menu and a fair amount of my dignity later, it explains considerably less. There is also a new layer of plot, and the art pipeline has learned to cope with a sheet that lied to it.

What the studio playtest found

Round one · outside eyes, first time

The headline note was that the prose read as machine-written. Ouch. Also: fair. What stopped it being a vague sting was how precise the tester was about why — "the character thinks on text, and then it unnecessarily explains the thought in the same sentence."

Which is the good kind of bad news, because it is mechanical rather than stylistic: one clause too many, over and over. A sentence lands an image, and then a second clause trots along behind it explaining what the image was for, like a tour guide who will not let you look at anything on your own.

wasIt is not neutrality, and every person on this deck understands that it is not. A company of thirty-one notices the one who would not choose.
nowA company of thirty-one notices the one who would not choose.

Sixty-nine lines went through a single test: a trailing clause survives only if it hands the player a fact they cannot get anywhere else. "Coat still buttoned from yesterday, which means he has not been to his hammock" stays, because that is information. "He has not offered you any, which is its own kind of message" goes, because that is me nudging you. The rule is written into the project's register now, so chapters two to six cannot quietly relapse.

I also told you the captain was old four times across two chapters. The notes had started keeping count, which is its own kind of review. He is now told to you zero times and is simply old instead: knees with opinions about the weather, papers held close to the candle.

Two bugs and a feature

Rollback is off. The tester noticed the scroll wheel let them re-read, which was the polite version of the problem. Rollback also let you undo a seam close and get your thread back, quietly dismantling the only economy the game has. Re-reading survives through the pause menu, which cannot undo anything and knows it.

The keyring on the chest lid gave you the lock's refusal, because the code was checking the lock and the lid as though they were one thing. Fixed at the branch rather than the line, which is the difference between a fix and a plaster.

A journal was their idea and is now in: current objective, everything seen, who you have met, thread and days remaining. It is built out of flags that already existed, so every future chapter fills it in for free. Two rules keep it honest — it never knows more than you do, and it never draws the conclusion for you.

What the second playthrough found

Round two · the director, playing it cold

The most valuable note was the smallest: a line that said the same four words twice in one sentence. A rewrite had gone round the middle of it and never read the end. Nobody should be finding that by playing the game, so the checker now catches echoes — a four-word run repeated inside one line, or a five-word run shared by two lines sitting close together, with an allow-list for the handful that repeat on purpose. I proved it by putting the exact bug back in and watching it get caught, which was more satisfying than it had any right to be.

The menu that was giving the game away

In an early scene you chose which of a short list of people to eavesdrop on. Very helpful of me: it told you the answer was one of exactly those people, before you had any reason to think so, and then spent the scene's tension on picking from a shortlist.

Now one person comes, argues, and leaves, and you cannot say who. The choice is no longer who — it is how close you dare stand to the door. Ear to the wood gets you the whole argument and costs you something. Standing back gets you one side of it, which turned out to be much the eerier of the two: he answers less and less of something you cannot hear.

The general shape is worth keeping. A choice should be about what you are willing to risk, not about which answer you would like handed to you.

And the reason you cannot place the voice is the premise doing its job. Nine days aboard is long enough to know a crew by their tread. It is not long enough to know them through two inches of oak.

Where the player sleeps

The note was blunt: "why am I sleeping on the deck? That should be explained." One line does it — nine days aboard does not buy you a place in the forecastle — and it pays for itself on the spot, because it puts you ten feet from the mainmast when the captain died on it, hearing nothing at all. That is now the single best reason to suspect you, and the first mate's question has been rewritten to lean on it. Turning a plot hole into a murder charge is the best trade I have made all week.

Two notes that were one note

Two unrelated-looking comments about a supporting character had the same answer sitting underneath them, and digging for it produced a better version of the mechanic than the one I had been asked for. I am choosing to describe that as process.

The game's central decision is how carefully you close something you were not supposed to open. Careful costs more of a resource you cannot replace. Quick is cheap and leaves evidence. The note asked for the two outcomes to differ more, and the fix was to make the careful option cost something that is not a number — take the time, and somebody sees you take it. The consequence is not a stat going up. It is that a person now knows, and you have no idea yet what that is going to mean.

That is a better shape for a game with an economy in it. The safest choice for the evidence is the most dangerous choice for you, and the game never says so out loud.

And the vote

The report was that voting for a candidate did not make him captain. The arithmetic was fine — he does win — but the count came out as two bare numbers, "16 to 15", with nothing to say whose was whose. It names them now.

Underneath that was a real design problem hiding behind a fake one. An earlier choice can swing the company far enough that your own vote cannot reach it. That is intended. It was also invisible, so it read as a broken count. The game now acknowledges it once, in character, at the moment it happens. A consequence the player cannot see is indistinguishable from a bug — second time that has come up today, and I am beginning to suspect it is a law rather than a coincidence.

Faces

Art pipeline · four sheets in, one outstanding

The note was that expressions felt random. They were. The cause was embarrassingly measurable: of roughly 120 character lines, 12 carried an expression. Everything else inherited whatever was last on screen, so a single pose could hold for eleven lines while its owner said increasingly varied things with exactly the same face. Every line now names its own state. All 123 of them.

The exceptions are deliberate. The voice behind the cabin door has no sprite, and giving those lines an expression would pop one onto the screen. You are listening through wood. You get nothing.

Four states became nine: neutral, listening, dry, guarded, sharp, hard, weary, breaking and amused — the last one added by the director on the grounds that dry is the flat joke you are not sure landed and amused is the one that did. That is a real distinction, and this crew needed both.

One pose was doing active harm. The quartermaster's hard was her holding the ship's articles out flat toward the camera, and it was landing on every authority line she has, so she spent the chapter as a woman permanently presenting a document. It is now book, used exactly four times, all of them moments where she physically presents the articles — and in those four it is the best that pose has ever looked.

A sheet with no transparency

One sheet came back fully opaque with the transparency checkerboard painted into the picture. It previews identically. It is not remotely the same thing. The cutter finds figures by looking for empty columns, and with no empty space anywhere to be found it obligingly sliced six near-identical crops. The rebuilder now spots an opaque sheet and keys the grid out by connectivity from the border, which has the pleasant side effect of leaving the white shirts alone.

A twist has to pay for itself

Story · a layer added, and an old hole closed

A new layer of plot was proposed today and adopted. What it is stays in the story bible, but the reasoning is worth writing down, because it is the test every proposed twist should have to pass and most cheerfully do not.

A twist earns its place by explaining something the story was previously getting away with — not by being a surprise. Surprise is cheap and available at any point in any story. What is expensive, and what makes a mystery hold together on a second reading, is a revelation that turns out to have been load-bearing all along.

This one closed a hole the bible has been carrying since its second revision. A crucial discovery — the one that sets everything after it in motion — was happening offstage by coincidence, because nobody had ever asked how did that character find that out? The document simply said they did, in a confident tone, and we all nodded along. The new layer is the answer, and once it was on the table it was obviously the only answer, which is usually the sign that it was the shape of the thing all along.

It cost nothing already written. Four details that had been pure characterisation became plot without a word changing — habits and small kindnesses that were only there to make somebody feel like a person turn out to have been the mechanism. That is the ideal case: nothing retrofitted, no scene rewritten, and a first-time player has already seen all of it.

The ambiguity is the point

The layer creates a question about two characters that the game will never answer, deliberately. Both readings are fully supported by everything on screen and neither is confirmed, which puts it in the same family as an existing rule of the project: no character portrait may read as lying, because a portrait that does hands the player the answer and ends the game some hours early.

That is now written down as a hard rule. A scene that forces a verdict on it is a wrong scene, however good the scene is. Especially if it is good.

What it cost chapter one: one line

Chapter one is written, played and being tested, so the bar for touching it is high. It needed a single sentence: a small physical detail, in a crowded scene, with no comment attached to it whatsoever.

The standard for that kind of plant is strict and worth saying out loud. It has to mean nothing on a first read. A twist you could not possibly have seen coming is a cheat. A twist you walked straight past is a re-read, and a re-read is the thing people tell their friends about. There is already one of these in the project — an object sitting in plain sight in an early scene that becomes appalling several chapters later — and the rule is the same both times: never hide it, just do not point at it.

Tools

Written today · both round-trip verified

The whole script is now editable outside the code. An exporter writes every line in the game into one markdown file in story order; an importer reads the edits back in. Matching is by content hash rather than position, so the source can keep moving while the file is being edited, and anything that changed on both sides is reported and skipped rather than silently overwritten. It also refuses a change that would break the game — an unescaped quote, a lost interpolation, an unbalanced tag, a deleted choice.

The static checker gained the echo rule above, and now tells missing apart from wired up but not drawn yet, so art that has been coded ahead of being made stops shouting at me every time I run it.

State of the build
20script files
48labels
67images
543lines of writing
123expressions set
9states per character
14lengths of thread
0checker issues

Open

Next up

art
Roche's expression sheet — seven figures, including a proper three-quarter-length away. His current one is a chest-up bust from an early round, so he ends in a hard cut while everybody else runs off the screen edge. Feathered as a stopgap, which fools nobody.
art
The quartermaster's corrected hard — one figure. Falls back to her folded-arms pose meanwhile, which carries seventeen lines without embarrassing itself.
art
A journal icon to replace the text button. Wired and guarded; drops in with no code change.
writing
The script pass — the exported file is with the director. Fingers crossed.
story
Fold the new layer into the chapter map before chapter two is written, and settle one character's motive properly. The current answer is true but incomplete, and they are owed a scene for it.
build
Playtest chapter one end to end on this build: the journal, all three chest closes, and whether the expressions now read as deliberate rather than as weather.