Crystal Call

Role: Gameplay Programmer

  • Parkour speedrunner

  • First person shooting

  • Slick wallrunning

  • Launched to Steam!

  • UE4

  • 10 Person Group Project

  • Fall 2020

My Features

Arm animation using Inverse Kinematics (IK)

To make our player’s hand feel more believable I used IK to keep our hand in the direction we are shooting. This solves the problem of the beam bending when the player is at high speed. I save the location of the shot location and use that as the goal for the hand.

I also use IK for putting the hand on the walls while wall running. I calculate the goal hand location using the closest point on the wall plus an extra amount along the wall’s tangent to get the hand on screen.

ShootingIK.gif

Wall Running

One of Crystal Calls main features is the ability to wall run. It works by shooting 4 line traces to determine if there is a wall. If there is, all velocity is set to the wall’s tangent direction, gravity is scaled down, and all Z velocity is removed.

WallRunning.gif

Post Mortem

What went well

  • Communication between programmers and lead was smooth. Our lead, Jake Rowland, was always informed and was able to assist us in getting what we needed from the other disciplines

  • Interdisciplinary work like animations flowed smoothly. Animations require the programmer to work with the artists to get their vision to look correct on screen. Also, making sure the programmatic animation of IK matched the artist’s own animations

  • Using Agile Development to rapidly iterate on the movement mechanics. We quickly got the mechanics on screen which helped our team visualize how the game would play.

What was learned

  • All large features should have the developer implementing it take part in planning. This avoids the problem of the developer knowing a better way to architect the feature than was originally designed.

  • Commenting and cleaning code as you go will save you headaches in the future.

  • QA is necessary and important before development ends.