Posted June 07, 2025 by FarForgottenProductions
Date Range: April 1 – April 30, 2025
Contributors: Kayman Colvin, Carlos Reid, Jacob Mosser
Completed Work:
Procedural Dungeon Generation:
Developed a custom procedural map generation system using a modified "Space Colonization Algorithm" for right-angle corridors and branching paths.
Added environmental detail to the dungeon such as noise, textures, and a switch from static meshes to landscape for vertical variation.
Converted floors and walls to custom meshes and began integrating terrain-based structures.
NavMesh Optimization:
Addressed performance issues in large levels by using a Navigation Invoker system, which restricts pathfinding updates to a radius around the player.
Encounter Zones:
Implemented early versions of encounter triggers placed randomly along path nodes with a 30% spawn rate.
Introduced visual markers for encounter areas, with plans for future improvements to make them appear more natural.
Loading & Visibility Improvements:
Built a functional loading screen with an active progress bar synced to generation steps.
Implemented “Hiders” to occlude off-path areas from the minimap camera, enhancing visual clarity.
Hub World Integration:
Created a basic hub area to serve as the player’s central space between dungeon runs, including initial models and navigation setup.
Connected the hub world with dungeon entrances and integrated it into the game start flow.
Completed Work:
Minimap System:
Designed a live updating minimap using an orthographic scene capture, fixed visual clipping with procedural content.
Added icons for player and vendor using scene-visible planes.
Refined the minimap layout into a circular interface and added a dynamic compass that rotates based on player orientation.
Inventory System:
Built a full-feature inventory system with item stacking, dragging, splitting, using, and inspecting.
Supported player and interactable containers (like treasure chests) using a shared Inventory Component.
Added an inventory progress bar that reflects slot usage and highlights when full or open.
Loot Chests & Storage:
Implemented LootChest (random gold and item reward) and PlayerChest (safe item storage).
Random loot generation based on rarity tiers (Common to Legendary), with chests visually indicating highest contained rarity.
Created a basic animation and behavior system for chest opening/closing and despawning when emptied.
Vendor & Economy System:
Established a Currency Component and integrated it into the player and vendors.
Designed a Vendor UI with transaction logic for buying and selling, tracking gold exchange and item stack management.
Implemented sell confirmation prompts and inventory slot checks for both buyer and seller.
Made vendor inventories instance-specific, eliminating shared inventories across world instances.
Added item detail previews, visual rarity indicators, and basic animations to vendor characters.
Completed Work:
Combat Core Loop:
Designed and implemented turn-based combat with speed-based initiative, damage calculation, and status effects (Stun, Freeze, Sleep).
Built the full damage and status system using enums for attack types, struct-based skill definitions, and STAB bonuses.
Developed and stabilized win/loss conditions — battles end when either side’s party is fully depleted.
Combat UI Enhancements:
Created a modular BattleHUD with toggling views between skill selection, item usage, and relic deployment.
Implemented skill execution, hit/miss feedback, and condition application via battle dialogue boxes.
Added UI logic for relic usage and ensured it properly ends the player’s turn.
Item & Relic Integration:
Integrated item usage into battle, with proper turn-ending logic and dialogue display.
Created a dedicated struct and data table to manage which items can be used in combat and their effects.
Capture System:
Developed a capture formula inspired by the Pokémon Gen I algorithm, modified to account for relic type, enemy HP, and status.
Implemented naming UI and Shadow Catalogue updates after successful captures.
Updated capture logic to function in live combat with turn-based sequencing.
Shadow Catalogue & Persistence:
Created systems for tracking caught Shadows across runs and displaying them via an in-game catalogue.
Integrated new UI to name and confirm caught Shadows within the BattleHUD.
Linked the Shadow Catcher relic to the capture system and began catalog update hooks.
Technical & Backend Updates:
Migrated legacy data from scattered Blueprint variables to organized C++ structs and data tables.
Refactored team and Shadow management systems for consistency and extensibility.
Integrated the minimap camera directly into the BasePlayer character class.