Pre-alpha · in active development

A town that remembers how you actually played.

Open Hours is a wholesome competitive shooter. Two short modes, one persistent town, and NPCs that comment on your last match — by name, by playstyle, by score.

Now shipping tier-3 bartender dialogue · server-authoritative weapons

Pre-alpha gameplay · solo dev build

  • 4v4
    Arena · 5–8 min
  • 4-player
    Deep Dive · co-op
  • 100
    Players in town
  • $0
    Pay-to-win mechanics
The thesis

Skill > Gear > Cosmetics

Skill is the ceiling. Gear amplifies skilled play; it doesn't replace it. Cosmetics are pure social signal with zero gameplay impact. A new player with starter gear can beat a veteran with maxed gear — by playing better.

01 Skill

The ceiling

Movement, aim, cooldown management. The thing you bring into every match. Can't be bought, can't be traded, can't be loot-dropped.

02 Gear

The lever

Cooldown reduction, utility tuning, mode-aware stats. Earned in matches. Amplifies skilled play — never replaces it.

03 Cosmetics

The flex

Pure social signal. Zero gameplay impact, ever. Wear the orange even if it's sad. The fit goes harder than the K/D.

Industry default Pay > Gear > Skill
Open Hours Skill is the only ceiling.
Two modes, one town

Pick your fight.

Two short-session modes that load out from the same town. No waiting between matches; no committing your evening to a single run.

Arena

4v4 · 5–8 minute matches

Pick this if you've got 10 minutes and want to feel sharp

Tight first-person combat in the Rocket Arena 3 lineage. Skill expressed through cooldowns, utility, and movement — never raw damage stats. Killcam from the killer's POV on every death.

Players
4v4
Match length
5–8 min
Vibe
Tight, fast
Killcam
Yes, every death
  • Server-authoritative damage and hit validation
  • Bots fill empty slots after 60s — match flagged casual
  • Mode-aware gear stats (no Deep Dive armour bleeding in)

Deep Dive

4-player co-op · 20–30 minute runs

Pick this if you've got 30 minutes and a friend (or three)

Wave-survival with a shared objective. Bots fill empty slots so you're never waiting on a queue. Mode-aware gear stats — armour and resistance only matter here, never bleed into Arena balance.

Players
4 co-op
Run length
20–30 min
Vibe
Tense, tactical
Waves
5 + objective
  • Five escalating waves into a shared end-of-run objective
  • Bots fill empty slots after 30s — never wait long
  • Mode-only stats: armour, damage resistance
The loop

Town. Match. Bartender. Repeat.

The whole game in five steps. The match is the verb. The town is the reason to come back. The bartender is why you remember.

  1. You

    Spawn in town

    Auth, drop into the persistent town. Up to 100 players around you. Vendors. Your last loadout.

  2. You

    Queue a mode

    Pick Arena (4v4, 5–8 min) or Deep Dive (4 co-op, 20–30 min). Bots fill empty slots — never wait.

  3. Server

    Match server spins up

    Edgegap deploys a containerised server in seconds. Server-authoritative — your client predicts, the server is the truth.

  4. You

    Play, win, lose

    Score, kills, deaths, killcam — all written back to your match history. Disconnect mid-match? A bot fills your slot until you reconnect.

  5. The moat
    Town

    Bartender knows

    Back in town, the bartender comments on what just happened — by name, by score, by playstyle. Real LLM dialogue, cost-capped per player.

Loop closes — back to step 01

Match results inform the bartender's next line. Your town remembers — every round.

The town

One persistent place.

Not a lobby. Not a menu. A real instance with a thousand-strong logical population, scaled visually so it never lags. How WoW capital cities, FFXIV city-states, and Destiny's Tower do it.

1,000 LOGICAL 100 VISIBLE 20 HD
Logical population
1,000

share economy, NPC memory, leaderboards, news feed

Visible to everyone
100

rendered in your area at any one time

Rendered in HD
20

your immediate neighbours · full fidelity

Distance-based culling + LOD. The architecture handles 100 or 10,000 with tuning — same code path.

For context
Visible-population caps in shipped games
Approx · public benchmarks
  • ~12
    Destiny 2 · Tower
  • ~50
    FFXIV · Limsa
  • ~75
    WoW · capital city
  • 100
    Open Hours · town
Loadout

Build the lever.

Four gear slots, mode-aware stats, and cosmetics that have zero effect on combat — by design.

