Sunlab RPG Pawel Wrotek 1. Overview A multiplayer role-playing game (RPG) designed for the Sunlab (because everyone obviously needs more things to distract them from their work). Each student can create his/her own character, then log in to the game server to play together with the other people in the Sunlab. The game is set in a fantasy setting where players can fight, trade, and otherwise interact with other players and computer-controlled characters. Players explore the game world and can work together to build structures and form settlements. These settlements have to be defended from groups of computer-controlled characters, as well as other players. 2. Features 1. Client Application Basic 1. Graphics - Main game window: view of the player in the game world (2D or 3D) - Chat window: for communicating with other players - Character inventory/statistics window(s) - Appropriate windows for interactions such as trading, building, etc. 2. Controls - Moving the character around the world - Interacting with other players and computer-controlled characters (talking, fighting, trading) - Interacting with the world (picking up/dropping items, building structures) Optional 1. Sound 2. Server Application Basic 1. Clients connect to server to play - Stores character information - Ability to support 20+ clients at a time 2. Maintains game world information 3. Controls the creatures and non-player-controlled characters in the world 4. Security - Prevent unauthorized people from altering game or character data Optional 1. Advanced AI for creatures - Creatures build their own settlements - Creature groups work in organized ways with/against the players or each other 2. Control over players' characters while players logged out 3. Notification system warning logged out players of game events (for example, if their settlement is attacked) 4. "Don't fail your classes" system - When a player tries to log in to the game, check whether they have any imminent deadlines for which they have not handed in yet. If yes, don't let them log in until they hand in their work. 3. Character Creation Application Basic 1. When player first logs in, uses this to create a character. 2. Newly made character is stored by the server. 3. Explanation of rules for how characters are created. 4. Ability to customize a character's statistics and appearance. 4. Editor Basic 1. Tool for creating the game world - Locations, items, and creatures can either be added to the world, or those that are already in the game can be modified or removed. 2. Security - Only authorized people should be allowed to alter the game world Optional 1. Notification system to let players know about any changes that have been made 3. Feasability The technical aspects of this project are feasible. Most of the basic requirements can probably be accomplished, along with some of the optional ones. The problem with this project is the fact that making a game work and making a game fun are two entirely different things, and making this fun might require more time and resources than we have in the class. The actual rules that govern how players interact with each other and the world have to be determined and balanced to make the game fun. Also, content for the game world has to be created so that there's something to play with. Making that content would require an artist (and or modeler if we wanted 3D graphics). A good aspect of this project is that it should be easy to divide it into a number of distinct chunks. 4. Users Anyone with a Brown CS account. 5. Testing The server must be able to handle a good number of clients at a time (at least 20). The game mechanics and rules must be tested to make sure that the game (not the software, but the actual play experience) is not broken. 6. Hardware Must run on the machines in the Sunlab (preferably also through remote login). Requires a dedicated server to be running the game at all times.