Drunken Master
The game is based on the ideas of International Karate+ from Archer Maclean, a
martial arts engine where one or two users play against the computer. Each player can
do jumps, kicks and other Karate movements.
The figure shows the Drunken Master front end. In order to remain
the spirit of International Karate+ the rendering was completly done in two dimensions.
Each player can move left and right and do kicks, jumps and other movements. On the bottom
there is the power indicator for the two players.
The overall idea behind the game is again to replace the keyboard/joystick interaction
by physical movements of the player. In contrast to QuakeRunner, complex movements have to be
recognized.
In order to recognize the actions the player is observed by a camera. This type of
coupling doesn't reduce the users freedom but restricts him to a certain area. From the
recorded video the different poses are extracted which are used as input commands for
the martial arts enine. Video recognition in general is sensitive to noise.
Nevertheless it is possible to get a level of stability so that the game is playable.
The Drunken Master image recognition pipeline is shown in the above figure
and consists of four stages. First foreground and background are separated using a
difference operation. Different lighting conditions are disturbing the image recognition
process why we work on YUV images that are relative robust against noise.
Also shadows from persons or objects are adding noise to the separation process.
To remove this noise the software has a build in shadow removal feature that suppresses
shadows quite well. Afterwards the image is scaled down and filtered before a template
matching algorithm searches for the human pose. The output of the matching process is
feed into the martial arts engine, which in the end executes the "physical" command.
The gameplay is actually a one on one match, where two players are playing against each other
over the Internet. Each player has a power indicator associated. When it reaches 0 he
lost the game.
|