- •Half visual novel, half hacking sim. Both halves actually need each other.
- •Social engineering through dialogue and phone calls
- •Real hacking gameplay: crackers, decryption, log scrubbing
- •6 different endings shaped by your choices throughout
I tried playing Uplink again recently. I remembered loving it as a kid. The fantasy of being a hacker without getting expelled like I almost did in junior high.
It felt empty.
The graphics were dated, sure. But that wasn't it. I was hacking into systems and I kept thinking: why am I doing this? There was no reason. No stakes. Just puzzles with a hacker aesthetic.
When I was twelve, sitting at my computer at 2 AM while everyone else was asleep, I had reasons. Real ones. I liked a girl. I got bullied constantly. I didn't want to pay attention in class. Those were my motivations. Stupid, specific, human motivations. And feeling like a hacker? It made me feel like I had power. Getting OH accounts on AOL so I could scroll faster than anyone without getting booted. Phreaking free phone calls. Calling somewhere pretending to be someone else to get information. Like it didn't matter if people made fun of me at school. When everyone's quiet at 2 AM, you can put your guards down and just be present.
Side note: I got caught. More than once. Elementary school. Junior high. It felt wrong in the "breaking rules" sense. But it also felt like home. Breaking rules in ways I didn't think were immoral. Finding loopholes. Being clever instead of strong.
Anyway. Uplink didn't have any of that. It was just hacking for hacking's sake.
Life is Strange is my favorite game of all time. It's the first game that really hit me emotionally. You're just a regular girl in a school setting. Nothing special about you except this power you don't understand. And you fall in love. And you have to make impossible choices. Make someone upset to make someone else happy. That's life. So cruel. So raw. Yet so beautiful.
I cried at the ending. I don't cry at games.
Emily is Away hit different. Pure nostalgia. It reminded me of being too scared to talk to girls in person, so I'd talk to them online instead. I had a girlfriend in high school where we barely spoke face to face. It was all on AIM. My first crush in 7th grade, I'd message her on AOL because I couldn't form sentences around her in the hallway.
There's something about that era. You were figuring out who you were. What your morals and values were. Taking big risks from behind a screen because you were too scared to take them in person. It was simpler in a lot of ways.
I wanted to make something that combined all of this. The hacking fantasy with actual human stakes. The emotional weight of Life is Strange with the nostalgia of Emily is Away. A game where the reason you're hacking matters more than the hacking itself.
Blue Light in Winter is half visual novel, half hacking sim. But not in a surface level way.
By day, you're a high school student. Quiet, observant, keeping to yourself. You go to class. You talk to people. You notice things. Small details that don't seem important yet. A password hint dropped casually. The way someone flinches when computers come up.
By night, you sit at your computer, the only light in a dark room. You scan networks. You crack passwords. You dig through files that were never meant for you.
What you do during the day directly feeds what you can do at night. And what you do at night has consequences during the day.
Sadie is struggling. Her grades are slipping and her scholarship depends on them. She doesn't know you can hack. She just knows you listened when no one else did.
But Sadie's always been a good student. So why now? What changed?
Every person has secrets. Every family has things they don't talk about. Sometimes those secrets stay buried. Sometimes they get leaked. And sometimes, when you're digging through systems you shouldn't be in, you find things you weren't looking for.
She's not based on anyone specific. But she's the risk I wish I'd taken. The girl you had a crush on but were too scared to actually help. Too scared to really connect with. What if you did? What if you used your skills to actually help someone? The weird, hidden skills nobody knew about.
And what if it blew up in your face?
You have the skills to help her. But every hack increases your trace level. And someone is watching the network. The story makes you figure out how to get out of the mess you created. Who to save. Who to sacrifice. Who to leave behind.
There's something else in the school's system. Something that doesn't add up. The longer you stay, the more you notice. Dig deeper or leave it alone. Your choice.
Most hacking games start at the terminal. This one starts earlier.
Passive observation. You're at Sadie's locker. She drops her papers. You help pick them up. You notice something small. It doesn't seem important. Later that night, you're staring at a password prompt. And you remember.
Active manipulation. You need access you don't have. So you pick up the phone. You pretend to be someone you're not. You hope the IT help desk doesn't ask a question you can't answer.
Here's the thing: the options you see on that phone call? They depend on what you did during the day. Paid attention in a certain conversation? You have a name to drop. Noticed something on someone's desk? You can use it. Skipped that interaction entirely? Those options don't exist for you.
This isn't "pick A, B, or C and watch a cutscene." What you did today shapes what you can do tonight. Every conversation is potential ammunition.
Either way, you got in because you were paying attention.
Once you're in, you're still hacking. Password crackers. Decryption minigames. Log scrubbing to cover your tracks. The technical side is real.
The terminal is real. You can type actual commands if that's your thing. But there's also a UI for people who are more interested in the story than memorizing syntax. Both work. Both get you where you're going.
And I mean actually synced. Open the network app and the terminal side by side. Type scan in the terminal. Watch it update in the network app in real time. Everything you can do in the UI, you can do in the terminal. They're not separate systems wearing the same skin. They're the same system.
There are also easter egg hosts. Terminal only. Not necessary for the main story, but if you're the type who wants to dig deeper, they're there. Extra context. Extra lore. Rewards for the curious.
Social engineering is the key. The terminal is where you use it.
Stand up to the bully or stay quiet. Open up to Sadie or keep your walls up. Dig into the mystery or leave the past alone.
Your choices don't just change the story. They change what options you have. Miss a conversation? You find another way in. Maybe you call IT support and pretend to be someone you're not. Maybe you find a vulnerability instead of using a password.
There's always more than one way in. But they all feel different.
And it's not just day to day. Your choices ripple from act to act. The way you handled something in Week 1 affects what's possible in Week 3. Characters remember. The system remembers.
6 different endings. 4 of them you'll discover naturally depending on how you played. 2 of them are secret. They require specific choices throughout the entire game. You won't stumble into them. You have to earn them.
All of them earned. None of them fake.
Built with React, TypeScript, Vite, and Zustand for state management.
The game runs two parallel systems: a visual novel engine for the day sections and a simulated desktop environment for the night sections. Both share the same state store, so choices in one half immediately affect the other.
Story Engine
- •JSON-based scene definitions
- •Branching dialogue with condition checks
- •Flag system for tracking player choices
- •Scene transitions with background and music changes
- •Relationship tracker that goes beyond simple up/down values
The relationship system isn't just "they like you more" or "they like you less." It tracks how and why. Help someone a lot but do it through black hat methods? They might trust you, but they're also a little scared of you. That changes what they say. What they're willing to tell you. The dialogue shifts based on the shape of your relationship, not just the size of it.
Desktop Simulation
- •Window manager with draggable, resizable windows
- •Terminal with command parsing
- •Network scanner and connection system
- •In-game browser for "hacking" school portals
- •File system simulation
State Management
Zustand handles everything. Player flags, inventory, trace level, relationship values, unlocked abilities. The visual novel and desktop both read from and write to the same store. When Sadie tells you something during the day, that flag is immediately available at night.
The core technical challenge: making two different game genres share state meaningfully.
Day scenes set flags based on dialogue choices and observations. Night sections check those flags to determine available approaches. Complete a hack? That affects what characters say the next day.
Every single scene has something a little different based on what you picked the scene before. Days later, it comes back to you. And you can't pick everything. The whole thing is a spider web. Makes for interesting testing and bug fixing at 3 AM. But I wanted every step of the way to feel like your choices matter. Because they do.
It sounds simple. Getting it to feel right took longer than expected.
Early Development
Working on a 4 day demo covering the first act. Not a vertical slice. The actual first act of the game.
I originally planned a condensed demo. Teach the mechanics, hint at the story, get out. It felt flat. It didn't make me want to come back. Didn't make me feel like I had to know what happens next.
So I scrapped it. The demo is Act 1. The real Act 1. If someone only ever plays the demo, I want it to open their eyes. Make them think about things differently. Act 1 has multiple playthroughs. Different paths lead to different allies, different enemies, different information that shapes what comes next. Even the demo has replay value.
Day 1 is locked in. The story, the scenes, the choices. All finalized. You can play through your first day at school, your first night on the computer, and your first glimpse that something in the network doesn't add up.
What works:
- •Full day/night loop
- •Visual novel engine with branching dialogue
- •Desktop environment with terminal and browser
- •Scene system with backgrounds and character sprites
- •Choice system that affects available approaches
- •Basic hacking mechanics
- •Save/load system
What's coming:
- •Days 2, 3, and 4
- •Phone call social engineering minigame
- •More hacking minigames (decryption, log scrubbing)
- •Trace system with real consequences
- •Full character art and backgrounds
- •Sound design and music
The Two Halves Need Each Other
Early versions had the day and night sections too separate. You could ignore the dialogue and still hack your way through. It felt empty. The hacking was just puzzles without stakes.
The fix: make information from day sections actually required at night. Not in a "you can't proceed without this" way. In a "this is the easy path, but there's always another way" way. Miss something? You find a workaround. But the workaround feels different. Harder. More risky.
Now the conversations matter. Every interaction is potential intel.
Choices Should Affect HOW, Not Just WHAT
Most choice-based games give you the illusion of choice. Pick A, B, or C, but they all lead to the same place. Or pick the wrong one and get a bad ending.
I wanted something different. Your choices shape HOW you solve problems, not whether you can solve them. Stand up to the bully? Sadie trusts you more. She tells you something she wouldn't tell a stranger. That information opens a door.
Stay quiet? She's more guarded. But you notice her locker number. You find another way in.
Both work. Both get you where you're going. But they feel completely different.
The Human Side Is What Matters
The hacking is real. Terminals, crackers, all of it. But without Sadie, without the reason you're doing this, it's just puzzles. The human side is what makes the technical side feel meaningful.
The exploit you run at midnight started with a conversation you had at lunch. That connection is everything.
This Might Be Too Ambitious
People I've talked to about this project have said it might be too complex. Too many branching paths. Too many variables to track. Too much scope for one person.
They're probably right.
But life is complex. I wanted it to feel like life. I might regret it at 3 AM when I'm tracking down why a flag from Day 2 is breaking a scene in Day 4. But when someone plays through and realizes their choices actually mattered? That every small decision added up to something? That's worth it to me.
This game wouldn't exist without:
Uplink and Hacknet - For the fantasy of being a hacker. The terminal aesthetic. The satisfaction of cracking into systems you shouldn't be in.
Life is Strange and Emily is Away - For showing that choices can feel meaningful. That characters can matter. That story games don't have to be passive.
Persona series - For the day/night structure. The idea that what you do during the day affects what you can do at night.
All of them shaped what I wanted this to be.
Day 1 is done. Now Day 2. Then 3 and 4.
After that: full game. More days. More characters. More ways to solve problems. More bugs to fix. The mystery goes deeper than the demo will show.
But first: make the demo good. Make it feel right. Make players want to know what happens next.
If you want to follow along, I post devlogs on itch.io about how the game is progressing and interesting challenges I'm facing.
I've been bullied my whole life. At school, made fun of, beat up, the whole thing. Online, called a noob, told to RTFM when I asked questions. I learned early that staying hidden was safer. If nobody knows what you're making, nobody can tell you it's stupid.
But staying hidden also prevented me from living.
This game is me proving something to myself. That I can make something good. That I have stories worth telling. That I'm not just a jack of all trades who doesn't fit in anywhere.
I'm probably not a "real" game developer. But that's okay. I'm weird. I have health issues. I'm definitely not like most people in this space. But I have a story to tell, and I think it's needed.
I'm scared people will play this and think it's dumb. I'm scared nobody will find it at all. I'm scared of putting something this personal out there and having it ignored or mocked.
But I'm doing it anyway.
Life is Strange changed my life. If this game changes even one person's life the way that game changed mine, it's worth every moment of fear.
This is me finally showing the world who I am. Just like this website. Just like everything I'm building now. I've spent too long hiding. Time to take the leap.
Blue Light in Winter. Day feeds night. Night changes day.
Room 337
[WIP]A text-based atmospheric narrative about memory, identity, and the places we go when we can't wake up.
Lawn Suit: Laying Down The Lawn
[WIP]An incremental HOA lawn maintenance game where you click to mow, click to water, and desperately try to avoid violations
retro-dos-terminal
[ACTIVE]A DOS-style terminal emulator for React. Because not everything needs to be Unix.