hallway8 / docs /REVIEW4.md
alvations's picture
Deploy Hallway 8 (multi-arc memory game)
93a3c54 verified
|
Raw
History Blame Contribute Delete
9.47 kB
<!-- SPDX-License-Identifier: Apache-2.0 -->
<!-- Copyright 2026 alvations (Melon Lab) -->
# Critical review, fourth pass
The same deliberately harsh but impartial reviewer, back for a fourth look.
`docs/REVIEW.md` (6/10), `docs/REVIEW2.md` (7/10), and `docs/REVIEW3.md`
(7.5/10) are the prior record and stay untouched. Same method: read the code and
the arc content, play the running build, look at the actual screens (landing,
corridor, the touch layer, all three win screens, the new collection page, the
settings, mobile). The headline change this round is the **collection**:
achievements, a flashback ledger you can fill and recall, save/load, promo
codes. That is, almost line for line, the number-one fix I asked for last time
("make the touch pay off... a visible collection that turns curiosity into a
rewarded habit"). So the pointed question is: did giving the flashbacks a home
turn Act 2 from a mood option into a mechanic, or did it just add a fifth
beautifully made thing on the edge of the game?
**Verdict: 8/10, up half a point.** The team did the thing I asked, and did it
with taste. The flashbacks are collected and recallable, the endings and clean
runs are badges worth chasing, the reset is finally explained in the moment,
the type can be made legible, and the sound is on when you arrive. Every
individual complaint from the cold read has a real answer now. The reason it is
8 and not higher is that all of this is still **meta-progression wrapped around
an unchanged core**. The collection gives you reasons to *re-enter* the loop; it
does not change what the loop *is*. Level 8 is still level 2 with a heavier coin,
the second verb is still one you can ignore, and there are still three places.
The game got a memory. It did not get a deeper present tense.
## What actually improved
- **The flashbacks finally add up to something.** This was the crux of the last
review and it landed. A fragment you touch fills a dot, and you can tap it to
hear its words again; seeing them all is a badge. The best writing in the game
now has a place to live and a reason to be hunted. That is the correct fix,
executed cleanly.
- **The badges are honest and legible.** Sixteen earned by play, drawn as line
glyphs in the game's own hand, locked ones a plain padlock, descriptions that
name the feat without spoiling the detail to watch. The one full-colour
watermelon for the studio-supporter badge is a genuinely charming exception
that proves the rule. This is restrained achievement design, not a Steam
checklist.
- **The gotchas got explained.** The fold now tells you *you* did that, with an
opt-out from the second time; the false exit is common enough (raised to the
last third of a run) to actually be found; the reset is taught on first
occurrence. Three separate "the game feels broken" complaints from the cold
read are answered in-world, without softening anything.
- **The accessibility and sound gaps closed.** A settings gear does text size,
brightness, and reduce-motion, defaulting to the current look; the soundscape
starts on load. The single most-hidden pieces of craft (legible text, the
audio) are now reachable without spelunking.
## The criticisms
### 1. The collection is retention *machinery*, not retention
I asked for a reason to return, and strictly speaking there now is one: badges
to complete. But every badge is a **finite, one-time** unlock. Escape each arc,
escape all three, a clean run, eight runs, three endings, all the fragments,
it is a checklist with a bottom. There is still no *renewable* reason to come
back tomorrow: no daily seed, no streak, no ladder, nothing that makes visit six
different from visit five once the list is done. This buys a completionist a few
extra sessions and then empties exactly as the share loop did. A finite
collection is a longer bucket, not a bottom for it.
### 2. You rewarded touching the room without making touching the room matter
The flashback ledger is a real pull to touch details, but touching still has no
bearing on the go-on/turn-back call, which is the actual game. So the collection
motivates a behaviour that runs *parallel* to the mechanic rather than *into* it.
A curious player now touches everything for the codex, gets their flashback, and
then makes the same binary decision they always did. The verb got a reward; it
still did not get consequence inside the loop. (To be clear, this is a design
axiom the team has stated on purpose, touches never move the win logic, so I am
not calling it a bug. I am saying the axiom caps how much the collection can ever
deepen the *core*, as opposed to the *around*.)
### 3. Act 1 is still a single probability dial (fourth time)
I have flagged this three reviews running and it remains the truest thing I can
say about the game. The escalation from level 1 to level 8 is still one number,
`anomaly_chance`, drifting from ~0.18 to a 0.55 cap. No second simultaneous
change, no change that reverts, no legal-but-suspicious decoy, no "which detail
moved?" recall check. A collection cannot fix this because it lives outside the
loop. The deep levels are rarer, not harder-in-kind, and a game about escalating
doubt should escalate the *kind* of doubt.
### 4. Save/load is theatre in a game with nothing to protect
There is now an obfuscated save file with a keystream XOR "seeded with a phrase
the player never sees." The code comments are honest that this is not real
crypto, good, but step back and ask what it is *for*. The collection is local,
unscored, and worth nothing to anyone but the player; there is no leaderboard to
cheat, no economy to protect. So the obfuscation guards a thing that does not
need guarding, and the export/import mostly serves moving progress between your
own devices, which a plain JSON would do just as well and more debuggably.
Effort spent making the save unreadable is effort the core loop did not get.
### 5. The promo-code system is infrastructure for a game that isn't there yet
An 8-character redeem engine that can unlock languages and, "in the future,"
arcs and features (DLC). That is a storefront built before there is anything to
sell. Today it does two things (a studio badge, a language unlock), and one of
those, gating an already-translated language behind a code, actively *hides*
finished content from players for no player-facing benefit. This is the
breadth-over-depth pattern in a new costume: building the commerce layer for
content that does not exist instead of the content.
### 6. Seventeen badges over twenty minutes of distinct play
The ratio the last three reviews kept naming is now starker, not softer. There
are seventeen achievements, a fragment codex per arc, save/load, and a promo
economy, wrapped around the same three arcs and the same ~twenty minutes of
mechanically-distinct content. The meta-game is now more elaborate than the game.
A completion board implies there is a lot to complete; here the board is the
larger artifact.
### 7. The one intentional colour break is a tell
The full-colour watermelon among the monochrome glyphs is charming, and I called
it out as a positive, but it is also the studio winking at itself on the
achievement wall. In a game whose entire aesthetic argument is disciplined
restraint, the single loudest pixel on the collection screen is the *maker's own
badge*. It is a small thing, but taste is made of small things, and this one puts
the studio's logo in colour above the player's actual accomplishments in grey.
### 8. Discovery still depends on the player poking a wall
The collection rewards touching, but nothing teaches a new player that touching
is worth doing, and the cold read's "I clicked them, they did nothing, I
stopped" risk is only partly addressed: the payoff (a filled dot on a page you
have to know to open) is quieter than the thing that taught them to stop
(nothing happening in the loop). The reward exists; its *visibility at the moment
of the first few touches* still trails the discouragement.
## If you fix only five things, in order
1. **Give the loop a renewable reason to exist.** A daily fixed seed ("today's
8") or a streak is a day of work and finally puts a bottom in the bucket the
share loop and the collection both pour into. This is now the number-one gap.
2. **Escalate Act 1 in kind.** Two changes, a revert, a legal decoy, a recall
check, anything that makes level 8 a *different* task. Four reviews, one ask.
3. **Make one touch matter inside the loop, once.** Not always, that would break
the axiom, but a single arc mechanic where a touch legally informs (or costs)
the call would connect the second verb to the first. Right now they never meet.
4. **Cut the store you can't stock.** Drop the promo-gated languages (ship them),
and hold the DLC plumbing until there is DLC. Build the fourth arc instead.
5. **Widen.** A fourth and fifth place would do more than a third pass on the
meta-layer. You have an engine and a collection frame begging for more content
to hang on it. Feed them.
## Pull quote
> I asked it to reward curiosity and it built a beautiful cabinet to keep the
> rewards in. Now the game remembers everything you did and still asks you to do
> the same thing to fill the shelf. Four visits in, the frame around the loop is
> exquisite and the loop is unchanged. Stop building rooms to display the game
> and put a second verb, a second difficulty, and a fourth place *in* it.