ROLL NO CONTROL

made for CSC 471, Fall 2021

By Xander Wallace



example image

For my project, I built a game where you try to make the robot follow the path.

example image

But there is a catch! You cannot directly control the robot's velocity.
Instead, you use the IJKL keys to control the tilt of the plane!
This causes the robot's acceleration to change accordingly.

example image

Since most games don't work this way, it takes a while to get used to this, but that is part of the fun!

TECHNOLOGIES

(all are demo'ed in the video below)

Physical Forces

While the steepest direction of the plane determines the direction of acceleration, there are three factors involved in calculating the strength of the acceleration. These factors are:
-gravity (a posive amount proportional to the tilt angle)
-friction (a constant negative amount)
-drag (a negative amount proportional to velocity)

Collision

the robot collides elastically with all four of the rock walls. (and nothing else)

"worldPivot"

where the robot touches the ground is tracked as the "worldPivot".
on pressing IJKL, the world will pivot (along Z or X) around the world pivot point.
The camera is always offset from this point (though you can change the direction the camera looks by scrolling)

Animation

The robot body "rolls" (the bottom point does not slide!).
The robot head stays perpendicular to the plane. (this is difficult due to the way the robot is simulated.)
The robot always looks in the diection of its velocity



References

heavily inspired by Forrest Hansen's Marble Blast Moderate
I originally wanted to do more effects like in Restore the Light