Skip to content

Latest commit

 

History

History
88 lines (58 loc) · 2.53 KB

README.md

File metadata and controls

88 lines (58 loc) · 2.53 KB

Promenad

A purely procedural animation system that can walk and hold hands. Created in the spring of 2021 as the specialization course at The Game Assembly.

Two actors holding hands while one of them is waling on terrain

Feature highlights

Inverse kinematics animation system constrained by hinge joints. Supports paths with multiple consecutive target positions (green lines and spheres).

Robot arm demonstrating hinge jonits

Proceduraly generated walk cycle supporting a wide range of movement speeds. Movement animation automatically adjusts to current speed and feet rarely drag/slide noticably.

Actors walking at different speads

Foot placement handles uneven terain with some grace (altough it's far from perfect).

Actor walking up and down staircase

Despite popular belief I think we have to little hand holding in contemporary videogames.

Two actors walking while holding hands

Controls

World cursor

Input Desciption
⬅️/➡️ Move in world cursor along the X-axis
⬆️/⬇️ Move in world cursor along the Y-axis
Shift + ⬅️/➡️ Move in world cursor along the Z-axis
Space Set end effector goal of one specific (hard coded) limb

Actors

Input Desciption
WASD Move actor #1 (if available)
IJKL Move actor #2 (if available)
H Toggle hand holding

Playback

Input Desciption
P Toggle pause
R/F (while paused) Rewind / Replay one simulation step
Shift + R/F (while paused) Rewind / Replay ten simulation steps
R (if not paused) Rewind up to 1024 simulation steps)
N Take one simulation step forward

How to build and run

Full rebuild:

make clean all

Run application (while developing):

make run

Run test suite:

make check

Build the darn thing

Dependencies

Folders

  • src/ – Our code.
  • res/ – Models, textures, config-files etc.
  • bin/ – Where the executables go.
  • tmp/ – Build intermediates, logs etc.