360 likes | 473 Views
The Watson Game. Client Group November 30, 2004. Client Integration and Testing. Richard Pantoliano, Jr. Client Integration. Previous class created a good standalone demo Problem: the game was meant to be played on a network Client side portion network interface mostly complete
E N D
The Watson Game Client Group November 30, 2004
Client Integration and Testing Richard Pantoliano, Jr.
Client Integration • Previous class created a good standalone demo • Problem: the game was meant to be played on a network • Client side portion network interface mostly complete • Coordinate communication between members of group with Server group
Client Testing • Big part of integration effort • Communication portion largely untested • Many issues for client, alone • Most generated by simplicity of implementation • Bug triage and assignment
Protocol Handling & Overall Client Design Timothy Haller
Testing the Protocol Handler • Protocol handling already largely implemented • Relatively untested • Collaborate with Server side of protocol handling • Develop test cases to verify functionality of client-server communication
Implement New Protocol Handling • Add and modify functions to handle door status checks • Add and modify functions to handle game statistics request • New functions to be added to the Ccommand and MessageHandler classes • Overload old functions in the MessageBuilder class
Overall Client Design • Ensure that new additions maintain the basic structure and logic of the client • New additions include door opening, game statistics, character modeling, etc. • New additions and modifications must be practical in a holistic sense, taking the entire client system into account
3D Character Display Matt Chedister
What is it? • Ability for a user to see all other logged in users walking around the Watson Game
New Functionality • Server must provide all users with 3D coordinates of all other users • Best way is through a structure that holds the number of users, followed by each user’s 3D coordinates • Client must take 3D coordinates, make an image with them
Programming • The engine architecture by Bedros Magardichian http://www.cs.binghamton.edu/~steflik/cs495b/Spring2004/Assgn_2/Papers/
Programming (2) • Function entitled ‘RunScene’ in CWatsonGamePlay.cpp • In charge of getting the camera position and velocity • Rendering the new frame • Server listening should be placed in this function • Once coordinates are received, attach an image to them
Programming(3) • A cube or some other 3D image that is textured should then be applied • Make new Class, called CCharacter, on par with CTerrain • A refresh rate of one Hz will have to do until the communication between the server and client is more developed • Threads
Practicality • Eventually, fully animated 3D people should be seen walking around • Today’s video games • By the end of next week, the following is my goal
Practicality(2) http://www.cs.binghamton.edu/~steflik/cs495b/WatsonGame_S04/May6/home.html
Opening & Closing of Office Doors Christina Ku
Old Door Models • The current model is made up of parts • One part is for all of the doors • The old door model has to be removed
New Door Models • Make a new door model that is just one door • Place a model where there is a door
openDoor & closeDoor • To open a door – openDoor() • To close a door – closeDoor() • openGL will be used to render the animation of the opening or closing door. • In a loop, translate, rotate, and render door model until at desired position • A problem will be finding a way to position each door model that won’t be too tedious.
Knapsack Support & Door Knock Logic Hasani Hampden
Knapsack Support • Help design the knapsack so it sorts everything correctly. • Make sure everything appears in the knapsack
Knapsack Support (Cont’d) • Create Hotspot in an area where an item can be allocated • Once you hit the hotspot an action will occur • After every action the knapsack will be sorted by importance (ie DARS, Books, Pen/Pencil) • Make sure the items actually appear in knapsack
Player Creation Support By James McClure
Goals • Allow for students of Electrical Engineering (EE) and Mechanical Engineering (ME) to play the Watson Game • The client must • Allow user to select major when creating player • Notify the server of the choice • Load saved player
Changes Required • “Person” object shall contain an attribute to represent their major • Character creation screen shall contain a new text field for “major” in which “CS,” “EE,” or “ME” may be typed. • Error checking • Need to modify client messages 3 and 4 to include
Door Knock Logic By James McClure & Hasani Hampden
Goals • When a player goes to a teacher’s door and tries to open it, the door may or may not open • The client must: • Each closed door that can be opened shall contain a hotspot in front of it • If the player walks into this hotspot • Send a “knock” message to the server, receive the reply • If the server allows it, the door opens for all clients • Otherwise, the requesting client sees a message of why the door would not open
Changes Required • New message type: KNOCK (cmd # 9?) • Doors need a unique ID • Stepping in door hotspot sends KNOCK • If a negative reply is received, display a message from the professor why the door was not opened • At any time, a client may be notified that a door is opening, whether or not they knocked
Preview • Have different responses from teachers (ie. Having lunch, not office hours, etc..)
Game status Info Display Info on Active Players in the Game Keith McCullum
Current Specs for Active Player Info and Game Stats Options • Nothing currently built into game • Would require in-game menu support • For Active Player search, allow user to see location of other active players while walking through the Watson building • For Game Stats, let user see total playing time, session time and percentage completed
Necessary Additions to Source • Messages designed to send and receive player position and playing time data • Get message ID from wagMSGBuilder • Communicate with server to communicate current data • Require data from both server and database
Necessary Additions to Source • Menu functionality • In-game, create hotkey or button on HUD to toggle display of both active player info and game stats • Info sought for active player includes: • Position • Health • Game Completion %
To Be Continued… Next Semester!