/************************************************************\ * * * Splat * * * * by * * * * Quinnsoft, Zack Cornelius, Wraith, J.C. Galt, ZevGun * * * * ©2008 * * * * Last Updated: 05/28/2008 * * * \************************************************************/ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. REQUIREMENTS: Latest version of JRE (Java Runtime Environment) available as a free download from http://java.sun.com/ _-=-_ RUNNING FROM JAR: In order to run from the Jar, you need to have the Java 5 runtime environment (or later) installed for the client or Java 6 for the server. To start the client, run java -jar splatclient.jar [hostname] [port] where hostname and port default to localhost and 7500. To start the server, run java -jar splatserver.jar [-p listenPort] [--dbhost databaseHost] [--dp databasePort] [-u databaseUser] [--password databasePassword] [-d databaseName] where anything inside [] is optional. The default settings are as follows: Listen Port: 7500 Database Host: localhost Database Port: 3306 Database User: splat Database Password is empty Database Name: splat Use the command line arguments as necessary to correctly run the server. BUILDING (Not necessary if running from Jar): Make sure you have the latest version of JDK (Java Development Kit) available as a free download from http://java.sun.com If you are using Windows you will also need to download GNU make. GNU make is available as a free download from http://www.gnu.org/ To compile and run the client, run make runclient HOST=somehost PORT=someport Both the HOST and PORT arguments are optional--the default host is localhost and the default port is 7500. To compile and run the server, run make runserver [ARGS="[-p listenPort] [--dbhost databaseHost] [--dp databasePort] [-u databaseUser] [--password databasePassword] [-d databaseName]"] where anything in [] is optional. _-=-_ GAME OBJECTIVE: To win a game of Splat you must have the biggest connected chain of claimed tiles. To be considered connected a tile must be touching a tile of the same color on one of its four sides. ACCOUNT CREATION: Once Splat is run you will see a small window with two text fields, 'Username' and 'Password'. Enter a desired username and password into the appropriate boxes and click the 'Create Account'. If the username is valid the account will be created and you will be logged in to the server. LOGGING IN: Enter your username and password into the proper field. Click on 'Login'. If the information is correct, you will be logged in. LOBBY: The top of the screen says 'Splat Lobby'. There are two boxes on the right of the screen. The box under 'Games' is the list of games. The box under 'Players' is the list of players. Inside the player box you can see your username. Next to your name will be a number inside parenthesis. The number is your rank. When you win games your rank goes up and when you lose games your rank goes down. The big box on the left is the chat box. Players can send messages to each other using the chat box. Type your message in the text field below the chat box and hit the 'Send' button to send your message to every user in the lobby. GAME CREATION: When in the lobby click on the 'Create' button. A window will appear that lets you pick the game's settings. In the 'Name' field you enter a name for your game. 'Width' is the number of columns the game board will have, default value is 10. 'Height' is the number of rows the game board will have, default value is 10. 'Rounds' is the number of rounds a game lasts, default value is 1. The 'Penalty' checkbox either enables, checked, or disables, unchecked penalties, default is checked. Hitting 'Accept' creates your game, while hitting 'Cancel' takes you back to the lobby. JOINING A GAME: When in the lobby click on a game from the 'Games' list. Then click on the 'Join' button. If the game is not full you will be able to join the game. GAME LOBBY: Being inside a game is much like being in the lobby, but with a few changes. The top box on the right is now for players and the bottom box on the right, underneath 'Rules', is for the game rules. The player box displays the username and rank of every user in the game in the color that they are for the game. For example, if you see your name displayed in blue, when you play the game you will be blue. If you created the game you also have access to a 'Change Rules' button. Clicking the button brings up the same screen as in GAME CREATION, but clicking 'Cancel' takes you back to your game with the settings you had before you clicked the 'Change Rules' button. Hitting 'Accept' changes your game rules. If you did not create the game, the 'Change Rules' button will be grayed out. You will not be able to change the rules. If the game creator leaves the game the next person to have joined will become the leader. That is to say, the user with the longest time in the game room will become the next leader. The 'Ready' button is your status for the game to start. When you click the 'Ready' button it will change to an 'Unready' button. Clicking the 'Unready' button will turn it back into a 'Ready' button. A game will only start when every user has clicked the 'Ready' button. That is to say, a game will only start when every user in the game sees an 'Unready' button. The 'Leave Game' button will let you leave the game and return to the lobby. The chat box works exactly the same as the lobby chat box. PLAYING A ROUND: The round loads the game board with a white grid of the size stated in the game rules. The board pauses three seconds before actually starting the game. Grey tiles will appear. Clicking on a grey tile attempts to claim the tile and turns the tile white to show you clicked it. If your claim on the tile is successful it will turn from white to your color and sends a colored pulse along the grid. Each time a tile is claimed another tile becomes claimable. When the number of squares equal to the smallest dimension, for example in a game the size of 10x7 7 is the number, are left unclaimed the round ends. The game will display the results of the round. If there are more rounds to be played a new one will start. After all rounds have been played players are taken back to the game lobby. _-=-_ COMMANDS: While inside either the game or main lobby you can type the command /stats USERNAME where USERNAME is the username of a player. This displays the statistics of the user. These stats include rank, games played, games won, and many others. /invite USERNAME invites USERNAME to the game you are in. If the player is in the lobby they will receive a message saying they were invited to your game. /join GAMENAME will let you join GAMENAME. /kick USERNAME will kick USERNAME from your game if you are the leader of a game.