The DirectX Conspiricy

clearz

Newcomer
Joined
Jul 21, 2003
Messages
22
How come when I type in Directx9 Sprite class into google I get 62 irrivalent results back. What is wrong with microsoft. Why Is it that after downloading the SDK a few months ago I know next to nothing about DirectX and the .Net platform. Is there a conspiricy between microsoft and the pro gaming companys not to let any new programmers in. Does anyone else feel like this.

Regards,
John.
 
Can't rmember if there is already a vote about this on this site or another one, but yes I agree that finding DX9 help for the beginner is hard.

I don't rate the SDK help much, and the samples need far more comments in to explain how/why it works.

I'm getting there but only trough pure determination to learn it using .Net Game Programming with DirectX9 and gatherering what I can from the samples.

There really should be a novice startup book but I can't find one:(
 
I have a book about directx 9 for vb (".NETY Game Programming with DirectX 9.0") published by Apress. It is very thourough and goes through not only directx but other game programming concepts too. It seems like a pretty good book for a beginner if you have $50 to spare.
 
marble_eater I mentioned this title in my post above:)

I agree tho it is a very good book:)
 
Well there is help

Learning DX9 is truely quite a task. A great place to start for any newbie or intermediate game programmer is:

Tricks of the Windows Game Programming Gurus (2nd Edition)
by Andre LaMothe (Author)

AMAZING book and he walks you through everything step by step. Given only up through DX8 is covered but still helped me A TON. Pretty much the only good book I could find to help me out. This subject is very hit or miss...
 
Tricks is probably a good book, but it is for C++ tho not VB.NET.

A shame really as it was his first Tricks book of his I used to learn my first go at games programming
 
Is there a conspiricy between microsoft and the pro gaming companys not to let any new programmers in.

What makes you think that any pro gaming companies are using Managed DirectX? I haven't heard of any game starts using it. In fact, I think we're on the early edge when we're currently looking into it for possible tools use. Maybe.
 
hog said:
Can't rmember if there is already a vote about this on this site or another one, but yes I agree that finding DX9 help for the beginner is hard.

I believe you may be refering to my prev post at ...http://www.xtremedotnettalk.com/showthread.php?s=&threadid=78797

As for microsoft and game companies conspiring to limit the info about directx. Yes I do believe there may be an intentional effort put towards making it more difficult to learn directx (as it relates to "at home developers")

It's been my experience having worked with directx since ver 7 that I too have always found the documentation for directx lacking. For example, pixel and vertex shaders are the worst culprites for lack of documentation.

Another aspect, and a BIG one at that is just how to recover from a d3d device being lost or a directinput device for that matter. Each example app on the iNet seems to provide a different aproach or simply does not even include code to handle such a device lost event. I have seen no reference to any industry accepted or reccomended way of recovering from a device lost state. I believe this is what is at the heart of clearz post, A lack of low level info by microsoft and others about how directx works or rather some sort of industry based standards for writing safe, well written, and indistry accepted directx code.

I think what I am getting at is that there are no industry standards in regards to writing directx code. When you consider the size and scope of the directx api as well as it being so prodominantly used by the gaming industry you would think that there would be more of an effort made towards creating a set of coding standard for directx.

Consider for a moment that if directx was THE easyest and simplest graphics api of all time, and I'm talking so easy and simple that it would make the days of coding games back in the MSDOS days look like rocket science. I'm talking even easier than it was writing games for DOS!

If drawing any type of 3d graphics on screen (weather it be with pixel/vertex shaders or not), was a non issue, developers would be able to create games as fast as vb developers can write windows apps.

Witch means the lone developers out there would be able to flood the market with all sorts of gaming creations. Not that the market is not already flooded mind you. Well if the market is flooded with games of all types where does that leave big business. After all big business is not in it for the sheer entertainment of it. There in it to make money and nothing else.

If creating games was so easy the big game companies would stand to loose as people would be more likely to sway towards a lone developers work rather then having to spend $60 plus dollars on a game that was made by a corporation.

...
... ...
...

Where the hell am I going with this??. ... I'm rambling on and on half asleep, so I will end it here. But my ideas still stand. Detailed documentation that goes beyond just a one sentance description, and more importantly a globally accepted and promoted, industry standard for writing code against directx is non existant leaving the rest of us "one man armys" fishing for stuffed teddy bears in a quarter filled coin op.
 
The Managed DirectX documentation is horrible to nonexistent (i e, they pre-processed the header files into something that's clickable, but tells you nothing more than the header files would...)

The C++ DirectX documentation is very good. For example, if pixel shaders are giving you trouble, I'd start looking at:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndrive/html/directx05222002.asp

But there's so much that building an autoritative link list would take a long time...

Also, the D3D FX stuff makes it very simple to load and apply various shaders. There are several examples in the DirectX 9.0 Summer Update SDK, too, although, alas, some of the best ones are C++ only and not ported (you can still read them for information).

Regarding approaches to higher-level constructs, such as scene graphs, etc, then I suggest getting a book. That's all general-purpose programming stuff which really shouldn't be addressed by a low-level device access API. Although Microsoft is trying to build a little bit on top of that with the separate Direct3DX stuff, just for good measure.
 
A few more thoughts I did not add in my prev post ...

I was recently going through the microsoft provided examples apps in the dx9 sdk. Just for the "so called" simple Cubemapping sample there is about 5000 lines of code! Yes thats right 5000 lines of code just to render a skybox, teapot, and airplane. Talk about overkill. The cubemap as well as the other samples in the dx9sdk should have been restricted to only 500 lines of code or less. there is far too much code to sift through to figure out how the samples actually go about doing what it is there are supposed to demonstrate.
 
I don't know about a conspiracy...
But game development, like any major software project, is going to be hard and long. Writing a game is definitely going to be harder than most other types of project - I could list a dozen reasons off the top of my head but they're not that important.

Writing a game CAN be hard, but doesn't have to be. It depends on what you want to do. If you want to write every line of code yourself, then be in for a LOT of work. If you don't mind using a game development kit, then you could have a working game in a day, and a Good game in a few months to a year. Packages like DarkBasic exist for just this purpose. If you want to tweak code or write some of it, but maybe the graphics/network/UI parts of a game seem like a lot to learn, maybe start with an engine - search "game engine" on google to find a dozen, most are free or very cheap (less than $100).

I'm not saying that MS couldn't improve the docs for DirectX. But realize that people wanted the .NET version of DirectX "NOW!" and I think most are willing to wait for better docs while they get the SDK early rather than wait for the SDK just because the docs weren't ready.

And yes, even with perfect docs, writing code to use DirectX (or OpenGL for that matter) is going to be somewhat difficult. By itself, it's a LOT to learn just because of the number of features it has. But, with some time, practice, and patience, it all gets easier.

-Ner
 
I have to agree whole heartedly with createdbyx!

From where I stand is this;

I'm only interested in learning how to program graphics or game apps just for my own sad pleasure to make me feel worthwhile, you know "look I did that":)

I post my apps on my site and hope people download them. I watch my site stats and get a sad little buzz when I see another stranger has downloaded one of my programs.

I don't see myelf as a threat to any game business as to be perfectly frank, hell I just ain't that good.

BUT, I agree there are many out there who are and would as stated be a threat to the gaming industry.
 
Listen: There is no interest of the "pro" game industry to make it _harder_ to make games. The "pro" game industry does not see independent developers as competitors. They are either "farms" for future employees, future potential acquisition targets, or irrelevant. (Most of them are the latter)

The more good games that get developed, and the more people who learn the hard art of making quality games, the stronger the games industry is. The easier it becomes to make quality games, the better off everybody is.

I agree that releasing Managed DirectX early was a good idea; it came out in 2002. However, the SDK update in october 2003, almost a year later, had not improved the documentation for Managed DirectX at all. I think that's a shame.
 
The "pro" game industry does not see independent developers as competitors.

I've been reading up on the Pocket PC. It isn't all too popular, but it is popular enough to grant you a living if you make a single hit game. The Pocket PC is where independant developers reign supreme, and corporations are struggling. It seems like the popularity is growing (right now it's like a small family), and it's certainly grabbed my interest. Even if it fails, there are great things to learn from the current market. http://www.pocketmatrix.com/forums/ is a nice area where you can chat with those who actually develop commercial PocketPC games and software.

The more good games that get developed, and the more people who learn the hard art of making quality games, the stronger the games industry is. The easier it becomes to make quality games, the better off everybody is.

That seems to be the problem with the gaming market today. Corporations are not interested in quality games, they're just interested in making a visually stunning game, that has lackluster gameplay. This is the way the PC gaming industry has turned, and will probably stay for many years. Fortunately, the console gaming industry has yet to hit this stage, but I fear it will with the next generation.

I agree that releasing Managed DirectX early was a good idea; it came out in 2002. However, the SDK update in october 2003, almost a year later, had not improved the documentation for Managed DirectX at all. I think that's a shame.

I'd assume that the documentation is lacking because the C++ unmanaged documentation explains everything you need to know. The SDK also comes with various examples. This is pretty much how I learned how to use DirectDraw and DirectInput.
 
We're starting to sidetrack a bit here, but I couldn't hold back anymore. The main problem with the gaming industry is that it's so “bleeding edge”. There's no stability. Most users only upgrade their computers to install the latest game (or the latest ‘more’ stable version of windows so they can play a game)

There are no real standards in the gaming industry and there won't be until it does stabilize (and I'm not sure if it ever will).

Take a look at www.gamasutra.com, you'll see 5 years+ of successful projects, but when you read about what actually happened behind the scenes in each project, its a wonder that any games are ever produced at all. And that people are still passionate enough to continue producing them.

DirectX documentation sucks, but when the underlying technology changes so fast, no ones got time to write, let alone read, the documentation. Especially when it’s offered as a free SDK.
 
I'd assume that the documentation is lacking because the C++ unmanaged documentation explains everything you need to know.

If it only were that easy. I used to write device drivers for a living -- I know this stuff. Alas, because they don't expose pointers in Managed DirectX, there's all kinds of places in the wrappers that are NOT like in the C++ documentation. As I said above, I think the C++ documentation is just fine in most places.

If there was a document that documented the deltas, per interface method, that'd be swell. But, alas, there are some pretty big differences, with no documentation to set you straight other than guesswork. Quite tedious.
 
wyrd said:
Want easy 2D game development? Then look no further than here;
http://www.gapidraw.com/default.asp
and here for the .NET wrapper;
http://www.intuitex.com/gapidraw.html

The license is only if you use version 2.05. Find a d/l for 2.04 (which the .NET wrapper has) and it's completely free.

Unfortunately I don't know of any free 3D SDKs that are as good as the 2D one I mention above.

It is not clear in the Viktoria Institue licensing scheme if they are willing to issue "new" free licenses to 2.04 versions and earlier. Rather pre-existing licenses can continue to use 2.04 and earlier. Their website says and I quote:

"What happens with existing licenses and older versions of GapiDraw?

The license issued for GapiDraw up to and including version 2.04 shall continue to be effective. If you have such a license you can continue integrating GapiDraw (version 2.04 and earlier) in your product. The older versions of GapiDraw will still be available on the web for those who are satisfied with them. "

I have a 2.04 installation but not a 2.04 license. The license agreement in the 2.04 distribution reads:

"COMMERCIAL USE. Use of the SOFTWARE commercially without prior consent of the AUTHOR is prohibited. Commercial use includes, but is not limited to, making profit from an application depending on the SOFTWARE to operate correctly. "

So, I guess the point is 2.04 may not be entirely "free" if you don't already have a license so check with the Institue first before distributing any code commmercially...

BTW, I agree with your last comment. I too have not found a better engine than this one for 2D...
 
I've done some inquery. Their current version (2.05) will remain a "pay what you want" license. That means if you want to pay $0, you can, and they'll allow you to use it commercially. However, there is a new version coming out (3.0) that also supports Palm and N-Gage (the current version is just Pocket PCs and Desktop PCs), and also have a number of improvements and enhancements. This new version will be licensed for about $100/game. Even so, you can d/l a trial (never expires, just shows a splash screen). So if you're just making things as a hobby, you won't have to worry about any of this.
 
Back
Top