UNIT 001 · SPACE-SOLDIER-A SCAN
Sci-Fi space soldier
Loading unit
0%
01
02
03
04

Four slots, four roles

  • 01 Helmet

    Cooldown reduction · perception

  • 02 Chest

    Cooldown · movement speed · (DD: armour)

  • 03 Legs

    Movement speed · jump height

  • 04 Boots

    Strafe acceleration · landing recovery

Mode-aware stats

Each piece carries a stat block. The match server reads only the relevant subset per mode. Arena clients never receive Deep Dive armour values — server filters before the wire.

Sample · chest_piece_legendary Legendary
  • Cooldown reduction
    Both modes
    12%
  • Movement speed
    Both modes
    8%
  • Damage resistance
    Deep Dive only
    15%
  • Armour value
    Deep Dive only
    25
Cosmetics carry zero gameplay impact.

Browse, buy with placeholder currency, equip, see it in town. Player-uploaded cosmetic mods land in Week 4 — approved + auto-distributed.

The town remembers

NPCs that actually noticed.

Three NPCs read your match history. Most lines are free — pre-written banks and templates with your stats injected. The bartender talks for real on first contact and after notable matches, with hard caps so the AI bill never sinks the game.

The moat
"Eighteen and four last round — folks were talking about that play in the back. Drink's on the house tonight, friend."
Bartender
After a notable Arena match
Tier 3 · Real LLM
"Three weeks with the same chest piece — sounds like you've found your fit. Want me to show you what'd pair nicely with it?"
Upgrade vendor
When you visit without changing loadout
Tier 2 · Templated
"That orange jacket's been waiting on you. Reckon it'd look sharp out there tonight — want to take it for a spin?"
Cosmetics vendor
When you have unworn cosmetics
Tier 2 · Templated
How it works under the hood
Tiered inference, used in cost order
Target cost per player / session < $0.10
T1 $0
Ambient barks

Pre-written line bank · random

T2 $0
Templates

Match data injected into pre-written templates

T3 ~$0.02
Real LLM

Anthropic API · cached · capped per player per hour

In-engine

Captures from the build.

Placeholder art for now — the focus this phase is the loop, not polish. Real captures land alongside the demo video.

Pre-alpha · subject to change
Arena 4v4 mid-fight Arena
Mid-fight, defender side
Central plaza of the town Town
Central plaza
Bartender NPC dialogue overlay NPC
Post-match dialogue
Deep Dive co-op wave defending Deep Dive
Wave 4, holding the line
Gear loadout UI UI
Loadout · mode-aware stats
Killcam replay Arena
Killcam · 5s ring buffer
Mission timeline · R0 → R8

Roadmap.

The build, phase by phase. Each one is a concrete deliverable, not a wishlist. Updated as the build moves.

