Slashdot Mirror


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?"

12 of 489 comments (clear)

  1. That Giant Sucking Sound... by ackthpt · · Score: 3, Insightful
    CLR produces slow code. A trend I observed decades ago appears thus: As hardware capability and processing speed advance, software takes advantage in ways previously unthinkable due to severe degradation of overall performance. Windows isn't fast, it also has overhead, loading up memory with libraries the session might reference. Put .net with it's CLR on top and you get the feeling you've been here before. Yes! It was when people complained how slow Java was.

    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
    1. Re:That Giant Sucking Sound... by nightcrawler77 · · Score: 4, Insightful

      I hear a lot of complaints about the lack of deterministic finalization, but I really have to wonder why people care so much about when the memory is actually freed for a particular object.

      Most complaints center around the fact that you don't know when your destructor is going to execute. That's a valid concern, but there is nothing that really separates a destructor from a regular method. If you have some clean-up that needs to happen, put it into a Dispose() method and call it yourself. Pretty simple.

      "But the memory isn't freed after I call Dispose()!"...who cares? Just let go of your reference and let the GC handle it. You've executed your cleanup code, so why do you care that there is a block of memory out there that you can't even see that's still allocated? It's not going to leak, so just let the GC do it's job.

      --

      "Power corrupts, and absolute power corrupts absolutely." -- Lord Acton

  2. Uh huh by stratjakt · · Score: 5, Insightful

    Will games be written with .NET?

    Yes

    Will all games be written with .NET?

    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 .NET than are written for Linux?

    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!!!!
    1. Re:Uh huh by bogie · · Score: 4, Insightful

      "Was this article posted just to give zealots a chance to yammer about MS world conquest and other conspiracy theories?

      Yes"

      Actually No. The only zealous act here is what you say in your 7th point which bashes linux users. The poster asked directly about the future of gaming on Windows. The entire post along with its many questions on how this relates DIRECTLY TO GAMING ON WINDOWS is below if you feel like reading it again.

      "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?"

      Zealot - n.
      The most overdone word in the geek lexicon.

      --
      If you wanna get rich, you know that payback is a bitch
  3. XML Thing... by redragon · · Score: 3, Insightful
    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.

    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?
  4. Is it really the end of COM? by Jack+William+Bell · · Score: 4, Insightful

    The rest of the questions asked have already been answered, so I am going to tackle "Is it really the end of COM?"

    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 .NET under the hood...

    --
    - -
    Are you an SF Fan? Are you a Tru-Fan?
  5. short memories by avandesande · · Score: 4, Insightful

    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
  6. Re:Doubtful. by gpinzone · · Score: 3, Insightful

    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.

  7. Re:What exactly is the point of .NET? by soulhuntre · · Score: 4, Insightful

    Could someone explain to me exactly what .NET is good for, that couldn't be better accomplished using Java, or Win32/C++, or PHP? Seriously.

    Seriously? I doubt many people will actually pay any attention to the answers.

    I can't see it being useful for games, because it's going to be slower than C++.

    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.

    I can't see it being useful for cross-platform GUI apps because there's no guarantee that .NET really is cross-platform.

    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.

    I can't see it being better than any of the various web development solutions (PHP, cold fusion, etc...)

    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.

    I can't see it being useful for enterprise server side apps because Java is more mature, more reliable, and has a VM implementation on lots of different platforms.

    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.

    I can't see it being useful for PDA/Phone apps because the framework is too heavyweight.

    You can cut the framework down for custom applications.

    So I know that it's new and shiny and Microsoft....but what, exactly, is it good for? What can you do with .NET that you can't do better with something else?

    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 /. at -1!
  8. Re:Dotnet won't rule the world. by Mr.+Shiny+And+New · · Score: 3, Insightful

    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.

  9. A Caviet for .NET by RembrandtX · · Score: 3, Insightful

    A while ago our MS rep came in for his bi-monthly visit. And he let something slip.

    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 .NET datatypes.

    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 .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.]

    What I do remember with shocking clairity was having the epiphany that if everything has to be routed through a .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 ?

    MS is pushing SOOO very hard for .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.

    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. .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.

    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!
  10. Re: not the same as with Atari or CBM by ip_vjl · · Score: 4, Insightful


    Remember back in the **OLD** days when Atari, Commodore and Apple games weren't launched from the OS, they were loaded from a boot floppy because we really didn't have OS's back then? (Unless you purchased CP/M, of course.)

    Well, Knoppix has demonstrated an absolutely ridiculous level of competence at autodetecting hardware, and since . Would the gaming industry consider the possibility of using Linux as a development platform in a trend back to using bootable disks for games?



    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.