DirectPlay8 - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

DirectPlay8

Description:

Dungeon Siege (Gas Powered Games) Giants (Planet Moon Studios) JumpGate (NetDevil) ... Clients do not know of other clients. All sends routed via the server ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 23
Provided by: downloadM
Category:

less

Transcript and Presenter's Notes

Title: DirectPlay8


1
DirectPlay8
  • Kevin Gee
  • Windows Gaming Entertainment
  • Microsoft Corporation

2
Agenda
  • Introduction to DirectPlay
  • Features
  • Services
  • Protocol
  • Whats New in DirectPlay for DirectX 9

3
DirectPlay8 ConfigurationsGaming Topologies
  • Client-Server
  • Dungeon Siege (Gas Powered Games)
  • Giants (Planet Moon Studios)
  • JumpGate (NetDevil)
  • Peer-peer
  • Sacrifice (Shiny Entertainment)
  • MechWarrior4 (Microsoft)
  • GameVoice (Microsoft)

4
DirectPlay8 Client-Server
  • Clients do not know of other clients
  • All sends routed via the server
  • Server must be capable of handling several
    clients
  • Suitable for large games with many players
  • Massively Multiplayer Games

5
DirectPlay8 Peer-Peer
  • Players are connected to all other players
  • Sends may targeted at other players directly
  • Host migration (Managed for you)
  • Suitable for small(er) numbers of players

6
DirectPlay8 API
  • Easy to use and understand
  • Deterministic behavior
  • Logical message order
  • Matched messages
  • Create \ Destroy matching handled automatically
  • Groups
  • Send to Multiple targets more efficiently

7
DirectPlay8 API
  • Powerful
  • Asynchronous operations
  • Overlapped I/O
  • NT I/O Completion Ports
  • Application payloads when connecting and
    enumerating sessions
  • Player context values

8
DirectPlay8 API
  • Flexible
  • Select ports
  • Multiple service providers / adapters / ports
  • Asynchronous or synchronous operations
  • Send parameters
  • Reject connections
  • Ignore enumerations
  • Scalability parameters
  • Push model

9
Push Model
  • Messages are pushed to the application via
    call-back function
  • Thread pool
  • Multithreaded
  • Scalable
  • A pull (polling) model can be implemented if
    required

10
DirectPlay8 Architecture
Application
API Calls
Call-backs
DirectPlay8
API / Core
Transport Protocol
IPX SP
Modem SP
Serial SP
IPv6 SP
IPv4 SP
11
DirectPlay8 Core
  • Implements API
  • Performs callbacks to applications message
    handler function
  • Performs name table management
  • Co-ordinates service provider usage
  • Provides integration with DirectPlay8Voice and
    DirectPlay8Lobby

12
DirectPlay8 CoreHost Migration
  • Host migration for peer-peer sessions
  • Deterministic host election based on connect
    order
  • Guaranteed transactions
  • No session fragmentation

13
DirectPlay8 Protocol
  • Service provider agnostic
  • Guaranteed / non-guaranteed and sequential /
    non-sequential messages
  • Based on UDP when over IP
  • Automatic send throttling
  • Send timeouts
  • Low overhead

14
DirectPlay8 Service Providers
  • Several provided
  • IPv4
  • IPX
  • Modem
  • Serial
  • New
  • IPv6
  • Bluetooth (Pocket PC)

15
DirectPlay8 Reliability
  • DirectPlay8 is a complete rewrite
  • Robust error recovery
  • Edge conditions
  • Deterministic behavior
  • Connecting, disconnecting, host migrating
  • Well Tested

16
DirectPlay8 Scalability
  • Written to scale
  • Multithreaded to support multiple processors
  • Written to be fast
  • No buffer copies in send path
  • No context switches in send or receive path
  • Tested with several thousand clients
  • Optimal and suboptimal conditions

17
Whats New in DirectPlay ?DirectPlay for DirectX
9
  • DirectX 9 keeps the DirectPlay 8 Interfaces
  • NAT/Firewall traversal support
  • Most NATs and firewalls for client-server
  • Windows ME and XP for peer-peer
  • UPNP H/W NATs

18
Whats New in DirectPlay ?
  • Packet Coalescence
  • On Resends
  • Without waiting around
  • Packet Signing
  • Prevents Spoofing (2 versions)
  • Fast Very efficient
  • Full More secure
  • Generally Improved Performance

19
Whats New in DirectPlay ?
  • Exposed Thread Pool Interface
  • You decide how many threads Direct Play will use
  • Allows thread priority modifications
  • Thread start/shutdown notification
  • Create a data pool for each thread to work with
  • OR Even
  • Zero thread DoWork() mode supported

20
Whats New in DirectPlay ?
  • Pocket PC Support
  • No DirectPlay Voice support
  • Bluetooth support
  • IPv6 added to Direct Play 9
  • Determines availability
  • Assists with NAT traversal
  • Falls back to IPv4
  • Direct Play Protocol Tuning Enhancements
  • Tunable Parameters
  • Packet Throttling
  • Automatic send throttling

21
Why use DirectPlay8 ?
  • Great platform for networked games
  • Robust
  • Scalable
  • DirectPlay makes networking easier
  • Service provider agnostic
  • Services like voice and lobby
  • ICS ICF Friendly
  • Handles NAT for you
  • Leverage our work and resources
  • Save time and money !

22
Call to Action!
  • Get on the DirectX 9 Beta
  • Beta 2 Shipped!
  • Use the SDK Tutorials to learn from
  • Look out for the DirectPlayX library
  • Best Practice Whitepaper and lib
  • Client side serialization case study
  • Provide Feedback
  • Future improvements
Write a Comment
User Comments (0)
About PowerShow.com