2/9
Phases shipped
1
In progress
28%
Overall
R0 R8
  1. [R0]

    Foundation locked

    Shipped

    Stack locked, docs live, repo set up. Vendor abstraction inked so Hathora → Edgegap was a config swap, not a rewrite.

    • Stack: Unity 2023, Photon Fusion 2, Edgegap, Supabase, Anthropic
    • Three v2 design docs (brief, dev guide, technical specs)
    • Repo + .gitignore + telemetry plan inked
  2. [R1]

    Marketing site & devlogs live

    Shipped

    Public marketing site shipped on Vercel. Three devlogs published. RSS feed, OG image, email capture wired and waiting on the API key.

    • Astro + Tailwind site live at openhours-web.vercel.app
    • Devlogs: thesis, server-authoritative, tiered AI dialogue
    • Devlog RSS feed + OG image + sitemap-friendly meta
    • Subscribe API + Resend integration (key pending)
    • Interactive 3D soldier viewer in the loadout section
  3. [R2]

    Pre-alpha build

    In progress

    Arena combat is taking shape — weapons, scoreboard, killcam, bots, level generator all in. Town + NPCs + Deep Dive + telemetry pipeline still ahead.

    • Arena combat: machine gun, rocket, rail + scoreboard + killcam
    • Bot AI v1, level generator, Crucible map
    • Round flow: respawn, regen, multikill, killfeed, hit feedback
    • Town scene + 3 NPC stations (bartender, upgrade, cosmetics)
    • Tier-3 bartender dialogue (Anthropic, server-side, capped)
    • Deep Dive 4-player co-op mode + 5-wave run
    • Telemetry pipeline (server events → Supabase → PostHog)
    • Disconnect / reconnect with bot fill
  4. [R3]

    Stabilise

    Queued

    Telemetry from R2 starts driving real decisions. Bug pass on the foundation. First closed playtest puts the loop in front of real humans.

    • Bug pass on Week 1 build (issues surfaced by playtest)
    • Telemetry-driven balance: weapons, gear stats, wave difficulty
    • Tighten bartender response caching (60s prompt-hash window)
    • Add 2–3 placeholder cosmetic tiers
    • First closed playtest: 4–8 friends, real telemetry collection
    • Internal weekly builds with changelog → list subscribers
  5. [R4]

    Closed alpha

    Queued

    Real matchmaking lands. Second tile + second map. The two non-bartender NPCs graduate from templates to real LLM dialogue.

    • Real matchmaking: Elo or Glicko with skill bands
    • Latency-bucketed regional queues (multiple Edgegap regions)
    • Second Arena tile (different geometry + spawn philosophy)
    • Second Deep Dive map (different objective shape)
    • Upgrade vendor → Tier 3 real-inference dialogue
    • Cosmetics vendor → Tier 3 real-inference dialogue
    • Closed-alpha sign-up form on the marketing site
  6. [R5]

    Modding + ranked

    Queued

    Players start contributing cosmetics. Ranked queue opens for humans-only Arena. Bots stop feeling like target practice.

    • Cosmetics modding pipeline: player upload → moderator approval → auto-distribute
    • Modding portal on the marketing site (upload + approval status)
    • Ranked Arena queue (humans only — longer queues acceptable)
    • Bot AI v2: navmesh pathing, cover usage, three difficulty tiers
    • 16-player matchmaking stress test
    • Build-in-public community spaces: decision + launch
  7. [R6]

    Public alpha

    Queued

    Sign-ups open to anyone. The cost ceiling holds under real load. The community starts shaping what comes next.

    • Open sign-ups (no invite code)
    • ~50 concurrent sustained over a weekend
    • Inference cost per session locked under $0.10
    • Cost monitoring dashboard hits production
    • Devlog cadence increases to weekly
    • First wave of community feedback shapes R7+ scope
  8. [R7]

    Steam page

    Queued

    Steam wishlist live. Modding cosmetics ship on a weekly cadence. The Photon vs. custom-netcode call gets made for real.

    • Steam store page live with wishlist enabled
    • Trailer + first-pass screenshots on Steam
    • Press kit page live on the marketing site
    • Modding cosmetics weekly cadence proven sustainable
    • Decision: stay on Photon Fusion 2 vs. invest in custom netcode
    • 200+ peak concurrent achieved at least once
  9. [R8]

    Full launch

    Queued

    Arena ranked seasons live. 200+ concurrent on demand, not just peaks. Bot AI is something you can lose to and respect.

    • Arena ranked seasons on a 3-month cycle
    • 200+ concurrent achievable reliably, not just at launch
    • Bot AI v3 that holds its own against mid-rank humans
    • Founders pack / supporter tier (cosmetics-only revenue)
    • Anti-cheat product integration (Easy Anti-Cheat or BattlEye)
    • Multi-region match hosting standard
J
From the dev
Solo dev, in public

I've been making software for a long time. I'm building Open Hours because I wanted a competitive shooter where the room around the match is as alive as the match itself — where the bartender remembers your last 18-and-4 and the orange jacket you only wore once.

The pillars are non-negotiable. Skill is the ceiling. Gear is the lever. Cosmetics are the flex. No pay-to-win. No toxicity vectors. No grinding for stat advantages you didn't earn with your hands.

It's solo-built, in pre-alpha, and I'm shipping the foundation in public — telemetry from day one, server-authoritative architecture from day one, AI-powered NPCs from day one. If any of that lands for you, get on the list. The next thing real lands soon.

Started
May 2026
Team size
1 (me)
Built in
Public
Be there first

Get on the list.

One email when something real ships — gameplay video, closed alpha invites, Steam page going live. No drip campaigns, no marketing fluff, no roadmap recycling.

We'll never share your email. Unsub in one click.

  • First gameplay video
  • Closed-alpha invites
  • Steam page launch ping
If you want to help directly

Funding the build

Solo dev. Server costs, art licences, AI credits add up. None of these are live yet — drop your email above and you'll know when they go up.

Patreon
Monthly support · devlogs + early build access
Coming soon
Kickstarter
One-time crowdfund around the Steam reveal
Coming soon
Buy me a coffee
Tip jar · no tiers, no commitment
Coming soon