RPG Dice: Heroes of Whitestone
Disclaimer
Public media used, technical details from memory and shipped features.
About
Mobile tactical RPG with board-game campaign progression, dice-rolling combat, gear/team loadouts, strategic card plays, and hero upgrades.
Professional UI engineering at WIMO Games during 2022 launch.
More Details from a blog by Tom Purdue, Game Designer
Link to APKCombo
My Works
- Events & Gear Inventory UI: Hooked up event screens and per-character gear loadouts in Unity/C#, showing swappable gear per slot with visual previews.
- Combat Loadout UI: Built strategic placement screen for Combat Tiles (front/back row positioning), calculating and displaying total team power from levels, gear, and dice.
- Victory UI: Implemented post-battle stats popup (damage dealt/taken, healing done) with earned item breakdowns.
- Leveling Slider: Proposed and delivered bulk leveling UI slider from current+1 to affordable max (e.g. 6-15 or 6-100), with real-time stat change previews on drag.
- Cards Tray UI: Created supplemental card system tray alongside dice movement. Supports strategic plays like "move 2 tiles," "move to objective". Finalized simple "Play" button under each card after drag-angle prototype.
- Dice Tile UI: Designed conditional bonus selector (auto-picks closest match for race/class/element), adding preview points to dice roll for buff/debuff outcomes.
- Unit Test Framework: Researched/implemented custom Unity testing API using C# Reflection/Attributes; added custom Editor window for test selection, progress, suites—deployed post-launch to catch bugs early.
- Unit Test Framework: Built
UnitTestHelpers.cswrapper over Unity's Test Framework using C# Reflection/Attributes. Enables "smart string" access to nested private fields/properties (e.g.GetVariable<Hero>("Team[0].PrivateStats.MaxHP")), deep copies, dynamic IList/IDictionary population, and base-class method calls. Added custom Editor window for test selection, progress, suites-deployed post-launch to catch bugs early.
Challenges
Leveling Slider Redesign
Original one-level-at-a-time progression felt tedious for players with resources for bulk upgrades.
Approach
- Replaced buttons with dynamic slider (min: current+1, max: affordable level via currency calculation).
- Added live stat previews (HP/ATK/etc after upgrade) updating on drag for informed decisions.
Results
- Suggestion adopted immediately. Streamlined player upgrades significantly.
Lessons & Future Improvements
- Could extend to multi-character batch leveling or "optimal build" auto-suggest based on gear/dice synergies.
Cards Play Gesture Prototype
Designers wanted tactile "draw card upward to play" feel, but scrollable tray + drag conflicts risked confusion.
Approach
- Prototyped angle-based detection, calculate drag vector from card origin: steep upward angle = "play", else scroll tray.
- A/B tested with simple per-card "Play" button. Buttons won for reliability, shipped quickly.
Results
- Quick prototype proved upward-drag gesture was technically feasible (angle calc from drag origin worked reliably).
- Testing revealed UX confusion in scrollable tray-players struggled with "steep enough" threshold, validating button as simpler shippable solution.
Lessons & Future Improvements
- Gesture demos accelerate designer buy-in but must include edge-case playtesting early to expose hidden friction.
- Hybrid approach: Default "Play" button (proven reliable), with optional swipe-up gesture unlocked via settings + on-screen angle guide (e.g. glowing arc preview during drag).
Unit Test Framework
Unity's built-in testing lacked intuitive API for nested/private object manipulation, leading to bugs in complex gameplay systems.
Approach
- Engineered Reflection toolkit (
UnitTestHelpers.cs) with smart paths supporting.,[]accessors, auto-property backing fields, and deep recursion for arbitrary nesting. - Added dynamic constructors (any param count/type), IList/IDictionary factories, mock-safe type resolution across assemblies, and custom Editor window for test suites/progress.
Results
- Delivered working framework from R&D, manager praised delivery. Prevented regressions across team.
Lessons & Future Improvements
- Could add CI/CD integration or gameplay-data-driven test generation (e.g. auto-validate dice rolls).
Play Demo Video
Project information
- Environment Unity/C#
- Project date 18 Jan, 2022
- Gameplay UI Engineer CJ Kim
- Company WIMO Games