Reactive Animation Project

by Kevin Forbes and Alex Kolliopoulos

In a round of boxing, a fighter will make decisions and carry out actions to give himself an advantage, by blocking or evading punches while using well placed attacks to defeat an opponent in the ring. A boxer must constantly decide what action will give him the best chance of winning based on the perceived state of the opponent and the boxer's own physical state. These decisions must occur with little time for thought or analysis, using instinct and technique from training. The goal of this project is to capture an approximation to the reactive motion required of a boxer in a ring in real time.

 

Report

ForbesKolliopoulos04.pdf

 

Source Code

BoxerSource.zip

Project files are included for VC++ 8, but the source code should be pretty portable.

 

Binaries

BoxerBinaries.zip

Extract everything to a single directory. There are two executables: TwoReactive.exe and KB.exe. TwoReactive.exe pits two reactive boxers against each other while Kb.exe pits a reactive boxer against a keyboard-controlled boxer.

Dragging the mouse with the LMB down rotates the camera. Dragging with the RMB zooms.

The keyboard controls are:

Direct KB Control Mode
KB Coaching Mode
Common Controls
  • w - move forward
  • a - turn left
  • d - turn right
  • s - back up
  • z - step left
  • x - step right
  • h - hook
  • u - uppercut
  • j - jab
  • c - cross
  • f - feint
  • b - block
  • [ - dodge left
  • ] - dodge right
  • \ - hold out glove

  • f - turn to face the opponent
  • r - recover
  • w - approach
  • e - evade
  • a - attack
  • d - defend
  • x - escape ropes
  • q - quit
  • 9 - activate boxer 1
  • 0 - activate boxer 2
  • ` - switch between control modes
  • 1 - boxer1 amateur
  • 2 - boxer1skilled
  • 3 - boxer1tired
  • 4 - boxer1energetic
  • 5 - boxer1defensive
  • 6 - boxer1offensive
  • , - boxer1 favour small actions
  • . - boxer1 favour big actions

 

 

Movies

(These files all require DivX 5)

KBFight.avi

ReactiveFight.avi

ReactiveCorner.avi

ReactiveRetreat.avi

 

 

<== BACK to home page

Kevin Forbes 5/3/04