StoryChoose
Rainy Rooftops
🌧️ Rainy RooftopsGentle adventure

The Code in the Red

3 chapters for 2 characters · about 10 minutes · told 0 times. The highlighted parts are filled in with your own characters when you make this story yours.

Chapter 1: Red, Yellow, H-E-L-P

⟨Character 1⟩ steps off the last bus, one bag in hand, and discovers the traffic light across the wet street blinking long red, short yellow, long red, long red.

⟨Character 2⟩: You see it too, yeah? Been doing that since the lightning. I’ve watched it from this bench while I fix the slats. Three nights now.

⟨Character 1⟩: That’s not a fault. That’s a pattern. I’m a programmer, and when a machine talks in exact repetition, it isn’t broken. It’s saying something.

⟨Character 2⟩: A programmer? You here to sort out the city grid? I’m ⟨Character 2⟩. I fix benches so people don’t get splinters. That light’s been skittering, but I never counted the timing.

⟨Character 1⟩: Long, short, long, long. Count the red as one, the yellow as zero. Long means one, short means zero. That gives you H.

At the intersection, ⟨Character 1⟩ writes on the back of a bus ticket while ⟨Character 2⟩ holds a torch on the paper.

⟨Character 2⟩: You write, I’ll hold the light. If it spells something real, that’s not an accident. Someone left it for us.

⟨Character 1⟩: Binary. Long red is one, short yellow is zero. Wait for the full cycle. H. E. L. P. Help. Then it pauses. D. A. M. Dam.

⟨Character 2⟩: Dam. There’s a dam upriver. If these lights are asking for help, someone hid a message in the traffic system and couldn’t reach the control room.

⟨Character 1⟩: A message? Who would hide a message in the city’s traffic lights? Show me the traffic control cabinet.

⟨Character 2⟩: Grey box by the post office. My truck’s closer. I keep a tool bag behind the seat.

⟨Character 1⟩: Then walk. If a machine is telling us something, I need to hear all of it.

The truck smells of sawdust and rain. ⟨Character 2⟩ drives toward the river, the radio hissing dead air.

⟨Character 2⟩: City upgraded the traffic system two years ago, but never fixed the grid properly. Storm finds every weak joint. That’s why I’m out with a bench.

⟨Character 1⟩: You know the city. I’m just passing through. I left my last job after a bad failure, a blackout I caused. I’ve been on buses ever since.

⟨Character 2⟩: Pass me the lantern from behind the seat.

⟨Character 1⟩: Lantern? You mean a flashlight?

⟨Character 2⟩: No, a lamp you carry by a handle. Like on ships. Not a stoplight. It’s brass, with a candle inside. Light it when the dashboard dies.

⟨Character 1⟩: This old thing? It’s beautiful. It smells like old brass and candle wax.

⟨Character 2⟩: Keep it steady. The gate is just past the next bend.

⟨Character 1⟩: It’s lit. The dashboard is still flickering, but this feels like a night watch.

⟨Character 2⟩: Gate ahead. Chain and padlock. Park here and we walk.

Chapter 2: The Spillway

⟨Character 2⟩ cuts the padlock with bolt cutters from his truck. The water roars beyond the gate, and the floodlight above it buzzes before going dark.

⟨Character 1⟩: We’re breaking into city property, and I’ve never picked a lock or cut a chain in my life. If a guard sees us, we won’t get to explain the hidden message, and are you sure the lights weren’t just a glitch? I can’t afford an arrest.

⟨Character 2⟩: Then you can testify I did it with good hands. The message was no glitch, just help, dam, two words in binary. A glitch wouldn’t spell that, so keep your phone filming if it helps. Now push through before the light comes back on.

The control room is cold and lit only by the lantern. ⟨Character 1⟩ reads the main console.

⟨Character 1⟩: The alarm for turbine three is disabled, and the pressure gauge is ticking upward. There’s a log entry in the code: ‘If you are reading this, the override was cut on purpose. Open the spillway manually or the town floods.’ That message is what the traffic lights were sending. We have to open the spillway.

⟨Character 2⟩: The manual crank is here, but it’s rusted shut. I’ve got engine oil in my bag, so give me a minute to work it free. The rust is breaking up. There, try the bypass on the console while I keep pressure on the crank.

⟨Character 1⟩: Entering the bypass command now, so stand back from the crank. The floor is shaking, which means the spillway is starting to open. I can feel it through the floor. We did it, ⟨Character 2⟩, but downstream something will flood.

Downstream, water thunders into the spillway and a field turns silver. On the bridge, a cyclist with a broken light wobbles.

⟨Character 2⟩: That’s Marta’s farm, and the water will take her lower field. If we don’t open the spillway, the whole town goes under, not just one field, and the level on the monitor is dropping. Hold on, that cyclist needs help, so keep it, a small kindness is never wasted. It’s a lantern, a lamp you carry by a handle, so ride safe.

⟨Character 1⟩: We saved the town but flooded her field. I need to find a way to pay for the damage. You gave away your lantern like it was nothing, and that cyclist will remember a stranger’s kindness on a dark night. Maybe that’s enough for now, we’ll face it together.

Chapter 3: The Green at Dawn

Emergency sirens rise from the town. A police officer and two dam workers arrive, their torches cutting through the dark, and ⟨Character 1⟩ discovers the weight of the hidden message when she sees the officer’s tired face.

⟨Character 1⟩: We discovered a message hidden in the city’s traffic lights, just help and dam in binary. The lights were talking, so we followed them here and found the alarm disabled and the pressure rising. I’m ⟨Character 1⟩, and this is ⟨Character 2⟩. He cut the chain, but I entered the bypass.

⟨Character 2⟩: That’s right, officer. The city upgraded the system two years ago and a contractor cut the alarm last week. The programmer who hid the warning died in a car crash two days ago, so he had no one to tell. That message in the lights was his last act.

dam worker: We checked the console. The spillway is open and the town pressure is dropping, but Marta’s lower field is flooded. No charges will be filed because you two saved us.

⟨Character 1⟩: Then this was his last act, and we were just lucky enough to discover it before the dam failed. I’m sorry about the programmer. He must have been watching the lights from somewhere.

⟨Character 2⟩: No charges, but Marta’s field is ruined for the season, and that’s a hard thing for a neighbour. I’ll fix her fence once the water goes down, and ⟨Character 1⟩ here offered to help pay for the damage.

⟨Character 1⟩: You don’t even know me, not really. I could have been anyone from that bus, and yet you gave away your lantern to a stranger on a bridge. I’m a programmer who caused a blackout in my last town. I’ve been running from that ever since.

⟨Character 2⟩: I know you saw a light and didn’t look away, and that’s enough. Small kindnesses, like the lantern to that cyclist. You came back when you could have kept walking, so now you’re not a stranger.

They walk back to the intersection where it began. The traffic light cycles red, yellow, green, in a steady beat, and ⟨Character 2⟩’s truck is parked under a street lamp, the empty hook where the lantern hung catching the dawn.

⟨Character 1⟩: Normal. Almost boring. I could stay, you know. Help rebuild the monitoring system, if you can use a programmer with one bag and a habit of chasing signals.

⟨Character 2⟩: I like boring. I’ve got a workshop and no one to talk code to, so bring your bag and your binary. The light just turned green, which around here means go.

The story is finished, and everyone is safe and warm. Goodnight, ⟨Character 1⟩. Goodnight, ⟨Character 2⟩. Goodnight, dam worker.

A question for tonight
What small signal in your own life might be asking you not to look away?

More shared stories · Write a new one