Game Design Document for:
All work Copyright 2005 by SXP AB
Written by Hampa
Table of Contents
The Game World
TORIBASH is a 3D beat-em up for PC, OS X and Linux. TORIBASH comes without any predefind fighting moves. You control the fighters by applying forces to individual joints and limbs. Any move you can think of, you should be able to do.
TORIBASH is best classified as a Beat-em up.
Where does the game take place?
This game takes place in a vast wide open white space without any objects besides the fighters, the ground and the horizon.
What do I control?
You control the movements of every limb and joint in a articulated 3D body.
How many characters do I control?
In single player mode you control both characters in multi-player only one.
What is the main focus?
The aim of the game is to create as much damage as possible to your opponent in the most spectacular way.
TORIBASH has no predefined animations, it is a completly free fighting game only bound by limits of physics.
TORIBASH does not have to be real-time, you can fight a game over several days.
Most beat-em ups today depend on low-latency and knob bashing. TORIBASH does
not need any of this which makes it playable over Internet connections.
TORIBASH is designed for Windows, OS X and Linux.
It requires a hardware accelerated 3d card that supports OpenGL.
You control the characters with the mouse and by pressing the buttons in the lower part of the screen.
Since there is infinite ways to do a punch this is how you *could* go about to do a
1) Select the hand of your character with the mouse.
2) Drag the hand to select direction and how much force you want to add.
3) Add some torque your upper body.
4) Hit STEP-button and the simulation will run a predefined number of frames and stop.
The arm will now be in the new position.
5) From the new position adjust some force on your arm, maby thighten a leg. Then step the simulation again.
6) Do this until the punch is ready and the other player is hopefully knocked-out on the ground.
Theese are the steps you could do for a basic front-kick.
1) Select the left hip and apply forward force.
2) Thighten the right hip.
3) Run the simulation by hitting the STEP-button.
4) The right leg should be lifted now so continue the kick by adding force the right knee.
5) Continue the simulation and the kick hit the other player.
To help you estimate where your selected move will end up. you can:
1) GHOST-button: This button will ghost the player and do a simulation preview
2) 3D view: Select a different view to better see and select 3d direction.
3) 3D mouse: The mouse can work in any direction much like a simple 3D animation program.
Winning the game
The player who causes the most damage points wins the game. The characters have location based damage zones. Hitting the head causes more damage than hitting the leg for instance.
If you are satisfied with your fight. You can upload the replay file to a website by hitting the upload button. On the central website you can see other players uploaded fights. You will also be able to vote on your favorite replay.
If you just want to send to a friend, you save it to disk and send it by email.
The TORIBASH-replay format as designed to be as minimal as possbile (typically less than 100 bytes).
Multiplayer is played non-realtime. Both players select the move they want to do, when they are ready they press the READY button. When both players are ready, the STEP buttons is enabled and they can both continue to the next round.
The Game World
The Physical World
The world is minimalistic and contain no objects except the players, the ground and the horizon.
The camera will focus on a mid-point between the two players and automatically update if the players move.
Left and right arrows will move the camera around the players. Back and forth will zoom in and out from the players.
Hitting 1,2,3,4 you move to predefined camera positions around the fighters (0, 90, 180, 270 degress).
The game engine is a small OpenGL 3D engine written in c++. It uses plattform independent libraries for physics, window and mouse handling. The total size of the compressed game is around 3MB.
There are two default characters, a girl and a boy.
The characters joints can rotate. Rotational forces are feedbacked by and arrow going around the joint in the velocity of the motor joint. Joints can also be relaxed and thighten. The joint ball will be bigger in a thighten joint than in a relaxed joint. Joints will brake if they are hit with enough force.
You can select the limb and belonging joint with the mouse.
If there are several limbs under the mouse, clicking a second time will select the next limb.
Limbs will fall off if they are hit with enough force.
A selected limb will have a different color.
Limbs will display the amount of damage they receive by changing color to red and slowly fading to it's original color.
Naming your character
Before you upload or save a fight replay you can specify Character Style, Fight Description and Character Nickname. This info is saved in the replay format and visible on the screen when someone watches your replay.
Character Style: Ancient mustard-seed fist
Fight description: Lucky Monk Somersault
Character Nick: Hampa
The characters have have basic skins in BMP format that you can edit. There are no internal BMP editor, any customization have to be done in an external paint program.
You can also combine body parts to make your own character.
The physics engine takes care of adjusting so that bigger bodyparts have more mass, accelerate slower but with greater momentum etc.
The user interface should be simple. It should be able to do all character control by utilizing a one button Mac mouse.
For the more advanced fighters, extra mouse buttons, scroll wheel and keyboard shortcuts can also be used.
The main screen has the basic neo-geo beat-em up layout with damage points, name and face close-up in the top corners. The bottom screen has a button control panel to execute all ingame functions.
The interface has the following buttons in it's control panel:
STEP - Run simulation a predefined number of steps
PLAY - Play or pause the simulation.
REPLAY - Replay the simulation from frame 1.
SAVE - Save replay to file.
UPLOAD - Upload simulation to web site.
NEW GAME - Start new game.
MENU - Bring up the menu.
READY - Only available in multiplayer to signal ready state.
MULTIPLAYER - Start or join a multiplayer game.
SINGLEPLAYER - Start new game
HIGH SCORE - Select and see replays from previous high-scores.
REPLAY - Select some replay from your replay directory.
PHYSICS - Select different physics configurations (newton, hong-kong etc)
ABOUT - Info about the creators of the game, website etc.
QUIT - Quit game
With the mouse you select a limb or joint and drag to add force. Double click will relax the joint. Draging a little bit will thighten the joint.
Z,X,C - Reverse or set force on selected limb/joint.
V - Relax or thighten selected selected limb.
A - Toggle alternative mode for selected limb.
S - Select super power for selected limb.
SHIFT - Move 3D mouse in Z direction.
SPACE - step button.
R - replay button
P - pause button
N - new game button
D - Ready button (Done)
W - same as save_replay (Write)
U - same as upload_replay
ESC - Bring up or close the MENU
Arrow_left, Arrow_right - Move camera around players.
Arrow_back, Arrow_forward - Zoom camera in/out.
1,2,3,4 - Camera presets (0, 90, 180, 270 degres around players)
The command line recognizes replay files by the extension .rpl.
TORIBASH characters can select power-ups and alternative modes. The power-ups mostly control the collision physics. The alternate modes control feature of the bodyparts.
Alternative Limb Modes
HANDS - Grip mode will make the hands grip on collision with other player.
FEET - Heavy mode will increase the mass of the feet. This helps standing up after a fight is finished.
TORSO - Syrup mode will slow down the rotations and help body come to a stop.
+ More to come.
The players can select a special power-up for his player. The following power-ups exist.
SUPER TORQUE - The next contact with other player will super multiply any torque available.
SUPER FORCE - Same as Super-torque but with force variable.
BOUNCY - Player will turn into rubber and bounce everything off easily.
STATUE - Player will turn into stone.
REVERSE - All forces will be reversed.
STOP - All forces will come to a stop.
TIMESHIFT - Selected player's physics will run at half speed.
The art should be minimalistic. The characters are inspired by Urban Vinyl dolls (like STIKFAS etc).
The 2d art covers the buttons and the skinns of the players.
Music and Sound Effects
The engine will come with one background song. The characters scream and make noice depending on what bodypart and how much damage they receive.