WhileIterating's game – Devlog
A daily devlog documenting my journey building a turn-based RPG, with many other elements mixed in for fun, in Godot
Project maintained by Brhando
Hosted on GitHub Pages — Theme by mattgraham
Day 16 — The Crafting System, UI, and Icons (June 11, 2025)
Progress Made
- Added a new global singleton (
CraftingManager
) to manage crafting logic and recipe storage.
- Created a functional Workbench world scene (Area2D) that detects when the player is in range and allows interaction.
- Built out the full Workbench UI (
WorkBenchUi
):
- Displays recipe list dynamically.
- Shows required materials and crafting success/failure messages.
- Connected crafting actions directly to the player’s inventory.
- Successfully debugged and resolved complex Godot 4 UI layout issues involving
ItemList
sizing and rendering.
- Implemented dynamic icon loading for recipes.
- Drew sprites and Icons for the Workbench and Stone Plate.
- Drew animations for the rest of the player skills and implemented them into combat.
- Updated recipe tooltips to display both the recipe’s tooltip and flavor text.
- Successfully committed 14 files to Git earlier in the day (core crafting system), followed by 3 additional files (icon integration, tooltip improvements, and UI display enhancements).
Challenges
- Spent extensive time debugging why recipes were not displaying correctly inside the ItemList.
- Navigated several Godot 4.x differences in UI layout behavior (size flags, container expansion, and minimum size requirements).
- Tracked down a final issue with
ItemList
having no minimum height, which prevented visible display of recipe items despite correctly populated data.
- Iteratively updated scene structure and control settings to resolve the UI rendering trap.
- Handled one of the most difficult (and very common) Godot C# UI pain points related to dynamic population and scene tree initialization.
Next Steps
- Begin building the Unified Item System Blueprint to unify crafting, merchant inventory, shrine sacrifices, and drop tables under one scalable system.
- Extend the crafting system to allow for easy expansion of recipes, item attributes, stack sizes, and gold cost integration.
- Start laying the foundation for the full Economy Loop — Merchant System Phase 2.
- Prepare reusable UI modules that can serve across crafting, merchants, and shrine interactions.
Reflection
Today was a huge step forward in both system building and pure development skill. This was one of the first true “deep debugging” sessions that reflects real-world game dev — complex systems interacting across UI, data management, scene hierarchies, and runtime behavior. What looked like a simple display bug actually ended up being a masterclass in Godot 4 C# UI layout mechanics, size flags, deferred population, and scene tree initialization.
The best part is: the solution wasn’t a hack or a band-aid. It’s been solved properly — the architecture remains clean, maintainable, and fully scalable for what comes next. Every hour spent fixing this means fewer hours spent down the road fighting scene tree issues when adding merchants, shrines, loot drops, or inventory windows.
And — even better — everything has been properly pushed to Git, fully versioned, and ready for tomorrow’s expansion. The core crafting system is now fully functioning, dynamically populated, and displays recipe icons, tooltips, flavor text, and dynamic lists correctly. This represents a very real milestone in the vertical slice of the RPG system as a whole.
I’m also proud of how far my sprite drawing skills are coming along. They aren’t perfect,
but for an amateur, I’d say they’re quite impressive.
Today was about more than coding — today was about system mastery.