Posted November 18, 2025 by Grinstba
Hey everyone!
I have kept busy this week with new feature progress and a ton of foundational work on both the server and client, and for the first time ever… mobs can actually drop items (gold) into the world!
Let’s get into it.
One of the biggest features this week was implementing structured loot tables inside both Supabase and the server.
Added a new LootTableService and LootTableCache, allowing the server to:
Load loot tables on demand
Cache drop groups in memory
Quickly roll drops on mob death without DB hits during gameplay
This brings the game step closer to fully fledged itemization, but will be dropped gold for now.
Next, I built out the ItemDefinitiondatabase table and matching server model.
Item IDs, names, rarity, icon keys, stack sizes, categories, etc.
Server caching + Supabase service layers
Items now exist as real data objects that can travel across the whole game pipeline.
Added a WorldItemEntitySystem responsible for:
Spawning drops
Assigning unique IDs
Syncing world items to clients
Despawning when picked up or timed out
Added a matching WorldItemSystem
Items render directly inside the scene
The system listens to entity delta packets, same as players and mobs.
Items can now physically appear in the world when mobs die.
The current snail mob will drop gold on death now
This week wasn’t just features, a huge amount of core refactoring landed to keep the game maintainable as it grows.
Introduced a base EntitySystem class
Refactored mobs, players, and items to share infrastructure
Unified rendering and update patterns
Reduced duplication + easier debugging
Matching base class added on server
Mobs, players, and world items now share consistent lifecycle logic
Paves the way for NPCs, projectiles, pets, and more
A major internal overhaul:
New base RecordCache<T> class on the server
All heavy server records (maps, spawn zones, mob definitions, item definitions, loot tables) now load through a unified, type-safe cache layer
Massive cleanup of old caching logic
Added unit tests to ensure correct caching behavior.
Thanks for following along ❤️
Big things are coming.
If you’re enjoying these devlogs, feel free to comment, follow, and wishlist!