Crashtastrophy

 

 


Crashtastrophy is a Group project, developed by a team of students over 2 months. It is a fast paced game where you take control of a bumper car with the goal of reaching the end of the level trough obstacle avoidance and bouncing the right angles.

 

Project details

 Technical details

  • 2015 ( 2 months )
  • School project
  • Team Project
  • C#
  • Unity engine
  • Facebook SDK
  • PC & Mobile
  • Networking

Role

Awards / recognition

  • Generalist Programmer
  • Tech Lead
  • NHTV – Best game design Y1 block C&D
  • NHTV – Best game Y1 block C&D

Media

http://johanholthausen.com/wp-content/uploads/2016/12/crash_orig.png
crash_orig
http://johanholthausen.com/wp-content/uploads/2016/12/crash2_2_orig-1.png
crash2_2_orig (1)
http://johanholthausen.com/wp-content/uploads/2016/12/crash3_2_orig.png
crash3_2_orig

What i worked on

 

Player controller

I was responsible for making and iterating on the car controls, by design the player would control the car with 2 keys. But the problem was with keeping track of pressing the right button when the car is bouncing around the scene. For example: when the car is facing down pressing left would mean going right from the players perspective but it would still be left from the cars perspective.

I had made multiple solutions towards this like: Inverting the controls at certain angles, using 4 keys where the down key would always steer down, left would steer left, etc.

But after player testing and iteration we stuck with the original

 

Custom bounce

I had to make a custom bounce behavior because of 2 things. We needed the car to bounce the right angle and face that direction and The car shouldn’t be able to get stuck in a infinite bounce (bounce at 180 angle).

For the bounce angle the physics system wasn’t optimal we wanted more control over it and adjust the angle at certain angles. I Solved the problem by casting a ray on the bounce object and combined with the hit normal calculate a new angle. After that i rotated towards that direction and the momentum would take over.  I added a clamp on certain angles which the designers could specify to avoid the infinite bounce.

 

Menu

I Created the entire main menu included with a level selection. With the level selection i tracked data knowing when levels could be unlocked and what the player’s score was for that level.

 

Facebook SDK

*When this feature was done the team ceased development.

I integrated the Facebook SDK into unity and made it possible for players to see and compete against their team

 

Ghost system

*When this feature was done the team ceased development.

I made a ghost system where the player could race against their own or their friends ghost. I did this by saving  the players input after each completed run and store it in a online database.