Making an engine

Miscellaneous Forums/General Discussion/Making an engine

chwaga: Don't listen to the discouraging comments. It's true that there are hundreds of low-quality, ameture attempts at creating 3D engines all over the internet, but don't let anyone tell you that it's useless to try making one yourself. Since you have the time, it's the perfect opportunity for you to learn DirectX and game engine design, both very important skills. Even if your engine turns out to be a big mess, you can try again and learn from your mistakes.

Now regarding your original question, it depends. Your best, safest bet would probably be DirectX 9. It's the most widely compatible (games using it will run on practically any video card, depending on how many features you use), and doesn't require Vista. If you plan on making a game to distribute within the next one or two years, DirectX 10 wouldn't be a good choice for several reasons. First, it requires Vista, and a lot of people don't like Vista. It will probably be several years until Vista or it's successor is widely in use to the point where you can make a game exclusively using DirectX 10. Second, DirectX 10 requires a video card designed specifically for DirectX 10 compatibility, which limits you to GeForce 8xxx and up (I don't know the ATI equivelant).

Basically DirectX 10 severely limits the amount of people who can play your games - it's very recent, and isn't backward compatible, so only modern computers or recently upgraded computers will be able to play a DirectX 10 game. However, DirectX 10 does have it's advantages. Overall I think it's a little better and more consistant API, and is probably easier to learn and more logical (though I haven't done any programming with it so I'm not 100% sure).

If you don't plan on making commercial games for 3-4 years, choosing DirectX 10 might not be too bad an idea, but otherwise DirectX 9 would be the best choice.