Haunted Brew

A cosy first-person café game where you take orders, make the food and drinks, and serve Halloween regulars who swap seats whenever you look away. Made solo in two weeks for Comfy Jam Autumn 2026, my first game jam.

Role
Solo developer
Discipline
Game, 3D, Animation
Year
2026
Tools
Unity, C#, HLSL, Blender
Links
Holding a spiderweb donut while one customer sits at a table and another walks to a new seat

The challenge

The jam’s limitation was “Things Change When You Look Away”, and I had two weeks to build a game around it on my own.

I built a table-service café. A table that’s waiting for its order looks exactly like it did before you took it, so when customers swap seats behind your back, remembering who ordered what becomes the whole game. That set up the main design problem: a change the player can’t see has to feel fair, and the player can’t be able to cheat it.

Taking an order from a ghost, with the notepad in hand

Key decisions

A clear rule for “looking away”

A customer only counts as unseen when their whole seat is outside the camera’s view. Being hidden behind an object doesn’t count, because that would feel like a trick. Once unseen for a moment, they move to another seat that’s also off-screen, or swap with whoever is sitting there, and their food comes with them.

A café you can’t watch all at once

The hard part was stopping players from cheating it. If one spot can see every table, the mechanic disappears. So the drink machine, order rail, bin and door all face away from the floor, and no single place sees the whole room. The field of view is locked too, because a wider view would mean fewer swaps.

The café floor with its tables and stools

Two hands, one wobbly tower

Left and right click each control a hand. A hand holds the notepad, an order note, or a stack of food and drinks. You serve from the top of the stack, and items within one order can be in any order, so a single tower can carry several tables’ orders if you stack it in delivery order. The tower sways as you move and turn. It’s a cosmetic spring, not physics, so it looks precarious but never falls.

Carrying a stacked tower of drinks and food across the café

A kitchen you never enter

You send food orders to the kitchen through a wall panel with three lights: red for empty, yellow for queued (pulsing while it cooks), and green for ready. The chef walks a NavMesh route out of sight, cooks, and brings the food back to the pass. The kitchen holds at most three orders, so the pass can never overflow.

The drink machine on the counter, with an order note beside it

Orders that write themselves down

When you take an order, the customer’s speech bubble types it out, and each line appears on your notepad only once the bubble finishes it. Notes can be torn off onto a rail or left anywhere, and they cross themselves out when the order is served. Getting the handwriting to type in without the text jumping around took a few tries. The fix was to always lay out the full text and hide the unwritten part, so only the visibility changes, never the layout.

What I made

I designed the game and made all the art: the three customers (a pumpkin head, a ghost and a vampire) with a shared rig and animations, the animated drink machine and kitchen panel, and every piece of food, furniture and stationery. I put the scenes together, tuned them and shipped the builds.

Everything is drawn with hand-written toon shaders, a full-screen paper-outline pass, and glass that keeps its outline. The colours are my own warm pastel palette rather than the jam’s.

Iterating from playtesting

Playtesting the jam build showed me the game was harder than I meant it to be, and it made the goal clearer. The challenge should be remembering who ordered what. Anything else that makes the café hard to read just gets in the way, so the next version keeps the memory test and makes everything around it clearer.

  • Difficulty tuning comes first, so a day in the café is demanding without being overwhelming.
  • Hats and scarves, so look-alike customers can be told apart and a wrong delivery comes down to memory, not guesswork.
  • Labelled buttons, so players don’t have to guess what each control does.
  • Customers who turn their heads and blink, so the café feels alive while you work.
  • Sound, music and a proper chef model to finish the presentation.

What I learned

  • The space is part of the mechanic. Swapping seats only works if the room stops you watching every table, so the layout and the locked field of view mattered as much as the swap itself.
  • A hidden change has to follow a rule the player can trust. Counting a customer hidden behind an object as unseen would have felt like a trick, so the rule is simply whether their seat is out of view.
  • Pick one thing to be hard. The jam build was harder than I meant it to be. The memory test is the challenge I want, so everything around it needs to be easy to read.