Client Group - PowerPoint PPT Presentation

About This Presentation
Title:

Client Group

Description:

Will allow door to open or remain closed. Knapsack. Works well ... Avg. playtime of all players in game. etc. Client Integration. Jessie Yu. Code Repository ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 63
Provided by: Xi9
Category:
Tags: client | group | playtime

less

Transcript and Presenter's Notes

Title: Client Group


1
Client Group
  • Jessie Yu
  • Nicole Mendolera
  • Lee Seversky
  • Dave Alazraki
  • Min Kang
  • James Luk
  • Syed Mohammed
  • Adam Sail
  • Woo Lee

2
Overall Client Design
  • Nicole Mendolera

3
Improvements to the Client Design
  • 3D Character Display
  • Opening and Closing of Office Doors
  • Door Knock Logic Knapsack Support
  • Player Creation
  • Game Status Info
  • Challenge Triggers
  • Game Statistics
  • Integration

4
Player Avatar / 3D Engine
  • Keeping track of other players
  • Avatar movement
  • Consistent character speed

5
Opening and Closing Office Doors
  • Doors are included in current game
  • Do not open or close
  • Update scenery behind doors

6
Door Knock Logic / Knapsack
  • Knock on door
  • Will allow door to open or remain closed
  • Knapsack
  • Works well just updating it

7
Player Creation Support
  • Changes to way player is created
  • Includes GPA, Major, etc.

8
Game Status Info
  • Game Status is shown for active players
  • Names
  • Locations
  • Session times

9
Challenge Triggers
  • Currently only 3 hotspots
  • Boring and restricted
  • Adding new and more exciting challenges

10
Game Statistics Button
  • Game Statistics will be shown
  • Includes
  • Total Playing Time
  • Session Time
  • Other active player totals

11
Integration
  • CVS
  • Uniform Code
  • Comments

12
Player Avatars / 3D Engine
  • Lee Seversky

13
Overview
  • Player avatar support
  • Current 3D engine discussion
  • Final goals

14
Player Avatar Support
  • Adding avatars gives positive feedback of other
    players in the game to the user
  • Avatars provides new ways for player interaction
  • Increases game play options
  • Requires changes to the current 3D engine
    structure.

15
Avatars
  • What is an avatar?
  • An avatar is a 3D model representing a player
  • Avatars can have other attributes such as color
    and text that help identify different players.
  • Internally
  • An avatar is an object that knows how to render
    itself and its attributes in the 3D world
  • Each player in the current sector has an avatar
    rendered to the screen.

16
Avatar Manager
  • The avatar manager is responsible for handling
    all avatar movement
  • Responsible for updating current player location
    to the server and asking server for a list of
    player locations
  • Contains all players in current sector that need
    to be rendered
  • Reduces server communication by projecting player
    locations based on their view vector

17
Changes / Additions
  • Game Logic
  • Expand player attributes
  • Add current view vector (x,y,z) for orientation
  • Add player avatar id (int) for selected avatar
    model
  • Add current velocity (x,y,z) for player location
    projection
  • Add player sector (int) for sector within game
  • Change location vector from int to float
  • Add avatar manager in runScene logic loop

18
Changes / Additions
  • Client / Server
  • Add two client messages
  • Sends UpdateSelf messages
  • player-gtlocation
  • player-gtview vector
  • player-gtvelocity
  • player-gtsector
  • Sends GetPlayers message
  • player-gtsector
  • Receives List of players
  • player-gtlocation, player-gtview, player-gtvelocity,
    player-gtsector

19
Current 3D Engine Limitations
  • Player movement inconsistent, speeds up / slows
    down. Camera movement based on velocity and
    acceleration
  • Collision detection fails occasionally. Player
    collision handling logic at fault, not mesh
  • Memory Leaks
  • No frustum culling! No Voxel/Octree of world.
    Increase speeds dramatically
  • Poor model geometry rendering support

20
Final Goals
  • Implement an avatar system that can smoothly
    display player avatars within the 3D world
  • Minimize server communication
  • Minimize client rendering overall load
  • Maximize fluid movement
  • Assist with door animation
  • Assist with replacing current hot spot markers
  • Improvement overall engine structure and
    robustness

21
Opening and Closing Doors
  • David Alazraki

22
Current Doors in the Game
  • Doors are already a separate part of the terrain
    from the walls
  • They are all shown together in the Cterrain class
  • Not meant to move
  • What needs to be done
  • Terrain needs to be added behind these doors
  • Doors need to created for the faculty offices
    since there arent any in the current game

23
Modeling Doors
  • Doors For stairs, elevator, bathroom are already
    in the game
  • An office door needs to be added for all of the
    faculty offices
  • The doors will have an both an open and closed
    mode, so we need to model all sides of the door

24
The CDoor Class
  • A child of the Cmodel class
  • Represents a single door in the Watson building
  • Each door on the 3rd floor of the Watson building
    will have an object of type CDoor to represent it

25
The CDoor Class - Data
  • Has all of the data necessary to know where the
    door is
  • Location (x,y,z) of front bottom corner of the
    side where the hinge is
  • Size
  • Height
  • Width
  • thickness
  • Orientation
  • Open or Closed

26
The CDoor Class - Functions
  • bool OpenDoor()
  • Opens the door in the players view, and changes
    the collision model so that the player can walk
    through the door
  • Returns true if successful
  • bool CloseDoor()
  • Closes the door in the players view, and changes
    the collision model so that the player cannot
    walk through the door
  • Returns true if successful
  • bool IsOpen()
  • Returns true if the door is open

27
Door Knock Logic Knapsack Support
  • Min Sung Kang

