c1t1z3n0

How come when I go here:

http://msdn.microsoft.com/directx/

I get redirected here:

http://msdn2.microsoft.com/en-us/xna/aa937781.aspx

Is XNA making a move on owning DirectX It seems after reading some basic information on microsoft.com regarding recent statements about XNA and its current goals I'm led to believe that perhaps the whole of DirectX is being cut up and fed to XNA. First DirectShow goes. Now I realize even basic support I had in DirectX 9.0c is not even supported in DirectX 10. Basically I'm gonna have to port a graphics app engine from DX9 to DX10 and have to include DX10, at least some DX9 headers/libs, the seperate DirectShow files, and if I want rumble support for my Wireless XBox360 controller for Windows I need to include XInput because DirectInput doesnt have that support. Anyhow, I'm just curious what the future of DirectX vs XNA is. Who will own who within the next 5 years. If this question is in the wrong forum please redirect.



Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

Jack Hoxley

Interesting catch

I'm not aware of anything being officially announced yet, but with GDC only a couple of weeks away it's quite likely they'll be saving any announcements until then.

I'm heading over to Seattle to visit the DX guys next month and I'm hoping this sort of thing is going to be cleared up. From what I can gather there has been a fair bit of shuffling around internally over the last year or so. What with a new console (Xbox 360) new OS (Vista) new Direct3D (v10) and XNA making appearances there's quite a lot of change - my interpretation is that things are also moving around internally to better align resources (etc..) to the new offerings.

Bottom line is (IMHO) that us developers don't need to worry about it yet, if at all. Names change all the time - so what if DirectX moves under the XNA brand I can still use the Direct3D API just fine...

hth
Jack






Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

Jim Perry

Jack Hoxley wrote:
I'm heading over to Seattle to visit the DX guys next month and I'm hoping this sort of thing is going to be cleared up.

Yeah, I've got a pile of questions already and probably more by the time the Summit rolls around. Should be interesting to say the least.






Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

Jack Hoxley

Jim Perry wrote:

Jack Hoxley wrote:
I'm heading over to Seattle to visit the DX guys next month and I'm hoping this sort of thing is going to be cleared up.

Yeah, I've got a pile of questions already and probably more by the time the Summit rolls around. Should be interesting to say the least.

It was very interesting at the last summit and the schedule looks as good if not better this time around. Just have to avoid scaring them all away with too many questions

Jack






Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

c1t1z3n0

That explains quite a bit. Thanks. There are a couple things I'd be curious about if you have a chance to find anything out over the next 6 months. First off, suppose I have a basic game engine class structure like this:

AudioServer
- AudioDevice
VideoServer
- VideoDevice
InputServer
- InputDevice

At the time of DirectX 8.1 (circa May 2002) all I needed to add for DirectX hardware support was this:

#include <d3d8.h>

#include <d3dx8mesh.h>

#include <d3dxerr.h>

#include <dsound.h>

#include <dinput.h>

At this point in time with my DirectX 9.0c code, before porting to DX10, I need to add this:

#include <d3d9.h>

#include <d3dx9mesh.h>

#include <dxerr.h>

#include <dsound.h>

#include <dinput.h>

When I get finished porting my code to DX10 it looks like I'm gonna need this and possibly more:

#include <d3d10.h>

#include <d3dx9mesh.h> (for legacy X File loading which isn't in DX10 yet)

#include <dxerr.h>

#include <dsound.h>

#include <dinput.h>

#include <xact.h> (for new sound support. why couldn't this be added to dsound.h )

#include <xinput.h> (for rumble support which DirectInput doesn't have on an XBox360 Controller. dinput.h )

Based on the recent changes internally it would seem the XNA team is starting to name all its additions to DirectX as seperate API's in order to reorganize and perhaps reinvent/rename/reconstruct DirectX into its own X*** architecture. XNA, XAct, XInput... Anyhow, please keep the forum informed. I'd rather the XNA team either swallow their pride and admit they are just an add-on to DirectX Managed and just submit to the old school Direct*** naming API. If not that then at least keep the basic DirectX API coherent so simple developers don't have to go searching for old Feb 2005 DX sdks just to install DirectShow headers that were already in DirectX and got "put back" into the Platform SDK. When the basic DirectX sdk starts to fragment with certain parts having functionality(XInput) and other similar parts(DirectInput) not then its definately something that can start causing headaches. That is unless you like including 20 headers in your application. :) Thanks again for your input.





Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

