灯台の見守り — Lighthouse's Vigil by Tanjou
Made for Ludum Dare 59. Theme: "Signal".

You're a lighthouse keeper. Your beam guides lost souls to shore. Something dark creeps toward you when the beam isn't looking. You are the signal for these poor souls' hopes and dreams.

Move the spotlight across the dark water with WASD, mouse, or stick. The outer glow reveals souls and pushes miasmas back; the inner core guides souls home and burns miasmas away. You can only do one at a time.

7 nights of story ending with the Abaddon boss, then Endless mode unlocks. You're not fully alone out there. Jellyfish can heal you, blue-fish scout the monsters, and a cute mermaid sings. Moon phases drive difficulty, fog shrinks visibility, rain whips the sea.

And cutting through it all: the keeper's radio. 75 recorded voice lines, reacting to every soul you save, every miasma you burn, every shift in the sea.
Built in Godot 4.6.2.
Credits
- Game Design and Programming by Tanjou (Twitter: @tanjounokamioku)
- Art, Audio and Music by Sasori (Twitter: @sasasori1)
- Voice Acting by Pangami (Twitter: @pangami)
Play the desktop build if you can
Grab Windows, macOS, or Linux from the downloads on itch. That's the recommended way to play. The audio mix lands cleaner (no browser WebAudio quirks), your progress persists across sessions, and you sidestep the rare "WebGL context lost" crash some machines hit inside the iframe build. The web version is here for convenience and for folks who can't download, and it works, but the desktop build is noticeably nicer.
Install notes
Windows: if SmartScreen pops up on launch ("Windows protected your PC"), click More info → Run anyway. The build is unsigned; jam budget doesn't cover code-signing certificates.
macOS: first launch needs right-click → Open (or Ctrl-click → Open). Gatekeeper will refuse a plain double-click because the binary is unsigned. Same reason as Windows, it's an unsigned jam build.
Linux: the unzipped binary may need the executable bit set: chmod +x lighthouse_vigil.x86_64. Some archive tools strip the permission during extraction.
Notes on the web build
Godot 4.6.2's WebGL path is still rough around the edges. Audio processing, heavy particle bursts, and shader-masked lighting can all push a browser past what it wants to do in an iframe. On some machines/browsers the game will stutter, drop frames, lose its audio context, or crash outright ("WebGL context lost").
If you're hitting any of that, here's the order I'd try before giving up on the web build:
- Turn on hardware acceleration in your browser. Most "context lost" crashes come from the browser falling back to software rendering. In Chrome: Settings → System → make sure "Use graphics acceleration when available" is on, then restart the browser. Firefox and Safari have similar toggles under their performance/advanced settings.
- Force GPU rendering in Chrome. Open
chrome://flags, find "Override software rendering list", set it to Enabled, and restart. This pushes Chrome to use the GPU even if it thinks your driver is sketchy, which it often does incorrectly on older machines. - Close other GPU-heavy tabs. Video calls, streaming sites, and other WebGL games compete for the same context pool.
- Try a different browser. Chrome has been the most reliable in my testing; Firefox is usually fine; Safari is the most finicky with audio.
- If all of that still stutters, please grab the desktop build. It's attached here and to the itch page for Windows, macOS, and Linux, and it's the one I actually recommend if you want a smooth run. No WebGL, no audio-context drama, full persistence across sessions.
| Itch (web and desktop) | https://tanjou.itch.io/lighthouse-vigil |
| Original URL | https://ldjam.com/events/ludum-dare/59/lighthouses-vigil |
Ratings
| Overall | 93th | 4.052⭐ | 79🧑⚖️ |
| Fun | 202th | 3.72⭐ | 77🧑⚖️ |
| Innovation | 164th | 3.813⭐ | 77🧑⚖️ |
| Theme | 286th | 3.98⭐ | 78🧑⚖️ |
| Graphics | 156th | 4.263⭐ | 78🧑⚖️ |
| Audio | 82th | 4.115⭐ | 76🧑⚖️ |
| Humor | 319th | 3.074⭐ | 70🧑⚖️ |
| Mood | 67th | 4.27⭐ | 78🧑⚖️ |
| Given | 110🗳️ | 120🗨️ |
- easy to play - instructions are dead simple
- great narratives
- really nice art
- good difficulty
Also maybe 7 level is bit much for a jam entry as it's a bit repetitive, the mechanics added across the levels are nice, but imho 4 or 5 levels would have make it more enjoyable to play again.
Congrats!
A tip for the boss: try to defeat it fast! The mechanic should be similar to other enemies! :eye:
Definitely started to have trouble after night 6, but I think it's more of a skill issue on my part~
From the fifth night on, it felt a bit too difficult for me. I think some of the gameplay details could use a bit more polish. Overall, it is a good game. Keep it up!
So let me add just one thing: When I spot a mermaid, I'm in! And I'm really glad that I followed this siren's song 🧜♀️
Great entry! Visuals and Audio work sooooo well! The atmosphere is the perfect blend of cozy and creepy :)
There is also a lot of useful description under the game - that's a plus for the game.
If this is your first game, it is very good.
Answering a few points from above:
@gtgg There is actually a pause button with menu functions if you press ESC! Did you try that?
@dmitriyci I actually work in the games industry for a few years, but I still haven't released a full indie game by myself (this is the first, yes). I do have two other games being worked on for the longer term, hopefully I can finish them in this lifetime :innocent:
Was a great break time game. Really clicked once I figured out how to handle the shadows/dark.
Will definitely be playing again!
Regarding stage selection, the difficulty is based off of the phases of the moon, food and rain, so adding a stage selection would have been hard at the time.
I appreciate the feedback in anyways!!! We might have a post Ludum Dare update!
The voice lines were recorded by my wife (@ Pangami on Twitter), she's grateful for the comments :3
૮(⁔ ܸ > ⩊ < ܸ ⁔)ა
The music is calm and very suitable for the game's style, and the graphics are simple and clear.
I just didn't think it was fair when the circles blocking the light appear in front of the lighthouse. There's nothing you can do because the light doesn't go anywhere. Does it appear in random places?
Congratulations to the team.
