🌸 Tue, Jun 30, 2026 🌸

WIP Cutscene 5

  • Move the player to the viewpoint.
  • Temporarily disable Guardian so he would not bark during the cutscene testing.
  • Implement startCutscene/stopCutscene in the Player class.
  • Start implementing the Msgs class for the messaging UI.

🌸 Tue, Jun 30, 2026 🌸

Refactor text rendering subsystem

  • Fully remove Render dependency from text rendering.
  • Make Label own TextBuf and draw text in uiPass via Render::UiIn.
  • Add Label::setText(), setColor(), and setSz().
  • Update checkbox, fps-label, menu-item, stats-ui, tab, and related UI code to use the new Label API.
  • Fully remove FontManager class.
  • Delete font-type.hpp.
  • Convert Atlas to a singleton.
  • Rename cube-atlas.{hpp,cpp} to atlas.{hpp,cpp}.
  • Add Atlas::init() and Atlas::shutdown(), called from BgfxInit.
  • Font loads TTF data directly and caches SizedFont per pixel size.
  • Extract TrueTypeFont from the old font-manager code.
  • Add sized-font.{hpp,cpp} for sized font instances and glyph lookup.
  • Remove text-metrics and move dimension logic into Font::getDimensions.

🌸 Sun, Jun 28, 2026 🌸

Roran Flickering VFX

  • Finalize Roran’s mesh, texturing, and rigging.
  • Implement skin glow flickering VFX.
  • Implement Roran’s idle animation.
  • Implement Roran’s walk animation.
  • Hack SkMesh to override Roran’s mesh material loading.
  • Add scene.hpp include in node-types-registry.hpp so user of NodeTypesRegistry would not need to include scene.hpp.
  • Clean Jolt build artifacts with the clean-all Makefile target.

🌸 Sat, Jun 27, 2026 🌸

WIP Roran


🌸 Thu, Jun 25, 2026 🌸

Some WIP


🌸 Tue, Jun 23, 2026 🌸

Stats UI

  • Implement showing all player stats except armor.
  • Move close button from Inventory UI to player.

🌸 Sun, Jun 21, 2026 🌸

Vibecoding is truly gambling. Waste of time. Never again.


🌸 Sat, Jun 20, 2026 🌸

Implement player stats HUD and mechanics

  • Replace stats icon with new StatsHud UI component.
  • Bind HP, mana, hunger, thirst, and energy percentage callbacks to StatsHud.
  • Return 0.0 for mana percentage if the player uses a weapon requiring more mana than available.
  • Halve character movement velocity when hunger or thirst is depleted.
  • Make walk footstep SFX less often when hunger or thirst is depleted.
  • Regenerate player HP slowly over time.
  • Implement StatsHud class rendering five radial stat indicator arcs.
  • Define stats-hud-ui.frag fragment shader to color code status indicators and handle blinking at zero values.
  • Register stats-hud-ui.frag shader in assets.
  • Update TODO list for survival stats framework, mechanics, and UI.

🌸 Fri, Jun 19, 2026 🌸

Wire up mana stat

  • Implement subtracting mana on weapon usage.
  • Implement mana recovery over time.
  • Add SFX when mana is low.
  • Add a visual indicator with a crossed drop symbol when mana is low.

🌸 Fri, Jun 19, 2026 🌸

Highlight hovered interactable object


🌸 Fri, Jun 19, 2026 🌸

Add activation SFX to the crystals

  • Add activation SFX to the crystals.
  • Add quotes around the assets path in the log message.
  • Update OST 4 at the end by dropping the chorus melody one octave down to give the sense that the track is ending.

🌸 Fri, Jun 19, 2026 🌸

Finalize pedestal and lock in Crystal Sanctuary

  • Texture pedestal.
  • Texture lock.
  • Update lock button icons.
  • Make target assets opaque and drive transparency from the code.
  • Fix the bug where selecting the opening combination twice was triggering the open door SFX even when the door is already opened.

🌸 Wed, Jun 17, 2026 🌸

Add lock SFX, update door opening SFX


🌸 Wed, Jun 17, 2026 🌸

It is 10:20PM; clearly, I do not have any time to build UE5.8. Doing it anyways.


🌸 Wed, Jun 17, 2026 🌸

Lumen-light might be an Unreal Engine savior.


🌸 Tue, Jun 16, 2026 🌸

Implement Crystal Sanctuary combination lock

  • Add CrystalSanctuaryLock and CrystalSanctuaryLockBtn classes for the combination lock puzzle.
  • Check for combination 3 and 7 on the lock rings to trigger opening the door.
  • Update player shelter logic to only grant shelter if the sanctuary door is open.
  • Remove automatic door opening from the guardian’s death trigger.
  • Replace static lock meshes in gameplay.json with the new CrystalSanctuaryLock node.
  • Register CrystalSanctuaryLock node type in assets.cpp.
  • Add btn-ico.xcf texture asset for the interaction button.
  • Expose isOpen member in CrystalSanctuaryBaseDoor to check door status.

🌸 Mon, Jun 15, 2026 🌸

WIP: Crystal Sanctuary Lock


🌸 Mon, Jun 15, 2026 🌸

Today I woke up to the SpongeBob song. Then I slowly came to reality — there were small birds twittering, and then crows: “Caw, caw, caw, caw,” which my sleeping brain interpreted as “SPONGEBOB SCAREPANTS!”


🌸 Mon, Jun 15, 2026 🌸

Crystal Sanctuary Puzzle

  • Create three more door types: red, blue, and purple.
  • Refactor doors with a base door to avoid code duplication.
  • Move music from guardian death into unlocking 3 crystals.
  • Implement cast to interactable to walk node hierarchy instead of a singular cast.
  • Unlocking crystals opens the respective doors.
  • Guard door position update with isEditorMode.
  • Fix typo: s/desiered/desired/.
  • Move hierarchical nodes invalidate from PhysicsBody to node.
  • Add assert to the dynamic cast in the Ticker.

🌸 Sat, Jun 13, 2026 🌸

WIP Crystal Sanctuary Puzzle

  • Add temporary meshes in the Crystal Sanctuary to get an idea if the room is readable from the player’s perspective.
  • Implement music playback.
  • Trigger OST 4 “Crystal Sanctuary” on the final boss death (that is temporary).

🌸 Sat, Jun 13, 2026 🌸

OST-4 Crystal Sanctuary, Spider receives damage SFX


🌸 Fri, Jun 12, 2026 🌸

SFX as a scene node, registry-based lookup

  • Remove PlaySfx3d and PlaySfxUi, use makeOwnedChild instead.
  • Remove Player from Scene, use registry-based lookup instead.
  • Bump C++ standard to 26.
  • Script to calculate game completion percentage.
  • Helper function reg to register a node in the registry.
  • Move shadowCasters from Scene into Render.

🌸 Thu, Jun 11, 2026 🌸

Finalize Crystal Sanctuary door, make door opening SFX


🌸 Wed, Jun 10, 2026 🌸

WIP Crystal Sanctuary sheltered area and boss arena

  • Add CrystalSanctuary node type and register it in gameplay.json.
  • Treat CrystalSanctuary like RespawnArea for sheltered state and weapon restriction.
  • Register CrystalSanctuaryDoor in scene registry and open all doors on guardian death.
  • Split CrystalSanctuary into FinalBossArena and CrystalSanctuary mesh.
  • Use SM_Wall_2x6_NoColl for a non-colliding wall segment.
  • Make no-weapons UI indicator opaque.
  • Apply semi-transparent tint to no-weapons UI indicator.
  • Extend player shelter raycast range to 350 units.

🌸 Wed, Jun 10, 2026 🌸

WIP crystal sanctuary door

  • Make a WIP mesh of the door
  • Trigger opening of the door on the boss death
  • Correct spider position so they don’t clip through the floor
  • Add accidentally removed AA checkbox in the debug panel
  • Script for the 113 dev vlog YouTube video

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 - 32 - 33 - 34 - 35 - 36 - 37 - 38 - 39 - 40 - 41 - 42 - 43 - 44 - 45 - 46 - 47 - 48 - 49 - 50 - 51 - 52 - 53 - 54 - 55 - 56 - 57 - 58 - 59 - 60 - 61 - 62 - 63 - Next