Barrel Primate Design Document Basics: Game for 2-4 players Each player controls either a Climber or the Primate. 1-3 Climbers, 1 Primate. Client/Server Model: One player will be required to act as the server. When a user elects to start a server, they will need to have selected the server listen port in their game settings. When a user elects to act as a client, they will need to connect to the IP of the server. The player hosting the server will probably want to unblock that port in any firewall software or hardware. The server and any connected players will be able to communicate in a small text box, and configure settings prior to game start in a very basic lobby. The server player will have boxes and radio buttons to configure Primate Choice, time limit, point goal, barrel cooldown, and cooldown variance. Once all players have pressed a button indicating they are ready, the game may be started by the server. Choice of Primate: The primate is chosen based upon server settings, which default to "Random". The settings include: 1. Rotate - The primate is selected based upon a set list. Each player will play the primate for one round each, and then the order repeats. IIn a case of a 4 player game, a given player is guaranteed to control the Primate every one round out of four. 2. Random - The primate is selected randomly, out of the current Climbers. Before the first round, all players are considered for the random primate selection. In choosing the primate for all subsequent rounds, the game will randomly select someone who was a primate in the previous round to take the role of the primate in the next round. 3. Victor - The primate is selected based on which climber won the previous round. If it is the first round, the primate is selected randomly. If the previous round expired without a climber victory (due to time expiration), the primate is selected randomly from the climbers in that round. In Victor games, the Primate earns points over time simply for maintaining his status as Primate. Stage Design: Each stage is comprised of several (6?) platforms that each slope upward. The platforms are all separated by a decent vertical gap, and vertically above each other. The bottommost platform slopes upward to the right, with the following platform slowing upward to the left. The platforms repeat this pattern, until the last platform where the primate is on slopes up-left. An even number of platforms is recommended. Each platform is connected to the next via a series of ladders and broken ladders. The primate and his stash of barrels is located in the upper left corner of the screen, on the leftmost edge of the highest platform. A smaller platform exists slightly higher and to his right, connected by a ladder, containing his loot. Ladders: Ladders extend from one platform to the next platform higher. Each platform may have several ladders. Ladders may be climbed by climbers, from one platform to the next. Ladders may serve as platform descent points for barrels. Climbers cannot jump while on ladders. Broken Ladders: Broken ladders extend from one platform to the next platform higher, but contain a gap in the middle where the ladder is missing. Each platform may have several broken ladders. They function similarly to ladders, with one major exception. Broken ladders may be climbed by climbers, up until the point where the break occurs. They cannot climb up higher than the break. Broken ladders may serve as platform descent points for barrels. That is their primary function. Round Start: Each game is broken up into several rounds of play, where players alternate acting as climbers or the primate depending on the game rules. The primate player does not move around the field of play, and only controls the throwing of barrels. Each climber begins the stage on the bottommost platform, towards the left edge. If there is more than one climber, the placement of the climbers horizontally on the starting platform is randomized. Every climber and primate begins the stage at the same time, and the music begins. Climber Controls: Each climber has a set of 4 directional buttons they can use, and another button which will enable them to jump. The Up and Down buttons will be used for climbing and descending ladders respectively. The left and right buttons will be used for moving left and right while on the ground. Directional movement (excluding jumps) decelerate instantly when the directional button is no longer pressed. The jump button will start a jump. Jumps may only be started while on the ground. The jump height cannot be altered depending on how long the jump button is pressed. If the climber is currently moving in a direction (left or right) when the jump button is pressed, the climber will jump in that direction. The direction of the jump cannot be changed while in mid-jump. A jump started without horizontal movement to either side will simply jump in place. Climber Interactions: Given that there may be two or even three climbers on a given stage at a given time, the climbers can interact. If a climber bumps into a stationary climber, the first climber will be pushed back slightly from the direction they began in, and their horizontal movement may cease. After a slight delay, movement can resume for that climber. The stationary climber will be pushed slightly in the direction the first climber was moving, and then their movement will cease. If two climbers run into each other, each traveling in opposite directions, then each shall be pushed backward slightly in the opposite direction they were moving, and their horizontal movement ceases. After a slight delay, their movements may resume. These interactions can take place in the air. The horizontal effects are similar, but any given vertical movement the climbers are going through will continue. For example, if a climber on the ground jumps and bumps into a climber on a ladder, the on on the ladder will be briefly stunned but remain on the ladder. The jumper will be pushed back horizontally slightly, and continue their jump without horizontal movement. If a stationary or mobile climber is jumped on top of, the jumper will bounce slightly off that climber, and continue their horizontal movement. The climber that is jumped on will be briefly stunned and unable to move. Climber Death: Climbers die all the time. Climbers have infinite lives. When a climber dies, they respawn in a few seconds, at the bottom of the screen where they began. A climber will die if they come in contact with a barrel. A climber will also die if they walk or jump off a platform. Primate: The primate's only function is to throw barrels at the climbers, to defend himself from them. He is able to throw one barrel every few seconds, with a small cooldown meter displayed. The primate may queue the next barrel type while waiting for this cooldown to expire, configuring a manual barrel or selecting another type of barrel to throw. Once the cooldown is expired from the previous barrel, the primate may launch the barrel at any time afterward. A randomization factor may be added to the barrel cooldown to keep things interesting. You may specify a 1-3 second plus or minus variance in cooldown. This means that if the barrel cooldown is set to 5 seconds, and configured with a 2 second variance in cooldown, barrel cooldown may last anywhere from 3-7 seconds. The primate may also beat his chest and roar at the climbers, but these are for asthetic effect alone and do not interfere with the gameplay dynamics. Barrels: The barrels are the primary weapon of the primate. From his perch atop the stage, he will roll the barrels down the construction site, toward his climber antagonists. If a barrel collides with a climber at any point, both are destroyed. The climber respawns after a few seconds at the bottom of the stage, where he must begin his climb anew. Barrels will roll down each sloped platform, towards the end. Barrels can descend to the next platform down when they roll over a ladder or a broken ladder. Barrels must descend to the next platform down if they roll off the edge of their current platform. In Barrel Primate, the Barrel paths can be configured by the primate. Barrels can be launched with a set path of which ladder or end of platform to drop to the next platform with. A button is available to launch barrels, defaulting to random. Buttons are available to configure the next barrel with specific special orders: - Don't drop down any ladders (this will create a barrel that will roll the entirety of a platform before dropping to the next one) - Always drop down first ladder - Randomly choose when the barrel drops - Repeat last barrel -Manual, allowing you to choose the exact barrel path. If manual barrel pathing is selected, then on the Primate's screen, at the top platform, numbers will appear above each ladder, broken ladder, and the end of the platform, with the leftmost point being numbered 1 and increasing the further right the platform goes. When one of these numbers is selected, the barrel will descend at that point when and if it reaches there. If a number other than the listed options is selected, then one of the listed options will be randomly picked. Once an option is manually or randomly picked for barrel drop points for that platform, the numbers on the current platform will disappear, and the number choices will appear for the next platform. Once the drop path has been selected for all platforms and the barrel is set to reach the end, the barrel can be thrown. Score: The goal point total can be set prior to the start of the game. Once a player reaches the goal point total, the game ends. Each time a climber reaches the top, bonus points will be awarded to that climber. For each second played in a game with Victor type primate selection, the primate earns 1 point. If time runs out during a round, then the primate will receive some bonus points for defending himself from the climbers. Round End: A round will end when either the time limit expires or one of the climbers reaches the platform with the primate's loot. A new round will begin shortly afterward. Time Limit: Each round has a configurable time limit. If time runs out, then the primate will receive some bonus points for defending himself from the climbers, and a new round wil begin with a new primate. Game End: Once a player hits the point goal, the game immediately stops, announces the winner with much fanfare, and returns the players to the lobby, where a new game may be begun. Disconnects: If a player disconnects for any reason, the game is over and the players return to the game lobby. Future Improvements to consider: Fireballs Hammers Level editor