snowpainters.png

Snowpainters

  • Arcade Racer | Unreal Engine 4 | Team of 40 (14 programmers)

  • Physics and Game Systems Programmer | Unreal Blueprints

Snowpainters is an arcade racing game where you play as speedy color-changing penguins. Play alone or with friends, change between colors, race on colorful paint trails, and bring color to a snowy environment!

 

Contributions

  • Using a component-based architecture, I helped design the penguin’s movement. We started from scratch and had a functional penguin by the end of the first milestone

  • Implemented penguin collisions and gravity

  • Defined all penguin parameters in data so that they could be tuned for balance

  • Balanced all penguin types for unique feel and gameplay balance

  • Switched to the Game Systems team and inherited an existing codebase

  • Building off of the current standings system, I added the ability to accurately determine the penguin’s placement when taking branching paths on the track

  • Implemented the wrong way tracker

  • Auto-finished AI after all players finished, creating estimates for AI race time

 
Blueprint function to calculate the penguin’s current acceleration

Blueprint function to calculate the penguin’s current acceleration

Blueprint function used to reflect the penguin’s velocity when colliding with walls

Blueprint function used to reflect the penguin’s velocity when colliding with walls

Blueprint data table initialization for all tunable acceleration variables

Blueprint data table initialization for all tunable acceleration variables

Blueprint function to get the nearest spline to the player to determine if the player is going the wrong way

Blueprint function to get the nearest spline to the player to determine if the player is going the wrong way

Snowpainters team

Snowpainters team

 

Post-Mortem

As the first project I’ve worked on of this size, and the first major project in Unreal Engine 4, there were many learning moments. I had to develop communication skills not only within the physics team so we could work together to get the penguin moving, but across disciplines so the designers knew how and what the penguin’s could and could not do. The cross discipline communication wasn’t always easy, and we found that early on a lot of information slipped through the cracks. As the project continued, it got better, but if we were to do it all over again, we know what works and doesn’t and we could establish those communication pipelines much better.