Melodic's Tech Corner.

This Week in Oblivion 4/21/2025

Cover Image for This Week in Oblivion 4/21/2025
MelodicAlbuild
MelodicAlbuild

This Week in Oblivion โ€“ The Latest Updates to the Luminary Engine

Over the past three weeks, LuminaryEngine has taken major steps forward. While much of the work was foundational, this period marks the introduction of systems that will power everything from UI to NPCs to real-time dialogue. Letโ€™s break down whatโ€™s new.


โญ The Luminary Engine

It's funny to look back at the Oblivion Engine and look at what I had done and wonder how I managed to do what I did. My local copy of the OblivionEngine is completely broken, and I have a feeling it has to do with the Lua implementation I had written. Unfortunately, it needed a rewrite and that made me pull apart the basics of the engine and start all the way over. I've done a lot to ensure the basics of the engine are built before I jump into content, and that involves spending time on the core before. Below is about three weeks of code and development getting into the basis of the game once more.


๐Ÿš€ Major Enhancements

๐Ÿ”น Dialogue System v1

Commit: feat: dialogue system v1
The very first milestone for dialogue is here! This system supports multiline prompts, branching, NPC triggers, and dialogue box UI.

๐Ÿ”น LDtk Integration

Commit: feat: ldtk module
We now support maps authored in LDtk, with a complete pipeline for loading, parsing, and managing them dynamically.

๐Ÿ”น NPCs & Itemgivers

Commit: feat: items and itemgivers
NPCs can now be interacted with to provide items. This is the backbone of quests, shops, and scripted event rewards.


๐ŸŽฎ Gameplay Systems

๐Ÿ”น Movement System Overhaul

Commit: feat: movement system (broke)
The original movement system has been rewritten with tile alignment and smooth scrolling โ€” and patched shortly after to fix phase skip issues.

๐Ÿ”น Collisions & Level Transitions

Commit: feat: collisions, finished camera, improved movement
A complete collision system was layered into the existing movement logic. Combined with entrance/exit detection and transition fades, we now support full area shifts.

๐Ÿ”น Fade Transitions & Entrances

Commit: feat: fade transitions
Polished entry/exit transitions give the engine a cinematic touch โ€” plus walk-based transitions are now supported.


๐Ÿงฉ UI & Input Updates

๐Ÿ”น Full UI System

Commit: feat: working ui
The engine now has a modular UI system with support for layout, font rendering, components, and real-time updates.

๐Ÿ”น Settings & Keybinds

Commit: feat: keybindings, settings, menus, scrolling
User-defined settings and input mapping are now handled through a proper UI, complete with scrolling and toggles.

๐Ÿ”น Dialogue Boxes

Commit: feat: dialogue box
A custom component for in-game dialogue. Works seamlessly with the new dialogue system and UI framework.


๐Ÿง  Core Architecture

๐Ÿ”น Entity System & Components

Commit: feat: entity system
The base ECS framework is in! This sets the tone for everything โ€” from rendering, to logic updates, to component-driven scripting.

๐Ÿ”น Renderer Wrapper

Commit: feat: renderer wrapper
Abstracted SDL2 into a custom rendering layer, making future backend changes or shader integration possible.

๐Ÿ”น Camera Smoothing

Commit: feat: camera smoothing
Reworked camera logic to include smoothing and deadzones. It now follows players without jitter.


๐Ÿ”’ Security & Stability Improvements

๐Ÿ”น Logging & Encryption

Commit: feat: logging system and encryption
Created a flexible logging pipeline with support for encryption and log filtering by type.

๐Ÿ”น Stability Fixes

Commits:

Fixed a variety of critical stability issues, including recursion crashes, threading shutdown problems, and floating point errors in movement.


๐Ÿงฐ Development & Tooling

๐Ÿ”น Map Editor (WIP)

Commit: feat: map editor (currently bugged)
Started work on a custom map editor for hand-authoring levels. Still buggy, but functional enough for internal testing.

๐Ÿ”น Dev Config & Cleanup

Commits:

Added a centralized dev configuration system and began cleanup of older audio and debug toggles.


๐Ÿงช Bug Fixes & QoL

๐Ÿ”น Dialogue Fixes

Commits:

๐Ÿ”น Threading & Input

Commits:

Input handling and threading systems were cleaned up and restructured for consistency and reliability.


๐Ÿ”ฎ Looking Ahead

Well, that was... a lot. I've broken down every commit since April 1st on the Luminary Engine, and hopefully this will allow me to catch back up blog wise. Luckily for me I have some plans for what is coming next and that can easily help me keep up with blogs. Next week will have some neat concepts revolving around crafting and items. There's your hint.

Stay tuned for that article, and I will see you all in next week's edition of This Week in Oblivion!

Cheers,
Melodic