Hierarchical Modeling Battle Simulation
by Garrett Summers
A simulation of a battle between two warriors. Similar to a Street Fighter game, the program lets you move your character around in a horizontal fashion. Each character has an attack move along with a defend move. Each character was built with hierarchical modeling. The joints that hold the models together are then moved through scripted animation based off of which key on the keyboard is pressed. Camera control has been included to be able to view the scene from several angles. The program was written in C++ / GLUT / OpenGL.
- Distinct characters created through hierarchical modeling
- Unique attack and defend animations for each characters weapon set
- Scripted animation that supports multiple button presses at the same time
- Character half step ability-lets the characters stop half way through the walk animation. This allows the character to take just one step instead of two. This would make a game more responsive.
- Camera control to be able to view the battle from any desired angle
- Ability to toggle on/off full Phong lighting to experience the battle "in a different light"
- Weapon Movement - Fighting with dual weild weapons/other weapons
- Shading - General information/implementation reference on Gouard/Phong Shading
- Multiple Keyboard Inputs - Implementation of the ability to have multiple keys preforming actions at the same time, even when multiple keys are held down
- Walking Reference - A video that slowly depicts a person walking: helps as a reference to how humans actually walk
Note: The code is as clean as I could get it. The hierarchical modeling is fairly well commented, while the animation section has its main sections commented. Animations are identifiable via a (generally) 4 character code at the start of the variable name. Ex) LKMS -> (Side)(Body Part)(Axis-warning** not standard axis labels)(model) -> LeftKneeMoveShield