What's New in DirectPlay
New Features for DirectPlay 8.1
Microsoft® DirectX 8.1® is a major release primarily for DirectX graphics. The improvements for Microsoft DirectPlay® are primarily performance enhancements.
To find out more about the new features in DirectX, see What's New in DirectX 8.1.
New Features for DirectPlay 8.0
The networking component of DirectX has undergone a major revision. DirectPlay introduces a new set of interfaces that enable games to have more direct access to the hardware, providing better performance.
The following list describes some of the new DirectPlay features.
- Objects have been completely rewritten.
- The complexity of creating a networked application has been dramatically simplified by separating the interfaces for creating peer-to-peer and client/server sessions. The objects for creating DirectPlay transport sessions are now:
- DirectPlay8Peer
- Provides methods for creating peer-to-peer sessions.
- DirectPlay8Client
- Provides methods for creating the client-side portion of a client/server application.
- DirectPlay8Server
- Provides methods for creating the server-side portion of a client/server application.
- Lobbying is now independent from the rest of DirectPlay.
- DirectPlay has removed the requirement that a lobby client work only with a DirectPlay application. This will allow for either the lobby service provider or the application to implement DirectPlay without concern for the other. Lobby implementation is now separated into two simplified objects.
- DirectPlay8LobbyClient
- This object is used to manage a lobby client and for enumerating and launching lobby-aware applications.
- DirectPlay8LobbiedApplication
- This object is used to register a lobby launchable application with the system so it can be lobby launched. It also is used to get the connection information from the lobby to enable game launching without querying the user.
- Voice transmission has been added.
- DirectPlay Voice provides a set of objects to add real-time voice communication to an application. The following objects are defined in the Dvoice.h header file.
- DirectPlayVoiceClient8
- Provides methods to create and manage clients in a DirectPlay Voice session.
- DirectPlayVoiceServer8
- Provides methods to host and manage a DirectPlay Voice session.
- DirectPlayVoiceTest8
- Used to test DirectPlay Voice audio configurations.
- Addressing information has moved from GUID-based data to URL-based data format.
- Previous versions of DirectPlay used binary chunks of data with GUID addresses that were difficult to implement and that humans could not read. In DirectX 8.1, DirectPlay introduces the representation of addresses in URL format. DirectPlay provides an object that is used to create and manipulate the new addressing format.
- DirectPlay8Address
- Provides generic addressing methods used to create and manipulate DirectPlay addresses.
- Higher scalability and better memory management have been added.
- Increases in consumer bandwidth have dramatically affected network game design and implementation. Improved DirectPlay thread-pool management makes it easier to for the developer to design scalable, more robust applications that can support massive multiplayer online applications.
- Better support for firewalls and network address translators has been added.
- Writing network games that traverse network address translators (NATs), firewalls, and other Internet connection sharing (ICS) methods can be difficult, particularly for non-guaranteed (UDP) traffic. Because DirectPlay 8.1 has been developed with these issues in mind, it will support NAT solutions where possible. The DirectPlay 8 TCP/IP service provider uses a single, developer-selectable UDP port for game data, making it possible to configure firewalls and NATs appropriately. Additionally, DirectPlay makes use of UDP so that, for client/server games, clients behind some NATs will be able to connect to games without additional configuration.
- Test your application under a variety of network conditions with DP8Sim
- You can now use a network simulator tool, DP8Sim, to help you predict how your application will perform under network conditions such as high latency or packet loss. DP8Sim is a simulated TCP/IP service provider applied on top of your existing network characteristics. A simple user interface (UI) allows you to easily change the simulated network settings and monitor your application's performance.