28
Knapsack Support
  • What is the Knapsack?
  • A virtual bag that holds everything the player
    obtains or needs in order to complete the Watson
    Adventure Game.
  • ex) ID, Pencil, Pen The Dars Report, etc.
  • Current conditions.
  • Works well and no further systematical
    development is necessary.

29
Things to be done
  • Better representation of the Knapsack.
  • Icons will be replaced.
  • ex) old ID card image to new ID card image.
  • Support any added items in the Knapsack.
  • Create icons for the added items.
  • Make sure the items are added and the icons are
    shown in the Knapsack.

30
Door Knock Logic
  • A new feature for the players from the client
    group to provide an opportunity to knock on the
    door to further explore the Watson Adventure
    Game.

31
The way it works
  • When the player approaches the door, a message
    will be displayed.
  • If the player does press the space bar, the
    knocking sound will be generated.

Press space bar to knock on the door.
32
What will happen?
  • By knocking on the door, one of the following
    will occur.
  • Door remains closed and a message will be
    displayed.
  • Come back later! (the professor is busy).
  • No one hears you! (no one is in the office).
  • No permission! (wrong door for the major).
  • Door opens.

33
How will it happen?
  • New hotspots will be defined for each door.
  • Player, by colliding with the door hotspots, will
    given the opportunity to knock on the doors.

34
Door Knock Logic Player Creation
  • James Luk

35
Defining Door Hotspots
  • Two hotspots for each door
  • In the hallway.
  • In the room.
  • Hotspots will be defined on the client side.

36
Knocking Function
  • Invoked when on door hotspot and on a Spacebar
    key press event
  • Knocking sound will be played.

37
Knocking Function cont.
  • Knocking function checks a players major against
    the major allowed for a particular room.
  • Door opens
  • CDoor Class OpenDoor function is called.
  • Door remains closed
  • Invoking the knocking function within a room
    simply opens the door.

38
Player Creation
  • Utilizes Person class
  • New data fields in Person class
  • Orientation
  • Avatar
  • Major
  • Intelligence attribute will be removed.

39
Person Class
  • Contains
  • Playername
  • Password
  • Location(x,y,z coordinates and orientation)
  • Avatar
  • Major
  • Knapsack
  • Number of challenges completed
  • GPA

40
Player Creation and Login
  • When creating a character, the data will be sent
    to the server.
  • Server will return a success or error code.
  • Login
  • Username and password will be sent to server
  • Login success
  • Player data is sent to the client.
  • Login failure

41
Player creation and Login
  • All communication will be handled through the
    protocol handler

42
Game status Info Display (Active Players)
  • Syed Mohammed

43
(No Transcript)
44
Module Description
  • Event Handling Module
  • Input- Fired By the Tab Key
  • Process- Action Listener for the Tab Key
  • Output- Notifies the coordination Module
  • Coordination Module
  • Input- Notification from the event handling
    module
  • Process- Queries the database for the list of
    active players
  • Output- Gives the list of active players to the
    display module
  • Database Module
  • Returns a list of active players in response to
    the query form the coordination module
  • Display Module
  • Input- Gets the list of active players from the
    coordination module
  • Process- Arranges the data in a desired fashion
  • Output- Displays the information on the screen.

45
Information Displayed
  • Name
  • GPA
  • Avatar ID
  • Location

46
Client Generated Challenge Triggers
  • Adam Sail

47
Outline
  • Current Situation
  • Goals
  • Examples
  • Implementation
  • Dependencies

48
Current Situation
  • Hard coded challenges
  • Pencil, Paper, Professor Head
  • Limitation on number of hotspots
  • InteractionManagerInit
  • 3 hotspots per/map
  • Hard coded display challenge code
  • CWatsonGamePlayDisplayChallenge()
  • Professor Heads challenge only

49
Goals
  • Fix the code to handle challenges
  • Make the client query the server for challenges
  • Add more hotspots to generate challenges
  • Walls, Floor, Objects
  • Add a level of randomization to increase replay
    value

50
Examples
Zelda
  • Walking into walls presents Link with an obstacle
  • Walking into view of enemies presents danger

51
Examples continued
  • Add HotSpots to walls and other locations
  • Random set of challenges to increase replay value

52
Implementation
  • Load a set of possible player challenge hotspots
    into a data structure by messaging the server
  • Some Academic and some Reslife
  • When a player collides with an Academic or
    Reslife HotSpot, do a random selection on the set
    of loaded challenges

53
Dependencies
  • Scoring System
  • Server must be able to receive and answer
    requests for hotspots
  • Database must differentiate between Academic and
    Reslife hotspots

54
Game Statistics Button
  • WooJin Lee

55
Statistics as a new function
  • Currently there are no game statistics present in
    the game
  • Game statistics will be helpful in giving players
    relevant information to track their progress
    against other players.
  • Called up via the F1 button, will go away once
    the button is no longer pressed

56
Game Statistics Workings
57
Statistics Shown
  • Information that will be relevant and useful to
    the player
  • of challenges passed
  • Avg. GPA of all players in game
  • Most popular major
  • Avg. playtime of all players in game
  • etc

58
Client Integration
  • Jessie Yu

59
Code Repository
  • CVS
  • Source code management software
  • Access to the latest code
  • Avoid conflicts
  • Organize the modify history

60
During Coding Phase
  • Make sure the source compiles
  • If not, find out the problem
  • Run the game during the meetings to discuss about
    any existing problems

61
During Integration Phase
  • Minimize redundancy
  • All functions are well-commented
  • Consistent commenting style

62
Test Plan
  • Test for requirements
  • Incorrect or missing functions
  • Interface errors
  • Performance errors
  • Test as a regular player
  • Third-party testing
Write a Comment
User Comments (0)
About PowerShow.com