Jack Hoxley

c1t1z3n0 wrote:
it would seem the XNA team is starting to name all its additions to DirectX as seperate API's in order to reorganize and perhaps reinvent/rename/reconstruct DirectX into its own X*** architecture.
Well a lot of the new additions (XInput and XACT) have XBox heritage where those naming conventions are more common (not being a XBox developer I don't know for sure). Whilst XInput/DirectInput and XACT/DirectSound have obvious relations they are seperate technologies such that there isn't a requirement to follow the naming convention of their relatives. But I can see how it'd be easier if they were the same

c1t1z3n0 wrote:
I'd rather the XNA team either swallow their pride and admit they are just an add-on to DirectX Managed
Be careful with using the XNA name here - XNA Framework is analagous to the successor of MDX, but XNA as a whole includes other technologies (currently XNABuild). Also, there have been mentions of an MD3D10 in the future - which would suggest that XNA Framework isn't quite a replacement for MDX...

c1t1z3n0 wrote:
old Feb 2005 DX sdks just to install DirectShow headers that were already in DirectX and got "put back" into the Platform SDK.
The PSDK is a prerequisite to the DXSDK, so this sounds a bit flawed to me. Use whichever DXSDK you want and ensure you have a reasonably up-to-date PSDK to give you the DShow headers

Whatever happens with the naming and technology offerings I'm sure it'll be announced on the developer centre and discussed here - I doubt you'll miss it!

hth
Jack






Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

c1t1z3n0

I guess your last point sums up what I'm getting at. Say my applications entire include list were this:

#include <stdio.h>
#include <time.h>
#include <windows.h>
#include <d3d9.h>
#include <d3dx9mesh.h>
#include <dxerr.h>
#include <dsound.h>
#include <dinput.h>
#include <streams.h>
#include <tuner.h>
#include <ks.h>
#include <ksproxy.h>
#include <ksmedia.h>
#include <msxml2.h>

All the headers starting with the letter 'd' are the DirectX SDK. Are all the other files just collectively called the "Platform SDK" If so, does that mean XNA is a child of the Platform SDK, or is it a separate SDK altogether





Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

Jack Hoxley

c1t1z3n0 wrote:
All the headers starting with the letter 'd' are the DirectX SDK. Are all the other files just collectively called the "Platform SDK"
I'm not aware of any rules linking the name of a header to the SDK - its just convenient that all the DX headers begin with 'd'

A better definition would be based on their source and installation directory.

Probably just a case of preference or coding standards, but I don't like big long lists of header files like you've got - and very few applications I've had to work on #include in this way.

I tend to group all my headers by some sort of relation, headed by a comment. If it's not immediately obvious then I also append comments regarding the reason for inclusion - I've managed to cut compile times in half by going through frequently-changing code and culling unnecessary headers.

Even a simple grouping such as:

// Pre-Compiled Header
#include "dxstdafx.h"

// Platform SDK headers
#include <windows.h>

// DirectX SDK headers
#include <d3dx9.h>

// External components
#include <my_dll_header.h>

// Local headers
#include "definitions.h"
#include "this_files_header.h"

But this is going off on a tangent I suppose - depends what the bigger issue to you is: naming conventions at the source code level or high-level ownership and relations.

hth
Jack






Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

c1t1z3n0

I would tend to agree with your rules for headers when you are working on a project with 3 or more developers. However, the situation I was describing was a basic app with App.h and App.cpp, and all those headers were the total projects include needs. So basically I was using some basic C headers, a Windows header, DirectX headers, additional headers for what was DirectShow.h as well as some XML header support. The whole app consists of just this. No managed code, no installer, no MFC and no XNA. So given the simple setup, and realizing that up until this point my app was pure C/C++/Windows+DirectX API, now it seems the managed code demon currently with the name "XNA" is starting to snake its way into my code base. :) I guess time will tell if Microsoft forces me to learn C#/XNA/ManagedCode just to get exclusive functionality not offered in the basic Direct*.h/cpp/lib/dll libraries.





Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

waruwaru

I noticed that the new XNA site has Direct3D forums...

http://creators.xna.com/forums/default.aspx






Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

