Hello,
Please let me start saying that I really love DBP, but one thing that bothers me is that it needs DirectX 9.0c to work.
It doesn't sound like a big deal, but when you start distributing your game you realize that a lot of people doesn't have it installed or what it is worse they don't know how to install it. If you need a prove just look for directx in the forum.
The simplest way of solving this is to create an installer for your game that install and runs the Directx runtime installer along with your game.
The problem with that is that today most indie games are distributed in a zip file or even as a single exe file, so it may be a problem that your game has to be installed.
So... I developed this small utility: "checkdx.exe" that will check if the correct version of DirectX is installed (it will look for D3DX9_42.dll and check that the version is 9.27.952.3000).
If the dll is installed it will run game.exe, if not it will run dxwebsetup.exe (you must bundle dxwebsetup with your game
).
Of course, checkdx doesn't hava any external dependencies and I have found that if D3DX9_42.dll is in the PC there's a huge probability (0.9999999...) that it was installed correctly), so it shoul work in most environments.
And for those strange cases when checkdx will fail, you can always provide an installer as your secondary download file.
The attached file includes the very first version of checkdx.exe, Microsoft dxwebsetup.exe (2/5/2010 version) and a sample game.exe to test the app.
How to use with your game:
1) Rename your game executable to game.exe
2) Rename checkdx.exe to run.exe or start.exe
3) Ask your users to run this file instead of game.exe.
So the big question:
Do you think checkdx could be useful for you?
Please let me know.
Best regards
JF
PS: If there is interest I could develop a new version that reads a ini file with the file and version you want to check, and the name of the executable.