Fredrik Johansson 3a741a7bfc
All checks were successful
Docker / build-and-push (push) Successful in 1m16s
Fix log entries appearing to lag one action behind
Real bug, two parts:

1. renderLog appended the newest entry LAST in the DOM (so it could
   get its own element for the typewriter effect), but log.scrollTop
   = 0 scrolls to the TOP, where the older entries now sat. The
   newest line rendered below the fold, invisible until enough later
   entries pushed it into view — exactly "nothing appears until the
   next event." Fixed by putting the newest entry first.

2. Separately, the typewriter itself was applying to every log kind,
   including the player's own actions (upgrades, visits). Those took
   1-2s to fully print, so even after fixing the ordering, taking a
   second action while the first was still typing would silently
   snap the first to full text right as the second started — still
   reads as a one-action lag. Now only narrative kinds (event, kaos)
   animate; upgrades and visits confirm instantly. Also sped up the
   animation itself (4-8ms/char, was 8-18ms) so even narrative beats
   don't drag.

Also fixed Malmö universitet's map marker — it was placed near
Hyllie, nowhere near the actual campus at Universitetsholmen by the
harbor.

Verified via headless browser: a kaos event and a free location
visit both now appear at the top of the log immediately, not after
a subsequent action.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-01 22:14:06 +02:00
2026-07-07 23:06:00 +02:00
2026-07-19 19:49:28 +02:00
2026-07-07 23:06:00 +02:00
2026-07-07 23:06:00 +02:00

Djupet

Lovecraftian idle cult management game set in Malmö, Sweden.

You run a small cult in a basement in Rosengård. The goal is to complete the ritual before the investigators close in. The Turning Torso is involved. The ducks at Ribersborg know more than they let on.

Inspired by Anders Fager, Kult, and Call of Cthulhu.

Play: djupet.games.goonk.se

Stack

Vanilla TypeScript + Vite. No framework. Leaflet for the map.

Dev

npm install
npm run dev       # localhost:5681
npm run typecheck
npm run build

Mechanics

  • Andakt — passive income, spend on upgrades
  • Dread — builds as the ritual deepens, unlocks areas and events
  • Hemlighet — your exposure level; reaches zero and you lose
  • Kaos — triggers chaotic events at 100, resets, repeat
  • Ritual — reach 100 to win; unlocked via the Manuscript

Click locations on the Malmö map to visit them. There is a cooldown.

Docker

docker compose up -d

Serves on port 5684 by default. Override via HOST_PORT in .env.

Description
En kult-simulator i Malmö. Because varför inte. Änderna vid Ribban stirrar mot Turning Torso av en anledning.
Readme 38 MiB
Languages
TypeScript 89.7%
CSS 9.8%
HTML 0.3%
Dockerfile 0.2%