Windows Longhorn and Game Development

Started by
43 comments, last by bL0wF1sH 19 years, 7 months ago
I just have a couple of questions concerning the subject. First off Im working on a pretty big game project and engine at the moment. Ive been on it for month and will be on it for quite some more time. Now Im wondering as to what the impact on developers will be. Obviously not even microsoft can force all the game companies to switch to C#. Anybody here have any insite as to wether game companies will switch? 1.) How will c++ be handled? I heard thingas like windows will popup a warning message telling the user its a risk to open the app. That would be horrible since it looks very unprofessional and may even stop some people from using the software. Is this true and what are game companies going to do? 2.) My game and engine consists of multiple dll's. I dont know too much about c# but is it easily possible to mix c++ and c# dll's. So basically at some point I just use my c++ engine and have a c# game dll. I guess what it comes down to is, how long will programming games in c++ continue to be the standard and a professional looking project. Or will I be overly conservative if I wait longer with a transision? -CProgrammer
Advertisement
Quote:
1.) How will c++ be handled? I heard thingas like windows will popup a warning message telling the user its a risk to open the app. That would be horrible since it looks very unprofessional and may even stop some people from using the software. Is this true and what are game companies going to do?


I cant see C++ going away, even in the mid to long term future. For a start there is just too much existing code written in c++. However, more companies will probably start writing managed c++, which is c++ which compiles to .net byte code.

Quote:
2.) My game and engine consists of multiple dll's. I dont know too much about c# but is it easily possible to mix c++ and c# dll's. So basically at some point I just use my c++ engine and have a c# game dll.


If your engine was written in managed c++ it would be very simple to load that up and use it from any other .net lanaguge.

This article talks about what managed c++ is, and about if c++ as a language is going to go away.

Alan
"There will come a time when you believe everything is finished. That will be the beginning." -Louis L'Amour
Longhorn won't be here for about another year. It is also silly to expect an immediate changeover, even if a technology becomes "obsolete." Therefore, even if there is no future in C++ (a fairly ludicrous suggestion), it'll take upwards of five years for it to die out.

And yes, native apps run unaltered on Longhorn.
Game developers need C++ in its plain form for the gamecube and PS2 platforms and presumably their successors. XBOX2 and later may run .NET (?) but since PS2 is the biggest console...
Game developers aren't going to port their C++ across to .NET happily - many would possibly just drop the PC.
Thanks for you answers, they make me feel a lot better already.

Oh thanks for the article.

Concerning managed c++: In your opinion is it possible to port large portions of unmanaged c++ code to managed easily?
Are we talking serious work here?
Oh Im using OpenGL, SDL and DirectX in my project.
Will IJW even do my type of project? And are there noticeable drawbacks using IJW?

-CProgrammer
Quote:Original post by CProgrammer
Concerning managed c++: In your opinion is it possible to port large portions of unmanaged c++ code to managed easily?


Well I think one of the best things about the VSNET compiler is the /CLR switch, I find it just phenominal.

Lets say you write your application in unmanaged C++ and when Longhorn comes out you want to have a managed version available for people.

You can compile with the /CLR switch which will let your code run in a managed environment, it's the magic switch! Now obviously you lose a little bit of performance by doing this, but not by a huge amount at all. Of course porting to managed C++ you will get better speed, but if you wanted a temporary solution when Longhorn is launched this is an option.

Also you can wrap your unmanaged C++ libraries with managed C++ and call from there, which you can take into future consideration. I mean Epic, Valve, iD, etc are not going to be re-writing their codebase to managed code any time soon, but I do think that once Longhorn debuts you will see managed versions by wrapping their existing codebase.
One of the biggest issues with Longhorn will be the split up of DirectX. Direct3D will become WGF and be used by the desktop. The rest of DirectX is being split up as well. DirectPlay will be superseeded by the xbox live tools. DirectSound and DirectMusic by XACT and DirectShow by a new media SDK. So DirectX as we know it will dissapear.

Within Longhorn the driver architecture is altered so video card driver code is moved from kernal into user space hopefully to cut down on crashes. The graphic card becomes virtualised so you cannot grab all its resources but must share it with other apps. Apps will write to their own back buffers and then these will be amalgamated to make the desktop.

My concern is that WGF may be driven more by the requirements of the OS fancy effects than games - but I may be being paranoid :)

Another issue is Microsofts desire to make graphics cards provide more similar functionality. So say all WGF 1.0 graphic cards will need to be the same. Microsoft would like to do away with the CAPS flags which is the standard way of IHVs adding their own spins. I just cannot see the IHVs going for this. We will see.....
------------------------See my games programming site at: www.toymaker.info
Trip99 -- is all of this still slated as part of the 2006 release? Or is some of it going to be released later?
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:Original post by Trip99
Another issue is Microsofts desire to make graphics cards provide more similar functionality. So say all WGF 1.0 graphic cards will need to be the same. Microsoft would like to do away with the CAPS flags which is the standard way of IHVs adding their own spins. I just cannot see the IHVs going for this. We will see.....


The IHVs have no choice in the matter, MS define the standard, they have to work with in it, thats the way it is. Going against the grain and not working with MS just isnt an option as you're competitor would jump in and take all the sales.

Still, theres always OpenGL [grin][wink]
I believe most of it is 2006. This info came from the GDCE I attended a couple of weeks ago and I am writing it up for my website at the moment. The roll out of the XBox tools for Windows (under XNA) is happening now and over the next few months. The 'getting rid of caps' thing may be longer term.
------------------------See my games programming site at: www.toymaker.info

This topic is closed to new replies.

Advertisement