460 likes | 753 Vues
Graphics and Client Design . Overall Game Design Doug Camin. The Watson Game. Opens to splash screen User enters loginpass and either creates player or accesses existing. Game Play. Win by achieving a 4.0 GPA Earn GPA by completing challenges
E N D
Graphics and Client Design Overall Game Design Doug Camin
The Watson Game • Opens to splash screen • User enters login\pass and either creates player or accesses existing
Game Play • Win by achieving a 4.0 GPA • Earn GPA by completing challenges • Advance through classes by completing set number of challenges
Game Display • Top portion of screen shows building and can be navigated with mouse or keyboard • Lower portion is view port, shows necessary game information: • Knapsack • Map • GPA • Elapsed challenge time
Challenges • Challenges are linear – only one at a time • Game has six predefined challenges • All are stored on server, can be changed • Challenge grade based on two main factors: • Time to completion (elapsed time) • Pre-defined attributes for character
Challenges Continued • To complete a challenge, user must: • Have all items to complete challenge in knapsack • Select all items required and click “Complete Challenge” button • If challenge is not completed in time allotted, .25 subtracted from GPA
Items • The game has eight items for use: • Pencil • Paper • Computer • Soda • Candy Bar • Money • Books • Printer (or printed pages)
Winning The Game • Each player wins when they achieve a 4.0 GPA
Challenge Class • In client, this class will load and store all challenge information from the server • Information loaded at start time • Provides interface to locally access current game challenges
The Knapsack Presented by Samantha Weitzman
Item Class Objects • int Item_ID • string item_Type • Contain methods to retrieve the ID and Type
computer printer soda candy bar money book Predefined Item Types
Knapsack Class • Contains a vector of Items • Methods to add, remove, & use Items • insert_Item(string item_name) • insert_Item(int item_id) • remove_Item(string item_name) • remove_Item(int item_id) • Item use_Item(string item_name) • Item use_Item(int item_id)
Knapsack Interaction • When a player ‘uses’ the group of items for a challenge, they are ‘removed’ from the knapsack and placed back into the game play
Player Creation Presented by Dominic Tsang
Client Side Implementation • Class named PersonClass • We are client group so this is strictly our implementation but it will be pretty important to others as well • Relevant for: • Group 1: • Challenge Information • Group 3: • Character Creation • Challenge Dispatching
PersonClass Object • PersonClass • Holds private variables such as GPA, attributes • KnapSackClass • Exists within PersonClass
Person Attributes • Decided through group development • Attributes can only be raised through initial distribution or through task completions • So far we have decided: • Stamina – how well a character deals with the unremitting cascade of work a CS major is expected to face • Humor – see poor attempt above • Health – undecided on its affects on game play • Intelligence -undecided • 1 more planned! Input welcome!
Flow Diagram Main Client Program PersonClass Other Client Side Classes KnapSack
PersonClass Also Contains Information On… • Position of player • Completed task count • Character name • Current challenge attempting • …more to come • Student standing? • Fatigue?
Additional comments… • Logically this class will act as the file to be “saved” • Will have no direct connection to anything but knapsack and main client program – all server and db communication handled through protocol handler
Graphics and Client Design User Interface Mo, JianYi
Class HotSpot • predefined • Representation • Rectangle • Where? • Hallway and offices
Class HotSpot • Types • Item (1) • Challenge (2) • Player can acquire the item • Player must accept the challenge
Class InteractionManager • manipulates the interaction between the player and the challenge
Interaction Manager HotSpot Challenge Person InteractionManager
InteractionManager • Challenge • Linear (one at a time) • Caused by collision with hot spots • Manager class will start timer on the challenge • GPA increases if the play completed the Challenges on time
InteractionManager • If the play completed the challenge, the manager will update the attributes of the player and the items in the knapsack
Protocol HandlerError Handler Luis Miranda
Protocol Interface Message Handler Message Types Socket Protocol Handler Overview
Protocol Interface • The main class used by the client program to communicate with server. • Note the order of communication.
Protocol Interface Methods • Connect to Server • Login User • Load User , Save User, Create New User • Get Current Player List • Update Game State • Get Knapsack Info • Get Challenge Info • Get Item Info • Disconnect
Message Handler • Packets will be sent to the server through this class. The type of packet to send is determined by the Protocol Interface. • Contains a queue of messages being sent to the server. Server may be busy. • Messages will not contain a priority, all packets are of equal importance. • Incoming data from the server will be sent to the appropriate client object. • Example: Information about Person will be sent directly to Person Object.
Message Types • Contains the structure of the different packets to be sent to the server. • A save packet will have different information than a load items packet. • These types must be recognized by the server. This is done be having a standardized ID for each packet type.
Socket • Contains all protocol logic such as send and receive packet. • Also used to connect to a server listening on specific port and IP. • Provided by Todd Barron.
Graphics Handling and GUI Bedros Magardichian
GUI and Game Scenes • Menu Scene- Log in screen and select gaming options • GamePlay Scene- Display 3D world and stats viewport • Knapsack Scene- Display contents of knapsack • Challenge Scene- Display Challenge Screen
Game Scene Inheritance CWatsonGame CWatsonGameMenu Displays Menu CWatsonGamePlay 3D game play and Viewport CWatsonGameKnapsack Display visual knapsack contents
Rendering • 3D OpenGL • Navigate through 3D model of Watson Building • Final model will include textures to represent Watson building
Navigation • First person video game walking- look with mouse- walk with keyboard • Collision Detection from generated mesh • Issues – passage ways must accommodate diameter of collision sphere of person
Error Handler • Accessible by all classes of the client program. • User may post error messages to the Error Handler object. • Can force a save game state, to help prevent corruption of data. • Writes error message to log file • Displays error message on screen • Can send error message to the server