I am planning on making games within the next few years. I have read a book on DirectX 7 (with excellent explanations), and right now I am going to start learning either DirectX 9 or DirectX 10. The advantage of DX 10 is that it is newer and better. However, DirectX 10 only works on Vista and later OS's (doesn't work on XP). DirectX 9 is also pretty good and it works on XP.

The games I am planning to make will probably be mostly 2D, so they don't require cutting edge 3D graphics.

I want the game to be fairly accessible to players. I don't know if enough people will be using Vista+ in the next 2 years or so to make using DX 10 a good idea.

Dani AI

Generated

Short answer: for the kind of 2D, broadly playable games you describe, start with DirectX 9 or a higher-level framework and learn the core graphics ideas that transfer across APIs. and are on the right track—DX9 gives more tutorials, wider hardware/driver coverage, and fewer gotchas when you just want to get a game running.

Why: Direct3D 10 moves the API and driver model forward (newer shader model, a stricter, fully-programmable pipeline and extra stages), which is great for modern effects but adds complexity and platform/driver constraints. If the goal is shipping simple 2D titles and reaching players quickly, you will save time by using DX9 or a toolkit that handles sprites, input and audio for you.

Practical path: pick one small, concrete project (sprite renderer -> batching -> texture atlas -> simple shader effects). If you want minimal friction, try higher-level libraries (SDL, SFML, Allegro, or XNA for C#) or managed DirectX wrappers like SlimDX to avoid low-level boilerplate. While building, focus on transferable skills: coordinate/transformation math, texture management, minimizing draw calls, basic shader logic, resource lifetimes and testing on low-end GPUs. Those skills make moving to D3D10/11 or modern OpenGL trivial later.

Recommendation: start with DX9 or a cross-platform framework to iterate quickly and reach more players; once comfortable with the programmable pipeline and shaders, step up to D3D10/11 (or modern APIs) when you need the extra features. Test early on the hardware and OS you expect your players to use, since driver quirks and capabilities matter more than the API name.

Recommended Answers

All 2 Replies

If you don't even need all that fancy stuff anyway, DX9. Maybe even try SDL or Allegro if you'd like even more OS cross-platform compatibility.

DX 9.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.