User Tools

Site Tools


en:game_tech:directx

DirectX

Overview

DirectX is a API focused on easing game development under Windows operating systems, developed by Microsoft. It is used to facilitate the various requirements for modern computer games. It is divided into many parts, such as:

  • Direct2D: 2D graphics, successor of DirectDraw
  • Direct3D: Real-time 3D rendering
  • DirectDraw: (Deprecated) 2D rendering, succeeded by Direct2D.
  • DirectMusic: Soundtrack generation/play
  • DirectPlay: Network communication, may have to be installed separately on Windows 10 (by default it is not)
  • DirectSound: Multi stream audio interface
  • DirectWrite: Text rendering

Versions and Compatibility

It comes in different versions, which games can require specifically. Many games already bring their own DirectX installer with them, especially older games for Windows versions, that did not have the desired DirectX version shipped along with them. On modern Windows systems DirectX is already installed and gets its updates from the Windows update system (at least the non-deprecated parts). Here's a list of the latest compatible DirectX versions for the different Windows versions:

Windows Version Max. DirectX Version
95 8.0a
98 9.0c
ME 9.0c
2000 9.0c
XP 9.0c
Vista 11.0
7 11.1
8 11.2
8.1 11.2
10 12
11 12

DirectPlay

Under Windows 10, by default, DirectPlay is not installed. Older network games may require it. So during the first attempt to join or create a match, you might get asked, whether or not you want to install it.

You have to, if you want to play the game via network. In order to ensure a (pure) DirectPlay game is reachable from the internet, you might have to forward the following ports in your NAT:

  • TCP 47624,
  • UDP 47624,
  • TCP 2300-2400 and
  • UDP 2300-2400.

In practice, many games require not the full range of DirectPlay to be forwarded. Some games require additional ports to be forwarded.

In general, a client looks for open games on the local network by sending a Broadcast to Port UDP 47624 and servers answer. The answer contains more details of the server, e.g. address and port. This is usually port 2300. The actual game is usually facilitated via UDP 2350. There are however considerable variations possible, on how the connections are made.

Direct3D

Games using DirectX 7 or older, are affected by a problem, that only occurs, if the game tries to exceed 2048 pixels in x- or y-direction. Once the game tries to set that resolution (might happen right away, when the menu is rendered in that resolution, or only later, when the actual game is rendered) it crashes. Without any further means, this cannot be prevented, except by setting a lower resolution. There is however, the Legacy Direct3D Resolution Hack project out there, which solves that problem. With this software, these games can be played to the full resolution your hardware allows to be used.

See Also

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
en/game_tech/directx.txt · Last modified: 2022-04-02-00-56 by 7saturn

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki