๐ธ 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
PhysicsBodyto 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
PlaySfx3dandPlaySfxUi, usemakeOwnedChildinstead. - Remove
PlayerfromScene, use registry-based lookup instead. - Bump C++ standard to 26.
- Script to calculate game completion percentage.
- Helper function
regto register a node in the registry. - Move
shadowCastersfromSceneintoRender.
๐ธ 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
๐ธ Tue, Jun 9, 2026 ๐ธ
Implement weapons-free respawn areas and restore player stats on level up
- Add a sheltered state to Player when standing in a RespawnArea.
- Disarm player, play SFX, and display NoWeaponsUi indicator when entering a sheltered area.
- Prevent Spider, CrystalSanctuaryGuardian, and LiveRock from attacking a sheltered player.
- Restore player health, mana, hunger, thirst, and energy to max values upon leveling up.
- Filter out player’s own body during raycasts to prevent self-collision.
- Increase volume of loot pickup SFX and update starting staff level to 27.
- Reset mob health to max when loading JSON in editor mode.
- Decrease spider walk SFX interval and register new crawl sound assets.
I’m trying to make mobs stop attacking the player when the player is in the respawn area, but with the right timing, you can lure them inside and essentially trap yourself.
I’m wondering if building a buffer zone before the door would help?
๐ธ Mon, Jun 8, 2026 ๐ธ
nwm, Parsec is still broken.
๐ธ Mon, Jun 8, 2026 ๐ธ
I do not know if it is an update from Pop!_OS to CachyOS or if Parsec made some updates, but Parsec is usable now with the drawing tablet. Most likely the April Parsec update.
๐ธ Sun, Jun 7, 2026 ๐ธ
Implement Spider mob and improve pie menu dead zone rendering
The pie menu can be a bit confusing when the mouse cursor is in the dead zone, so I added a small arrow in the center to give the player a hint.
๐ธ Sun, Jun 7, 2026 ๐ธ
Rename shaders and improve Wayland support
- Rename shader files to use .vert, .frag, and .comp extensions.
- Update shader compiler to handle new extensions and varying definitions.
- Implement proper Wayland detection and native handle retrieval in get-natives.cpp.
- Update asset loading paths across the codebase to match new shader filenames.
- Pass correct NativeWindowHandleType to bgfx during initialization.
- Mark several respawn point and crafting table tasks as completed in todo.md.
๐ธ Sat, Jun 6, 2026 ๐ธ
Implement level up visual effects and add pie menu dead zone
- Add level up animation and mesh to Player.
- Define PIE_MENU_DEAD_ZONE in cpu-gpu-shared.hpp.
- Implement dead zone in pie menu shader and C++ logic.
- Register new level up assets in process-assets.hpp.
- Mark leveling tasks as completed in todo.md.
๐ธ Sat, Jun 6, 2026 ๐ธ
Implement XP and leveling system and refactor loot dropping
- Add XP field to items and implement XP gain and leveling in Player.
- Introduce LvlUpUi for visual feedback on level up.
- Refactor loot dropping logic into Mob::dropLoot base method.
- Update Entropy, Essence, Harmony, and weapons with XP values.
- Add level-up SFX and Bitwig project assets.
- Fix JSON parsing in Respawner and update journal with progress.
๐ธ Sat, Jun 6, 2026 ๐ธ
Refactor rendering pipeline and update pie menu shader
- Split Render::render into render and finalPass to better manage multiple scenes.
- Move post-processing and frame flushing into Render::finalPass.
- Update pie menu shader to rotate center icon based on mouse angle.
- Enable VSync by default in ResetFlags.
- Change screen pass clear color to black.
- Mark axe and bow SFX tasks as completed in todo.md.
๐ธ Fri, Jun 5, 2026 ๐ธ
Implement mob respawning and refactor splash screen
- Introduce Respawner class to handle delayed mob and boss respawns.
- Store initial JSON data in Mob instances for use during respawning.
- Extract splash screen logic into a dedicated Splash class.
- Simplify Node::loadJsonInternal by removing the Assets parameter.
- Update gameplay.json with initial mob states for respawn support.
- Patch geometry in the respawn area and update door icons.
Timed how long it takes to clear the mobs in the final boss areaโclocked in at 2:30. Thinking of setting the respawn timers to 3x that for regular mobs and 6x for the boss. That’d be 7:30 for the mobs and 15 minutes for the boss.
Finally patched that crack in the respawn area.
๐ธ Thu, Jun 4, 2026 ๐ธ
Migrate from SDL2 to SDL3
- Replace sdlpp with a custom SDL3 C++ wrapper in sdl3.hpp.
- Update Makefile and dependencies to use SDL3.
- Refactor Render and Deferred classes to use glm::ivec2 for screen size.
- Update event handling in SceneEditor and Gameplay for SDL3 API changes.
- Transition audio handling to SDL3’s new audio stream API.
- Introduce GameMode to distinguish between game and editor modes.
No stream today, not feeling well.
๐ธ Tue, Jun 2, 2026 ๐ธ
Add animated loading screen during asset loading
- Introduce SpriteSheetPlayer for sprite-sheet UI textures.
- Render a logo splash while assets load via a progress callback.
- Skip deferred post-processing when the scene has no 3D geometry.
- Update GIMP batch export for newer Script-Fu.
- Remove the coddle local repository override.
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 - Next