The Goal
The main goal was to build a flexible educational game where we could push new content instantly without needing app updates. I had to create a backend system that kept the game state synced across devices, while ensuring the UI was easy to build and maintain.
What I Built
I focused on connecting the game to PlayFab and creating a clean architecture to handle data and UI.
- PlayFab Level Generation: Set up a system where levels and educational content are pulled directly from PlayFab. This let the team push updates from the dashboard without waiting for app store reviews.
- Cloud State: Managed player progress and unlocked content entirely via PlayFab to keep everything synced securely across devices.
- UI Framework: Integrated the Nova UI framework with a custom MVC pattern, keeping the visual layout completely separate from the game logic.
- Designer Tools: Wrote modular scripts for sound and VFX so designers could hook up audio and visual feedback directly in the Unity Inspector without needing a programmer.
- Core Backend: Handled all the backend basics—authentication, virtual currency, and remote configs.
Takeaways
- Live Ops Integration: Building the game around PlayFab taught me how powerful it is to decouple game content from the client build.
- UI Architecture: Using an MVC approach alongside Nova UI proved to be a huge time-saver for keeping code clean and allowing art/design to work independently.
- Tools Enable Teams: Spending time writing good inspector tools meant designers could iterate on "game feel" much faster.