Survive Your Workday.
A corporate survival game where sprint planning might actually kill you.
Deadly Daily is a 2.5D isometric pixel-art corporate survival game where every decision could be your last. Navigate through a dystopian office environment where the real monsters wear suits and carry clipboards.
Choose your path through branching narratives, manage your sanity and health, and uncover the dark secrets lurking beneath the fluorescent lights. With roguelike elements and multiple endings, every playthrough offers a unique descent into corporate madness.
Will you escape, comply with the system, expose the truth — or become just another statistic in the company newsletter?
Manage health, sanity, and career. One bad meeting costs everything.
Every coworker has a plan. Trust no one. Befriend strategically.
Escape, comply, expose the truth — or become a statistic.
Jira-inspired tasks. Your tickets are your lifeline.
Watch your mental health deteriorate in real-time.
Die and start over — with scars and hard-won knowledge.
Building notes from a solo dev. Honest, unfiltered, chronological.
Deadly Daily was born from a personal experience. Every day: wake up, go to work, survive, come home, repeat. No grand story — just Monday, then Tuesday, then Monday again.
I wanted to make a game that captures it exactly as I feel it: lightly cynical, self-aware, realistic. Work, exhaustion, small joys, and the quiet weight of decisions that are never actually good.
The game has no winner. The goal is simply to survive.
Full quality pass across the entire project. Signal leaks, null crashes, hard-coded paths, a double callback nobody had caught — all fixed. The game wasn't visibly broken. That was the problem.
TECH DETAILS
game_over_screen in player.gd was loaded via get_tree().root.get_node("WakingUP/...") → replaced with current_scene.get_node_or_null("CanvasLayer/GameOverScreen") with null checkdialog_bar.gd and smalltalk_bar.gd: lambda connects couldn't be disconnected → replaced with named methods _on_choice_a/b/c; disconnect-before-connect added; dead _on_AnswerA/B/C_pressed functions removed_exit_tree() added to player.gd to disconnect the died signal on scene unload; was leaking on every reloadstart_dialog() and start_smalltalk() in stranger.gd, reception.gd, reception_evening.gd: player_ref.get_node() called outside if player_ref: block → rewritten with early returnGameState.gd and SettingsManager.gd; failed file opens now log push_error() instead of crashing silentlycoffeMachine_used → coffeemachine_used; coffeemachineevening_used_used → coffeemachineevening_used; fixed in GameState.gd and Mainmenu.gdreception_evening.gd was checking "smalltalkeve_finished" on disconnect but disconnecting "smalltalk_finished" → signal never actually disconnected → double callback on every repeat interactionTurns out "it works" and "it's correct" are two different things. The game was working fine. It just wasn't right.
If you spent the whole night in the apartment, the game would skip the forced 06:30 wake entirely — the day transition just wouldn't happen. Fixed.
TECH DETAILS
WAKE_TIME constant (06:30 in seconds) to waking_up.gdforced_wake_triggered flag prevents double-trigger_process() now checks: if day_advanced_by_clock and game_time ≥ 06:30 → call _force_wake_up()WakingUp.tscn; energy unchanged — player just lost the nightNothing like finding an edge case that basically breaks the entire day cycle. Classic.
Time now means something. Arriving late costs you. Staying out past 18:00 locks you in. The daily routine finally has structure — and consequences.
TECH DETAILS
The world finally feels like it's moving even when I'm sitting still.
Menus are actually usable now. The NPC journal remembers everyone you've met — including the cat, who is always watching. Language switching works live.
TECH DETAILS
One of those days where everything happens at once and somehow it mostly works.
The game now has a Game Over screen and enough props placed to feel like a real world. Backup commits kept the project alive during a quiet stretch.
Sometimes just keeping the project alive counts as progress.
First time the apartment feels interactive: you wake up, you turn off the alarm, you make coffee. The daily loop has its first beat.
First time it actually felt like a morning routine.
Fresh start after a shelved prototype. The main menu is up. Deadly Daily 0.2 exists.
Day one of what was supposed to be a small project.
A small Czech indie studio building games fueled by caffeine, spreadsheets, and existential dread.
Powered by caffeine and poor life choices
Spreadsheets: our second language
Existential dread included free
We're a team of developers who've survived one too many corporate jobs and decided to channel our trauma into game development. Deadly Daily is our love letter to everyone who's ever felt trapped in a conference room that should've been an email.
Based in Prague, we work remotely (ironically, we're living the corporate dream we're satirizing). We believe in creating games that make you think, laugh uncomfortably, and question your career choices.
Petra Fišerová
Project Manager · Custom Software Dev · AI-First · Solo Game Dev
Petra works as a project manager in custom software development — which turns out to be excellent research for a game about surviving office life. She's AI-first by conviction, not by trend: Deadly Daily has been built with AI as an active collaborator from the first commit. One person doing the work of a studio.
// error_404: work-life_balance.not_found