6162009 - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

6162009

Description:

The pigfistEngine is a multi-player game Engine. ... 6/2/09. 17. Related Topics. Security against cheats. Multiple-servers/Multiple clients ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 18
Provided by: ccGa
Category:
Tags: cheats | game

less

Transcript and Presenter's Notes

Title: 6162009


1
pigfistEngine a distributed game Engine
  • This presentation will probably involve audience
    discussion, which will create action items. Use
    PowerPoint to keep track of these action items
    during your presentation
  • In Slide Show, click on the right mouse button
  • Select Meeting Minder
  • Select the Action Items tab
  • Type in action items as they come up
  • Click OK to dismiss this box
  • This will automatically create an Action Item
    slide at the end of your presentation with your
    points entered.
  • Steven Moy

2
Introduction
  • The pigfistEngine is a multi-player game Engine.
  • The pigfistEngine takes a distributed approach to
    take advantage of high-end systems.
  • The pigfistEngine uses an adaptive strategy to
    make do with scarce resources.

3
pigfistEngine Features
  • Single-server, multiple-client topology
    (communications using UDP protocol)
  • Runs on Windows PCs. (tested on 95, 98, NT, 2000)
  • Keyboard mouse input.
  • 32-bit, 3D Graphics rendered using OpenGL API
    graphics hardware.
  • Rudimentary audio output.
  • Automated Terrain Generation
  • Visual C, using MFC

4
Components Diagram
  • Each of these modules operates in a separate
    thread.

5
Component Interfaces
  • The Network Module acts to enable communications
    between clients and the server.
  • Each Network Module shares input and output
    queues with its local Physics Module.
  • The Physics Module and Graphics Engine operate on
    shared data and work queues.

6
Issues with Windows Threads
  • Win9x NT 23 priority levels
  • Win2000 32 priority levels
  • Priority level is based on the process priority
    class and the threads priority level relative to
    that class.

7
Issues with Distributed Gaming
  • Network communications add latency from the time
    that the user manipulates the world to the time
    the user gets feedback.
  • The server has the final say in changes to game
    state.

8
Quality of Service Adaptations (1)
  • The change in time between iterations is taken as
    a parameter in Physics Simulation calculations.
  • In each iteration, calculate the new position and
    new velocity
  • ?P V ?t
  • ?V A ?t

9
(No Transcript)
10
Quality of Service Adaptations (2)
  • The client application extrapolates player and
    particle motion between network updates to hide
    inconsistent network communications performance.
  • Changes in orientation are handled immediately by
    the client. Changes in position must be
    confirmed by the server.

11
Quality of Service Adaptations (3)
  • The Graphics Engine dynamically selects different
    levels of detail for rendering terrain.
    Currently, two levels of detail are supported.
  • The Graphics Engine may choose different cutoff
    distances to limit the amount of terrain drawn
    each frame, and selects different levels of
    detail based on the distance from the viewer.

12
Performance using LoD
  • High Detail 180,000 polygons
  • Low Detail 45,000 polygons
  • The Graphics Engine uses a combination of these
    sets of polygons to render the scene. The
    mixture of polygons is determined by the frame
    rate.

13
(No Transcript)
14
pigfistEngine Performance (1)
  • () Separating the application into threaded
    modules allows separation of CPU-bound tasks from
    I/O-bound tasks.
  • Graphical rendering may be limited by the
    capabilities of the video card and the refresh
    rate of the monitor (typically around 60-85 Hz).

15
pigfistEngine Performance (2)
  • (-) The pigfistEngine is a memory hog.
  • The Physics Simulation and the Graphics Engine
    operate on separate copies of the world.

16
Summary
  • The pigfistEngine scales to allow for many users
    at one time.
  • The pigfistEngine is adaptive to provide
    acceptable performance under less than ideal
    conditions.

17
Related Topics
  • Security against cheats
  • Multiple-servers/Multiple clients
Write a Comment
User Comments (0)
About PowerShow.com