Romana
A 2D puzzle game for Android, in development.
- Role
- Game design, art direction
- Platform
- Android, built in Godot
- Language
- Egyptian Arabic
- Status
- In progress
A boy crosses the back lightwell of an old Cairo building during a power cut, on goods lifts that move by weight alone. I built the whole game on one rule about weight, and designed everything around it to make that rule easy to read and hard to see through.

Designing the fun
A good puzzle is simple to read and hard to see through. The fun is the moment of insight, when a situation that looked impossible suddenly makes sense. So each level exists to give exactly one of those moments, and nothing is there as filler.
The rule is small. Cabins hang in pairs from a scale; the heavier side sinks; the boy can step across only when two floors are level; and he weighs as much as one sandbag, so where he stands is part of the puzzle. A scale has three positions, not a range. That keeps floors at exact heights, so “level” can be read off the screen, and it creates the game's signature trap: a throw can change every number in view and move nothing.
I designed levels backwards from the trick. A solver explores every state of a level and records how long the shortest solution is and how many there are; I keep a level only when its solution is unique and turns on one idea I can name, and when the obvious plan almost works. Before any art existed, I compared three versions of the throw this way and chose the one that produced deep levels rather than trivial ones.



Readable before beautiful
The picture has to carry the puzzle, so the art follows a strict hierarchy: which floors are level comes first, then where the boy is, then what each cabin holds, then which way each beam tips. The building stays low in contrast and never competes. Every choice is checked at phone size: if you cannot tell at a glance which floors are level, it fails, however good it looks.
Every hidden rule gets a signifier of its own: a total on every rope, a mark for sinking or rising beside it, lit rungs where two floors meet. When a throw moves nothing, the boy says why. The player should never have to guess what the system is doing.
The player chooses and the boy acts. Nothing is dragged by the finger: a tap hands him the sandbag, he hangs his lantern on the cabin's hook and lifts it, and brass hands point to where it can go. Agency stays with the player, while the action stays in the character, which keeps the world believable.




A reason for every puzzle
Reaching a cabin is not a goal, so every level is a rescue that ends at a door. The boy starts on a balcony fixed to the wall; a neighbour takes his hand and walks with him, and has weight of their own, the grandmother two and her cat one. The story is not decoration on top of the mechanic, it changes the mechanic: who you rescue changes the puzzle.
Nobody speaks to the player. There is no narrator and no instruction line under the levels; people in the scene talk in balloons, the boy mutters when something doesn't work, and the rules are taught by the order of the levels, each showing one law in the smallest level that can show it.





Art direction
Hand-drawn side views, dark but warm, with Egyptian life taken from the street rather than from postcards: a worn downtown building, kerosene lamps, laundry lines, a clay water jar on a sill. The mood is eerie and warm at once, and the details are things a Cairene would recognise.
Everything the player looks at comes from one hand. The weight numbers are drawn glyphs on drawn tags, the icons are brass and enamel like the lifts, and the mechanism is a kit of parts the engine assembles, so beams and ropes always behave like the rule says.






A machine that could exist
I designed the lifts as a mechanism that could really be built, with nothing arranged for the puzzle's convenience. Old Cairo buildings have a back lightwell where goods were hauled up to the kitchens, so the cabins are goods lifts sized for sacks and a child.
Between floors, one rope runs over a wheel at the roof: to go up, the boy has to make the other cabin heavier, so whoever comes down carries him up. Alone, his own weight moved the cabin the moment he stepped in, which left nothing to plan. A hand brake, which such lifts have, holds the cabins while he loads them and turns the big lift into a puzzle of its own.


