HaberDashers

Role: Gameplay Programmer

  • Arcade Kart Racer

  • Simplified Physics

  • Launched to Steam!

  • UE4

  • 57 Person Group Project

  • Spring 2020

For HaberDashers, I wore multiple hats from physics to gameplay to eventually Steam integration. My goal was looking for what was most needed by the team at the time to maximize potential. We were able to be the first second semester project ever at Guildhall to launch to Steam!

My Features

Kart Self Orientation

At the beginning of HaberDashers, we were given requirements to make arcade physics. The Karts shouldn’t feel like a real vehicle but more like Mario Kart. We tried out using a more physics based approach, but the Kart was too easy to flip or get in unsatisfying positions.

The Kart self orientation component fixes this problem by always keeping the kart aligned with the ground.

  • Calculate an average ground normal using multiple line traces

  • Project forward vector onto ground’s plane using the normal

  • Cross product of forward and ground normal gives new right vector

  • Interpolate to smoothly transition

KartOrientation.gif

Kart Speed Effector

Early on the level designers ran into the problem of their speed effects fighting each other for control. To ease their suffering I created a system that allowed them to call one function for any effect, and the component would handle all of the edge cases of overlapping speed ups, slow downs, and other physics changes.

Effect Transitions

  • Into

  • Hold

  • Out

Physics Changers

  • Max Speed

    • Additive and Multiplicative

  • Acceleration

  • Sliding

  • Turning Speed

KartEffector.gif

Post Mortem

What went well

  • Organizing Kart team to have a solid foundation

  • Asking why something was needed to come up with the best solution

  • Always having an eye on the next problem. Moved from Kart Physics to Kart Effector to Kart Model swapping to Steam builds

What was learned

  • Going virtual requires pipelines to be very explicit. Grabbing the Game Designer as he walks by in person is fine, but messaging and calling him directly will stop your lead and producer from staying in the loop.

  • Your lead and your producer are your best allies whenever a snag is hit. They want you to succeed and will fight for you if you think there’s a problem in the game.

  • Communication problems will happen, but it is how you deal with them that decide if your team will succeed