Adventure Mode
I introduced a location-based adventure system where players send their monsters into the world to explore and encounter enemies. Key design decisions:
- Locations define the difficulty tier and monster pool
- Step-based progression means exploration takes real time — encouraging players to check back in
- Randomized bot monsters scale to the player's monster level, keeping encounters fair and dynamic
PvP Battles
Player-vs-player combat was the centerpiece feature. Players challenge each other directly, with outcomes determined by stats, equipment, and a bit of randomness. A live leaderboard tracks the top trainers — adding a competitive layer that drives engagement.
The Asset Model Refactor
Behind the scenes, this sprint included a significant refactor. Items and equipment had been managed as separate, overlapping systems leading to duplicated logic and brittle queries.
I consolidated them into a unified Asset model with a type discriminator. Benefits:
- Shared validation and business logic
- Cleaner Eloquent relationships
- Faster feature additions going forward
- Much easier to write tests against
This is the kind of refactor that doesn't show up in the game's changelog but makes everything else possible.
