Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 495b Client Group n User Interface – Jesse Jenifer n Graphics Handling – Matt Yourst n Protocol Handling – Brian Boyd n Client Design – Seth Levenberg.

Similar presentations


Presentation on theme: "CS 495b Client Group n User Interface – Jesse Jenifer n Graphics Handling – Matt Yourst n Protocol Handling – Brian Boyd n Client Design – Seth Levenberg."— Presentation transcript:

1 CS 495b Client Group n User Interface – Jesse Jenifer n Graphics Handling – Matt Yourst n Protocol Handling – Brian Boyd n Client Design – Seth Levenberg n In Depth Design – Lee Duvall n Soundtrack and Audio – Daniel Baxter

2 User Interface Jesse Jenifer

3 User Interface

4 Watson Walkthrough Imaging Model presented by Matt T. Yourst

5 Each location on map has: (x, y) coordinate matching one in database List of possible directions relative to viewer Link to destination location for each direction; forms a graph structure of discrete positions.

6

7 Imaging Model 180-degree panoramic photographs presented as player's viewpoint. Hotspots on view are clicked to select movement direction. For each location, both front facing (180- degree view) and back facing (e.g., down hallway) images for consistency. Sprite model (alpha blended photo overlays) used to present characters in scene.

8 User Interface Preview Item #1 Item #2 Item #3 Item #4 Item #5 Item #6 Items

9 Additional Image Details Image Retrieval: Images stored as progressive JPEG files Retrieved from web server via HTTP After move, client notifies server of new coordinates and retrieves relevant data

10 Protocol Handling Presented by BG Boyd

11 Possible Commands n Commands –Commands have parameters n Move x y n Pick “Pencil” n Say “Lets make a text game!” n Attack “Steflik” –Amount of parameters will be variable. n Some commands will only need 1, some will need more 1Say 2Move 3Pick 4Use 5Attack 6Buy

12 Sending commands n Communicate with server via simple Java TCP Socket class. n We will send commands to the server via a message string –Message = ”@COMMAND“ + @p1 + @p2 + … –There will be no spaces –@ is the token n Just as a space is in a StringTokenizer –Examples n @Say@Do you have a mint?@... –Since @ is the tokenizer not “ “, the whole phrase will stay in tact n “@Move@3@4” –Means: Player requests to move to room 3,4 in the Grid

13 Message String Broken Down

14 Receiving commands n You may have noticed there is no player identifier in the command string. –a.k.a. PID (Player ID) –The server will keep track of the PIDs for all players. –It will know who is sending the message, so there is no reason for us to re-identify ourselves

15 Receiving commands n After the server gets our command, it will act accordingly and send us the required information back in another string that the client will have to parse. n If the move command was sent, the reply will contain the people, and items in the room (and of course the new coordinates).

16 Client Design Seth Levenberg

17 Client Design n Log in n Choose character –Male or female Watson student n GUI –Controls –Movement –Inventory

18 Client Design n Beginning a game –Start as a freshman –Gain experience n Talking to professors n Getting grades for classes –Have schedule n One class at a time

19 Client Design n Scenarios –Professor’s office n Talk to professor about grades –Support Staff n Gain experience by talking to support staff –TA’s n Talk to TA’s for experience –Hallways n Basic movement through buildings –Actions n Take test n Work on project n Etc.

20 Client Design n Objects –Objects will appear at random in rooms –Pick up object to put in knapsack (inventory) –Choice of using objects in different scenarios n Map –Map will become clearer as more experience is gained –Display current location

21 Client Design n Goals –Finish every semester’s class with a decent grade to move on to the next semester –Finish all 4 years for a CS degree –Better grades for better score, if scoring system is implemented n Room for improvement –Student interaction scenarios –More buildings –More classes and objects at once

22 In Depth Design Lee Duvall Movement Data passing

23 One Step at a time n Movement –How to display proper image with only sending x,y n Message Passing –Simplest means to send all needed info

24 Movement n Client must hold images. – Saves on bandwidth n Server needs to know following –Building –Floor –X, Y

25 Directory structure n 1 X Images/items/ n N X Images/Buildings/BuildingName/ –Can create future buildings –Building name is only passed when character logs in or changes buildings.

26 File names n Items: itemname.jpg –Wanted to number them, but to save time stick with passing item name for reference. n Rooms: FDXY.jpg –F = Floor. This is passed only when changing floors and creating/logging a character. –D = Direction. This is used only by client. –X, Y = (x,y) This is room grid. This is passed whenever player moves.

27 Message passing n Rough design for this established with meeting with DB group. n Basis for message passing comes from my internship at Infimed. n Simplifies the data passed from server to client lowering the amount of bandwidth utilized. Originally suggested commands be numerically based, but groups prefer to program with full text names.

28 Structure of message n Message structure appears as the following: –“@move@x@Y” n Server parses this string and runs the move command. –This would put the new X,Y in the database and return the string with the new room info –“@newroom@etc”

29 Needed work n Message list is small now. n Until character creation and login are finished the command list should stay small. n Server and Client need to discuss potential commands and what data needs passing.

30 Soundtrack and Audio Processing Daniel Baxter

31 Overview n Format n Style n How

32 Client or Server? n Part of the client n Removes unnecessary transfer of data n Perhaps if this was a commercial program would be a more desirable option –New music every month or so with upkeep

33 Format n MIDI n using javax.sound.midi n Why midi? –Java’s got that nifty built in stuff –Doesn’t take up much space –Totally easy – then I just have to use a keyboard

34 Style n Musical style –I’m gonna be all over the place n Implementation style –Intro (main theme) –Normal background music –Action background music

35 How is this goin down? n Easy – events are sent from the client to a Soundtrack object –Types of events are the 3 implementation styles n Soundtrack object selects appropriate midi and plays it – BAM, music

36 Diagram Client Instance of Soundtrack Object

37 Diagram Client Instance of Soundtrack Object Dude, I need some music

38 Diagram Client Instance of Soundtrack Object OK, I’m on it, boss

39 Diagram Client Instance of Soundtrack Object


Download ppt "CS 495b Client Group n User Interface – Jesse Jenifer n Graphics Handling – Matt Yourst n Protocol Handling – Brian Boyd n Client Design – Seth Levenberg."

Similar presentations


Ads by Google