Best DX API Version for Indie Programmers

Discussion in 'Game Development (Technical)' started by indiemaker, Sep 11, 2006.

  1. indiemaker

    Original Member

    Joined:
    Aug 2, 2004
    Messages:
    132
    Likes Received:
    0
    A couple of years ago, DX7 was the API to base one's library or framework upon for Indie Games development. Is that still true for today?

    I just downloaded August2006 API and boy have things changed. A lot.

    Do you think Microsoft will continue to support older versions of DX? Or will in the near future, support for older < 8.0 fade away?

    And if so, should one move onto versions 8.0 or later?

    What will happen when Windows Vista is released? In the past, newer OS released didn't affect DX so much since backward compatibility was guaranteed. But now, I see that there are changes in this. For instance, the latest DX SDK does not support Windows 2000. And some features of the SDK seem to require Visual Studio 2005.
     
  2. Pyabo

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    1,315
    Likes Received:
    0
    DX7 is going to work fine in Vista... Personally, I'm more worried about hardware manufacturers maintaining compatibility. Microsoft is pretty good about their rules regarding APIs. There's already been a handful of cases where hardware drivers dropped the ball with regard to older features (like 2D acceleration). Putting the blame on Microsoft is a waste of time, I think.
     
  3. PaulModz

    Original Member

    Joined:
    Apr 7, 2006
    Messages:
    53
    Likes Received:
    0
    I think it might be a bad idea to stick with DX 7. Like Pyabo said, you're at the mercy of hardware vendors. Most video cards in use today didn't exist when DX 7 was released 7 years ago, which seems troubling. The runtime isn't on the MS site anymore either.

    It looks like you're targeting a casual audience. If so, 8.1 is probably your best. It shipped with XP RTM, so only Win2000 will need to dload it.

    The DX 9.0c redist is 33.5 MB and took me 55 seconds to dload. If you use the dxwebsetup installer, it should be faster as it only gets what it needs. This seems a small price for compatibility, but YMMV.

    I'd be surprised if the DX 9 SDK requires VS 2005, but that's what I use so I can't be 100% sure. As far as Win2000 and DX 9, the SDK may not support it, but the runtime does, which is all that matters unless you refuse to upgrade your dev box to XP. ;)

    Good luck, and let us know what you decide.
     
    #3 PaulModz, Sep 13, 2006
    Last edited: Sep 13, 2006
  4. wazoo

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    519
    Likes Received:
    0
    Just an FYI, but the DX9.0c does require a version of .NET Studio newer than Visual Studio 6.0..(ie. .NET 2002/2003/2005 ). DX 9.0/9.0a/9.0b seem to run fine for me on VS6.0

    I think it's due to the Unicode and "security" support for the most part. I have seen the occasional post on how to hack in compatibility for VS6.0, but I've never tried it myself, and to guarantee that you're "locked in" with upgrading your IDE, I'm sure MS has plugged it up...

    Personally, I would say 8.1 is enough for most projects. I haven't seen enough of a difference between 8.1 and 9.0 to justify the "cost" of a potential loss of a sale for the upgrade, but I think @Pyabo might be onto something there with regards to support by the hardware vendors...good point!

    I think the "jump" between DX7 and DX8.1 is worth making for the (big) improvements that were made there with DirectGraphics, but if you're just using 2D surfaces, then the upgrade probably isn't worth it.

    I just get annoyed that it's harder and harder to find "bare bones" video driver installs on the ATI site. Suddenly to upgrade my ATI hardware, I need to install the .NET Framework along with DX9.0c.

    On NVidia's site, it seems to be just the download...they don't list any dependencies other than which OS you have. *shrug*

    hth,
     
  5. PaulModz

    Original Member

    Joined:
    Apr 7, 2006
    Messages:
    53
    Likes Received:
    0
    FYI, I was testing Direct3D support in VMWare for a post wazoo made in another thread, and upgrading DX 8.1 to DX 9.0c on XP RTM only requires a 7.9MB dload.

    wazoo, I just upgraded my ATI drivers too. If you don't want the Catalyst Control Center, just get the "Display Driver Only" component which is only 12.4MB and shouldn't require .Net (again, I've got .Net so I can't be 100%).
     
    #5 PaulModz, Sep 13, 2006
    Last edited: Sep 13, 2006
  6. indiemaker

    Original Member

    Joined:
    Aug 2, 2004
    Messages:
    132
    Likes Received:
    0
    If the runtime isn't on MS Site, that means that MS has dropped support for DX7, right?

    When I downloaded the August2006 SDK, I didn't find d3dim.dll either. Is this bonafide evidence that MS has dropped support for versions <8.0?
     
  7. Sharpfish

    Original Member

    Joined:
    Feb 25, 2005
    Messages:
    1,309
    Likes Received:
    0
    @ Indiemaker > you use what you require. I use DX8 because I do 3D and 2D in 3D and prefer it to DX7. I started off programming with DX9 but dropped back down to keep the requirements lower.

    I think DX8 is fine now for anything that requires hardware acceleration, but this depends entirely on your target audience. generally stick with what the majority (XP users) have has default as far too many of the less techy ones won't upgrade for the sake of a (small/indie) game*




    *Also, try searching the forum, this it's been discussed more times than MS has released DX updates/versions ;)
     
  8. PaulModz

    Original Member

    Joined:
    Apr 7, 2006
    Messages:
    53
    Likes Received:
    0
    I thought so too at first, but think about it. If the runtime was available, who would need it? 2000 RTM already includes it and XP RTM includes 8.1.

    There ARE a few security updates for DX 7 on MS's site, and the dxdiag in 9.0c still exercises the DX 7 interfaces during the D3D tests, both of which suggest that it still has formal support from MS.

    Do you have a substantial investment in code that uses the DX 7 interfaces you would like to reuse? If so, I'll go ahead and make a bit of a reversal by saying that probably trumps every issue discussed in this thread, depending on how long you think it would take you to rewrite the code.

    If you have a basically clean slate, I'd say 8.1 looks like it will best fit your needs.
     
  9. indiemaker

    Original Member

    Joined:
    Aug 2, 2004
    Messages:
    132
    Likes Received:
    0

    if XP RTM supports 8.1, does that mean it also includes the RTM for version 7? If so, then you're right. It's a moot point.

    I downloaded the latest End User DX RTM from Microsoft to see if they include DDraw, D3DIM.dll but I don't know where it installs it.

    The latest DX SDK does NOT include DX7 RTM, but that doesn't matter. The important thing is, does the End user DX RTM still include DX7 RTM.

    If Microsoft has dropped DX7 RTM from End User RTM, then it has basically dropped DX7 support.

    For me personally, I'm in the midst of rewriting my library from DX5 to DX7. That is why I have need to know if DX7 will continue to be supported for many years. Otherwise, I would jump on the 8.1 bandwagon.
     
  10. PaulModz

    Original Member

    Joined:
    Apr 7, 2006
    Messages:
    53
    Likes Received:
    0
    Yes, all versions greater than 7 still support the DX 7 interfaces.

    BTW, RTM means Release To Manufacturing, and is used to describe the first release of a product that has since released a Service Pack. So there is XP RTM, XP SP1 and XP SP2, while just saying XP implies all versions, but it doesn't really apply to DX.

    RTM? ;)

    If you're already rewriting your code it sounds like we're done here, my friend. 8.1 it is.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer