Is .NET Relevant to Game Developers?
andrew stuart asks: "We've heard an awful lot about how .NET is the future and how .NET signals the end for COM based Windows development, but how far does this go? Is it really the end of COM? Will ALL Windows programming be done with .NET? What about games development? Will games be developed with .NET? If games aren't developed with .NET and Microsoft is killing COM, then what future for games development on Windows? Will there be DirectX for .NET?"
Well, it's pretty much the same thing. (And before that was UCSD Pascal and P-code) Interpreters don't have brute strength speed that assembler, or even earlier C++ had. Sure, they're quick for instantiating a zillion objects from an already loaded class, but are awful for anything doing heavy calculations. For heavy math/memory moving you'll need tighter native compiled code libraries, which I'm already finding to be a headache. That and unless your game runs in a browser, your players will have to have the .net Framework (~20 meg, of which
I note 1.1 is now downloading on Microsoft update.)
So what else does .net have to offer? This whole XML thing? Can't say I've ever considered that
a necessity for game play. Maybe it'll allow the player to enjoy games which are Office compatible
or such, doesn't seem relevant. I feel .net is not for game programmers, at least action games.
Probably fine for strategy games which don't have to do a lot of iterating potential moves.
Then again, maybe this explains the long delays for Star Wars: Galaxies and Duke Nukem Forever...
A feeling of having made the same mistake before: Deja Foobar
Will games be written with .NET?
.NET?
.NET than are written for Linux?
Yes
Will all games be written with
No
Will games be written with SDL and OpenGL?
Yes
Will all games be written with SDL and OpenGL?
No
Will more games be written with
Yes
Will it really be any different from the way it is now?
No
Was this article posted just to give zealots a chance to yammer about MS world conquest and other conspiracy theories?
Yes
I don't need no instructions to know how to rock!!!!
XML is great for game development. Would I ever distribute a game that uses XML at run time? Probably not. Will I use it for development, and "compile" things down later? Heck yes. A lot of developers forget how nice it is to be able to let your artists play with all sorts of settings and make things dynamically, XML isn't the nicest interface, but easier than bugging a programmer to tweak something for you. However, you really don't need .NET for XML. It's easy to use, sure. However, Xerces C++ interface isn't that bad, and just about anyone can stick a simpler interface on it.
I tend to agree that the CLR is slower than compiling down to machine code. However, I've also seen some pretty cool Java based game development. I think it comes down to the game itself...if it's pushing hardware limits, then .NET is a no go. If it doesn't push the hardware, why not?
- Sighuh?
The rest of the questions asked have already been answered, so I am going to tackle "Is it really the end of COM?"
.NET under the hood...
Uh... Was Windows 95 the end of MS/DOS? Was COM the end of DDE? Microsoft has a tendancy to wrap up stale old code in fresh new interfaces and let their Marketing people slap a new name on it. Sometimes those interfaces aren't all that fresh; ActiveX was mostly just a rename of COM with a couple of extra methods.
So the answer is no. At least not right away. Maybe ten years from now, but by that time Microsoft will be pushing some new technology without admitting that their new thing has
- -
Are you an SF Fan? Are you a Tru-Fan?
Rember how many years before game programmers moved away from dos booting games to windows games (for performance reasons) the same thing will happen with dot net. Ask me again in 5 years.
love is just extroverted narcissism
Which is why there was much backslapping when a Chinese archaeologist claimed to have found a fork in a cave in China dated to about 3000 BC - it's not that they have not discovered forks, it's that they have moved on.
How do you know if the Chinese inventor of the fork just didn't market his or her idea well enough for it to catch on? Either that or maybe people resisted the change since they didn't want to give up the simplicity of braking twigs off trees to eat? Just because a technology is superior doesn't make it the popular choice.
Seriously? I doubt many people will actually pay any attention to the answers.
While it may be slightly slower (and I mean slightly) the problem is easily solved and/or irrelevant. because your calling the highly optimized stuff in DirectX for most of the graphics work your speed issues are minimal and any core routing that is really slowing you down can be coded in something else without forcing the whole project into a less useful environment.
For most developers the issue of cross platform is irrelevant. In general I can support most biz needs via a web service anyway or in Windows. The rest of the world is Mac (and there WILL be a Mac implementation because Office on the Mac is a good cash source) or Linux - and Linux is irrelevant for this type of thing.
Then you haven't looked very hard. The Web controls, event model and code behind features are light years ahead of CF and PHP. mod_perl isn't even a player.
The enterprise level apps I have been involved with are either Intranet based (and this .NET is perfect) or Windows based. In both cases .NET is a great
environment and has strong advantages over Java. Besides, given how much Sun is
throwing their weight around with Java most firms see java as a single source
tool and Sun is a much less attractive partner.
You can cut the framework down for custom applications.
It's as good or better than Java, runs as fast as C++ and is much easier to code for than Win32. The web event model rocks and the ability to mix languages kicks ass.
In short, it's good.
--> Fight tyranny and repression.... read
This has been an entire /. article before, if I recall. And I think mainly it isn't worth the trouble; it means that games won't work on the latest hardware; it means you have to reboot to play games; it means that you have to essentially single-task. no more printing, downloading, whatever.
The task of building a "game" distro would be complex; a game company would have to spend lots of time building it; otherwise, it has to be outsourced. If you're not building it, why are you shipping on only that OS? If you are concerned only with certifying on one platform, why not just pick a popular platform and say "we only support X". It's easier and keeps the users happier.
A while ago our MS rep came in for his bi-monthly visit. And he let something slip.
.NET datatypes.
...
.NET server which would pass the 'package' on to the reciepient. [This is all out of memory, which is fuzzy .. so who knows if im getting it all EXACT.]
.NET server (which our REP said would make it a lot more secure than it is now .. har-har) then WHO is going to be making those servers ?
.NET now .. because simply - if it DOESNT get widely adopted than Stage II(tm): Take over the server market by making the desktops REQUIRE MS.NET routing servers, will be as successful as Licence 6.0.
.NET [or Dot-Nyet as my russian friends call it.] is kinda neat. Once you get used to the 10-15% loss of speed. And the higher memory requirements on your servers.
The next desktop version of windows is supposed to be a database structured OS. SO basically everything from word documents, to e-mail, to images are essentially
Sounds kinda cool actually. Now walk with me
Any file could be shared with another computer, by basically sending it to a 'routing' computer.
So e-mail wouldn't be like it is now, nor would web pages, they would be sent to a
What I do remember with shocking clairity was having the epiphany that if everything has to be routed through a
MS is pushing SOOO very hard for
Whats the easiest way to get rid of Apache ? make windows not play with it. They can't control the *nix OS's out there, and they cant put the genie back in the bottle, but they CAN alter their OS to ignore the genie, and maybe make it look like he is wearing a dunce cap.
That being said.
I'm just afraid that this innovation in programming languages is more about gaining control, than improving computer science.
After all - most of our cars still run on gasoline WHY ?
--Ne auderis delere orbem rigidum meum, non erravi pernicose!
For those systems, the interactive basic interpreter would probably be considered what most people thought of as the OS.
If I remember correctly, a number of C64 games were launched directly from the basic interpreter.
LOAD "MYPROGRAM, 8, 1"
or something like that.
As far as the Atari, the reason you directly booted into games was that with only 64k of memory in the system, you *needed* to displace the basic interpreter and free up 16k of RAM that it occupied. It still loaded a stub of the DOS (for disk access) and then would autoload any file named AUTORUN.SYS
Additionally, since the OS was ROM based, the systems were "instant on" (or very close). So shutting down the system to play a game (and vice versa) wasn't a huge deal.
Nowadays, I have a computer with 512Mb ram, and it takes a little bit to boot into the OS, so shutting down the system just to play a game seems stupid. As another poster pointed out, thats what consoles are for. For a general purpose computer, not being able to launch games alongside with other apps would be annoying.