A downloadable game

A "Dave the Diver" like game which is a hybrid 2D tattoo shop management sim and 3D first-person extraction shooter, built in Godot 4.4. Tattoo the corrupt clergy of Vatican City by day, harvest demon blood in Hell by night, and grow your reputation until the Pope himself sits in your tattoo chair.

You are Leonardo DaVinci and you have been ressurected from hell to run a tattoo parlour in the Vatican City, with the objective to provide tattoo's to the clergy using "Holy Ink" which is secretly demon blood.

The day loop is a 2D side-scrolling shop sim: pick your flash designs, unlock the front door, and work through a queue of altar boys, priests and cardinals. The night loop drops you into a PS1-era 3D FPS to restock the one ingredient you can't buy; demon blood. Dark comedy, played completely deadpan within its own absurd logic.


Core Systems

Shop Loop & Flash Book

  • Unlimited prep, timed service: Pre-opening has no clock — assign flashes, buy upgrades, review commissions. The day only starts when you walk to the front door and unlock it.
  • Flash book as loadout: Designs are Resource files with tier, ink cost, needle requirement, payout range, QTE composition and a limited number of uses before they expire. Only flashes assigned to the active book can be requested by customers, so the pre-opening choice is the real strategic decision of the day.
  • Customer pipeline: A spawner feeds customers based on reputation tier; they enter, take one of the waiting seats, wait with finite patience, get called to the chair, and leave. Higher-ranked clergy pay far more but eat more of the clock — serving one cardinal or four altar boys is a genuine tradeoff.
  • Reputation gating: XP earned per tattoo scales with quality. Crossing a tier threshold unlocks new customer types, new contacts and the next story beat.

Tattoo Mini-Games

Each tattoo is a sequence of 2–4 QTE segments determined by the flash's composition — linework, shading, colour fill, and piercing — each with its own mechanic and difficulty scaling. A quality score is calculated across all segments.

The reward design deliberately splits two things apart: base payout is fixed by flash tier and does not scale with performance, while tips scale with QTE quality. You always get paid for the work; you get rewarded for doing it well. A botched result pays nothing and still consumes the flash use — you can't sandbag a tattoo to save a charge.

Hell — Lane & Arena Wave System

The night phase swaps the 2D shop for a 3D arena running PSX post-processing shaders over real in-engine geometry.

  • Weapon-gated lanes: Each descent begins in one of several corridors, selected at runtime from a pool. Weapon lanes only become eligible once you own the corresponding weapon; random lanes are always available. Each lane's choreography is tuned to the weapon that unlocks it — the shotgun lane rushes imps into close range, the SMG lane is a swarm, the launcher lane is fewer, heavier targets.
  • Data-authored waves: Waves are WaveData resources containing spawn groups, each with a count, a spawn tag, and a trigger condition — fire immediately, after a delay, after a named group, or once living enemies drop below a threshold. Encounters are choreographed in the Inspector rather than hard-coded.
  • Tag-based spawning: Spawn markers are tagged in-scene (front, back, flank_left) and indexed at load. A group requests a tag and gets random eligible markers, so the same wave data plays differently each run.
  • Clear-gated progression: The controller emits when every group has spawned and every enemy is dead. Doors listen for it and open, the extraction point listens for it and activates — no central script coordinating them.

2D ↔ 3D Scene Transition

The most technically awkward moment in the game. The shop scene is removed from the tree but deliberately kept in memory rather than freed, while Hell is loaded on a background thread during the loadout phase. On return, Hell is freed outright and rebuilt fresh next descent, and the shop is re-added instantly. Returning the player to the right spawn point required a deferred teleport — the camera's ready pass runs after the player's and unconditionally snaps, clobbering any synchronous positioning.

Quest & Narrative Infrastructure

  • QuestManager handles the quest lifecycle from Resource-defined quests with objective children, auto-completing when all required objectives are met and firing reward grants.
  • QuestSignalRouter bridges gameplay to quests — it listens for things like tattoo_completed and fans progress out to any active quest containing a matching objective, so gameplay systems never need to know a quest exists.
  • NarrativeDirector plays named story beats through Nathan Hoad's Dialogue Manager, gated by seen-flags so beats are one-shot. Sequences are written as async functions that read top-to-bottom like a film script.
  • Tutorial as a quest chain: The onboarding is four chained quests covering the first three in-game days and the first return to Hell. HUD elements are revealed progressively — each element only appears when its mechanic is taught — and stairs, bed and portal are gated so the player can only ever progress one way.
Updated 13 days ago
Published 14 days ago
StatusPrototype
AuthorLewis Stephens
GenreAction
AI DisclosureAI Assisted, Code

Development log

Leave a comment

Log in with itch.io to leave a comment.