Mouse Playhouse, 3D Unreal Engine 4 VR Puzzle, Team Size: 18


Project Description

vive_logounreal_engine-512

 

  • Duration: 24 weeks, 2016
  • Mouse Playhouse is a Virtual Reality (VR) game in which players manipulate objects in a common, everyday environment, creating a path through which they guide mice and avoid hazards.

Individual Contributions

  • Implemented animations for main menu mice and Meowbots.
  • Hat collection and unlocking.
  • Mouse footprint particle effect and mouse poofing on top of cheese.
  • Level selection system.

Screenshots

Blueprint Snippets

All of my individual programming work on this project was done in Unreal Blueprint.

Implementation of animation state transitions in animation blueprint.
Blueprint function to relocate mouse on top of cheese once reached.
Blueprint function to save the mouse’s currently equipped hat to the game instance.

Post-mortem

Working on Mouse Playhouse taught me a number of things, both in terms of soft skills like working on a larger team and hard skills like implementing animations provided by artists in Unreal.

The Mouse Playhouse team was the largest I had worked on up until that point, with multiple members from disciplines including art, level design, programming, and production. I often found myself getting up from my chair to go talk to our animator on how his design of an animation would effect implementation, or to go talk to a fellow programmer for feedback about my plan for implementation of a new system. Besides helping my legs feel better, this experience taught me the importance of collaboration and being willing to approach others openly and often.

I had never worked with animation blueprints prior to Mouse Playhouse, so I learned quite a bit about how animation clips come together in Unreal to make believable characters. I worked on creating animation state transitions that would trigger at the appropriate time to have the character play an animation.

Another system I became intimately familiar with was Unreal’s game instance class, which I used heavily to store game state information, such as which hat the mouse was currently wearing, which levels the player had unlocked, and what the player’s current score was. Working with the game instance also segued into learning Unreal’s saving and loading system for data that needed to persist between launches of the game.