Desert Climber Practice

by Adam Andersson:

Desription:

Practice your timing on your dynamic movement with this virtual climbing simulation! But be careful, if you fail four times you will infinitely fall into the dark abyss!

Implemented Graphics Technologies:

  1. Dynamic Blinn-Phong Shading
  2. Hierarchical Modeling and Animation
  3. Diverse Texture Mapping Models
  4. Collision Detection
  5. Game Camera
  6. Pendulum Physics Motion

Controls:

Button/Keybind Description
R Attempt right hand grab/release on hold
T Respawn world (after game over)
Q/E Control light position
X Freeze animations
M Change dummy material
Mouse Look around virtual world
ESCAPE Close game
Z Toggle polygon-mode

Pendulum Physics:

The virtual climber's motion is based on a physical pendulum system with gravity, tension, momentum, and an additional added force (the user) on the system. This additional force adds to the acceleration of the dummy's arcing motion!

By designing the motion of the dummy around this physical pheonemon, certain benefits are gained to add realism to the animation of the character. An example is the "weight" that the motion receives when reaching the upwards of the arc motion. With this system, the acceleration of gravity creates a more realistic "hang" in the air before the dummy begins to fall in the opposite direction. Another benefit is with game mechanics melding together with momentum. Since a run-up to a swing allows a greater momentum and greater reach, players are rewarded for their intuition and exploration through gameplay.

Two last thing to mention is that the swing velocity of the dummy is set to zero upon successfully grabbing a hold. Upon release of the hold, gravity starts accelerating the swing motion back down again. Lastly, a drag coefficient is introduced to simulate the friction between the dummy's hand and the hold as well as the air and the swinging dummy, reducing the swing speed by a small fraction of itself every frame.


Collision Detection:

Collision detection was done using the basic idea of collision spheres scaled back to two dimensions (as the dummy and the holds stay on the same xy-plane). Whenever the player attempts a grab of the hold, a check is made on these two bounding circles to see if a collision occurs. If there is a collision, the climber holds themselves in place until the player releases. If there is a miss, then the model loses a life (shown by color changing). When the player loses four lives, a game over condition is met and the player and dummy start plummeting into the deep dark abyss. Tyler the Creator's "GONE, GONE / THANK YOU" starts playing during a time-freeze if the system is configured for windows. Windows or not, the player then starts to fall in a grayscaled existence full of gloom.


Resources:

Skybox

Rock obj (not reccommended)

Tree obj and texture

Hold texture

Other textures

Game over song (Windows Only)