c1t1z3n0

I guess my worst fears are being realized. I'm not exactly sure, but from the looks of this new XNA site, it seems DirectX IS being owned and considered a SUBSET of XNA. This is, in my opinion, a recipe for disaster for the independent software developers like myself. I think the problem is that the people running XNA somehow have not taken into consideration that there are 3, not 2, main groups of DirectX developers. First, there are the major game studios. Then there are people like me, independent software developers trying to use our spare time to write a million dollar game/app using DirectX. THEN, there is this new category that they are creating, the "hobbyist/student" crowd, at which XNA is aimed. I guess they are assuming I should fall into the "hobbyist" category. I have followed DirectX since it was called the Game SDK and even WinG and I eventually intend to produce a Windows DirectX C/C++ game which I hope to sell and make millions. Unfortunately, from the way things are shaping up, the people running XNA are creating a situation that will eventually make it undesirable for people used to coding with just Windows/C++/DirectX. I don't want to learn managed code. I know I don't have to, and can continue using DirectX 10 without XNA, but when you start taking down forums in the general DirectX area, like the DirectX 10 forum, and moving them to an XNA specific place, its obvious that DirectX is becoming owned by XNA, and this will only create instability in the native DirectX API. This statement on the XNA site sums it up:

We're delighted to offer you this place where you can learn and share experiences with the XNA family of products. Whether you're using XNA Game Studio Express or the native DirectX tools and APIs, this is the place to come to!...

So in essence, unless I'm reading the above statement wrong, the "native DirectX tools and APIs" are IN the "XNA family of products".

While I believe the idea behind XNA, letting students and hobbyists easily create video games, is a very good idea, I definately don't believe removing the initial DirectX 10 and native forums and putting them as subsets owned by XNA is helpful. I personally don't need/want XNA, which is really just a bloated wrapper of managed code, similar to the DXUT API in its attempt at trying to shield the user from basic DirectX setup code, and I would rather not have to have the forums polluted with tons of questions by XNA newbies regarding basic DirectX native questions. Why can't there be a DirectX native and DirectX 10 section left completely alone on the msdn.microsoft.com/directx/ mainpage (gee, maybe cause XNA already owns that... ) Why does it have to be a subset/child of XNA By doing this, experienced game programmers that work for major game studios are less likely to frequent "student/hobbyist" forums like XNA seeing as how the bulk of the questions will be from inexperienced coders that the XNA platform is targetting. If you've coded games before, and know C/C++, there is no incentive I see to use managed XNA, unless you want to have a slowdown in code. Please keep the forums seperate. Make XNA target "students/hobbyists", and keep a completely seperate section for coders like myself that don't want to have to swim through tons of newbie programming questions. I'd be willing to bet I'm not the only Windows/DirectX coder that feels this way.





Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

The ZMan

MS will hopefully start correcting this issue more and more in the future but the problem is that the XNA 'brand' has for the last 6 months been inextricably tied to the product XNA Game Studio Express and that needs help being corrected so spread the word.

XNA is a microsoft brand that covers ALL game development from AAA titles using C++ with DirectX down to hobbiests using C# and GSE. The development teams are separate but under the same management and there is no chance that DirectX and native development is going to be dumbed down or taken away. In fact the native teams are far bigger than the GSE teams.

Bottom line nothing to worry about for anyone, and some education to be done by everyone.

XNA is the brand

DirectX is one product

XNA Game Studio Express is another product that produces code targetting the XNA Framework






Re: Game Technologies: DirectX 101 Whats the deal with DirectX being owned by XNA?

c1t1z3n0

That sums it up fairly well and is what I eventually pieced together from the past posts. I guess the main issue is simply the naming and what it conveys to people using the different SDK's. Perhaps MS would have done a better job of showing "no bias" toward any "product/sdk" used for gaming if it had done the simple thing of calling XNA "Game SDK 1.0", and naming DirectX9/10 a child SDK and naming XNA GSE another child SDK. Obviously politics exist in which product gets the most money/attention, and having the same name as the brand does display some bias, even if it wasn't intended. I guess the simple way to solve this riddle is to just display the management budgets for DirectX vs XNA GSE development teams, and the salaries of the management of each product/sdk and that would tell us which is going to be best supported in the near term future. :)