×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Is .NET Relevant to Game Developers?

Cliff posted more than 10 years ago | from the help-or-hindrance dept.

Programming 563

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

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

563 comments

That Giant Sucking Sound... (3, Insightful)

ackthpt (218170) | more than 10 years ago | (#5842788)

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

Re:That Giant Sucking Sound... (2, Insightful)

Anonymous Coward | more than 10 years ago | (#5842831)

What utter nonsense. The CLR isn't that slow at all, and if you do find that you'd like to call a library written in another language, it's trivial to do that in .NET.

Your argument sounds very like the "proofs" we were all given that games would always be written in asm, not in C++. Look at what tosh that is.

Re:That Giant Sucking Sound... (0, Redundant)

akadruid (606405) | more than 10 years ago | (#5843074)

Very true. In the end like many things where there are multiple solutions to a problem, the one that is marketed the best will come to dominate.
When you begin a new project, you have many factors influencing you choice of language, and there may be nothing that is exactly perfect, just choices between different strengths.
A good design can make more difference than the difference between languages anyway.

Re:That Giant Sucking Sound... (2, Interesting)

scenic (4226) | more than 10 years ago | (#5842834)

I thought the .NET framework allowed compiling down to native code?

The bigger issue for game development is that memory management is turned over to the system, which takes a lot of control away from game developers... these are people that put inline assembly code to speed up certain sections...

I'd be interested in the .NET experts out there to comment on the parent post. AFAIR, .NET's main disadvantage is the defering of resource management to runtime. Since you can compile it down, that part of the performance equation isn't so bad. that's IIRC. :)

Sujal

Re:That Giant Sucking Sound... (4, Informative)

disc-chord (232893) | more than 10 years ago | (#5842886)

The bigger issue for game development is that memory management is turned over to the system, which takes a lot of control away from game developers... these are people that put inline assembly code to speed up certain sections...

Oh how I fear for anyone whose source of .NET information is /.

The memory managment is not "turned over" to the system. There is an automagic Garbage Collector like Java, but you still have control if you don't want to wait for the automagic processes.

Re:That Giant Sucking Sound... (1)

danro (544913) | more than 10 years ago | (#5843087)

There is an automagic Garbage Collector like Java, but you still have control if you don't want to wait for the automagic processes.

...and just like in Java, that control is less than perfect.
If I remember correctly there is, for example, no way to guarantee a destructor will run for a particular instance before it is recycled.

Is this still true?

Re:That Giant Sucking Sound... (5, Informative)

Anonymous Coward | more than 10 years ago | (#5842906)

Wow have you even tried .NET? This entire slashdot article could have been eliminated with a quick google search.

CLR doesn't produce slow code. It's NOTHING like when people complained how slow java was. That's because .NET isn't interpreted, but designed to be JITted. Heavy math is fast in C#, and made even faster since you have the option of STRUCTs! (we do plenty in our research work that involves computer vision.)

It won't do MMX optimizations so far, at least not that I know, so that stuff is still done by hand. But DirectX 9 is basically 'DirectX.NET', and the .NET DX9 libraries give you 98% of the C++ performance. That isn't too bad now is it?
Most of the stuff we've used in DX9.NET has been very fast, and using the simple interop with native code we've written plenty of MMX/SSE/SSEII optimized methods where we needed them.

In addition to your game needing the .NET framework - that's only 20 megs. When most games nowadays are coming out on several CDs, installing the .NET framework isn't a big deal.

What does this give a game developer? Plenty! Faster development of games with fewer crashes possibly, easier patching of games and auto-updating. Games are a different beast than commercial apps - you don't need versioning so much, you don't need XML, or rapid GUI development. But there's nothing wrong with writing a game in C#, it's just another language, and its plenty fast.

Re:That Giant Sucking Sound... (1)

salimma (115327) | more than 10 years ago | (#5842913)

players will have to have the .net Framework (~20 meg, of which I note 1.1 is now downloading on Microsoft update.)

Just received my new computer and surprise surprise, it did not actually ship with .NET Framework, which I have had to install to run #Develop [icsharpcode.net].

Wish Microsoft bundles both Java and .NET - wasn't the whole reason why .NET does not come bundled yet, Microsoft's apprehension of being forced to bundle Java too?

Re:That Giant Sucking Sound... (1)

cygnusx (193092) | more than 10 years ago | (#5843034)

Wish Microsoft bundles both Java and .NET - wasn't the whole reason why .NET does not come bundled yet, Microsoft's apprehension of being forced to bundle Java too?

The Windows Server 2003 release candidates all have the framework installed, along with updates to the framework.

The framework is also a 'recommended download' on WindowsUpdate for Win2k computers (not sure about XP).

Re:That Giant Sucking Sound... (1)

ackthpt (218170) | more than 10 years ago | (#5843045)

Just received my new computer and surprise surprise, it did not actually ship with .NET Framework

This was a bit of a shock when I installed XP Pro on my home system. Still fooling around with a 56K connection, downloading the .net framework (1.0) was an activity to plan around, i.e. start the download and go see a movie. Now for the joy of (1.1) I've downloaded it at work, and will look hopefully for an .MSI which I can just pop on a flashdisk and carry home, rather than go through that slow ~20+Meg download again.

XML Thing... (3, Insightful)

redragon (161901) | more than 10 years ago | (#5842921)

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?

Re:That Giant Sucking Sound... (1)

gammelby (457638) | more than 10 years ago | (#5842934)

It was when people complained how slow Java was.

Well, it's pretty much the same thing. [...] 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

No decent VMs are solely interpreter based - modern JITs perform comparable to C/C++ also under the conditions you mention. E.g., check out this C vs. Java comparison [visi.com].

/ulrik

You obviously haven't used .NET much... (-1, Flamebait)

greygent (523713) | more than 10 years ago | (#5842945)

CLR produces slow code.

Where did you pull this out of your ass, idiot? You're the reason Slashdot sucks. Die.

Re:That Giant Sucking Sound... (0, Interesting)

Anonymous Coward | more than 10 years ago | (#5842997)

Something to remember:

* you CAN compile to machine code
* many games, like Black and White, use a SCRIPTING ENGINE to implement game logic and fast low-level code to render

Re:That Giant Sucking Sound... (2, Funny)

Surak (18578) | more than 10 years ago | (#5843071)

Maybe it'll allow the player to enjoy games which are Office compatible or such, doesn't seem relevant.

Why not? Imagine playing Quake to create your next spreadsheet! "Quick! There's AA51! Where's my BFG9000 when I need it?" :)

Strange... (0, Interesting)

Anonymous Coward | more than 10 years ago | (#5842799)

It's very odd how everyone seems to have forgotten about the "store all your information on Microsoft servers" part of .NET.

Re:Strange... (0)

Anonymous Coward | more than 10 years ago | (#5842896)

It's very odd how everyone seems to have forgotten about the "store all your information on Microsoft servers" part of .NET.

Actually, even Microsoft seem to have realized that they can more or less forget about that one.
Not many businesses are very keen on being directly dependent on MS for customer data, given their reputation.

However, other parts of .NET is a great step forwards for windows development.
(Just try using Visual Basic 6 and ASP for something serious, you'll be throwing things at the screen in no time.)

Re:Strange... (5, Informative)

Lord Dimwit Flathead (668521) | more than 10 years ago | (#5842995)

That part has nothing to do with the .Net Framework. The Framework is a virtual machine and class library, while the ".Net Services" was going to be a collection of subscription web-based services (not necessarily XML/SOAP webservices though).

Microsoft's marketing droids decided that if they called everything .Net, it would somehow generate excitement in the market, or some such. They did the same thing with their server products, calling them collectively ".Net Servers" regardless of whether they had any connection to the .Net Framework. It was only a couple of months ago that they decided to rebrand W2K3 from ".Net Server" to "Windows Server 2003".

Re:Strange... (-1)

Anonymous Coward | more than 10 years ago | (#5842930)

I'm starting to think that Microsoft has a lot of accounts on Slashdot, so they can always mod anything about them down.

.MICROSOFT (-1, Flamebait)

Ledskof (169553) | more than 10 years ago | (#5842801)

They should have just called it .MICROSOFT. .NET sounds too far away from the microsoft proprietary nightmare that it is.

the "way of the future" shouldn't even skim the waters of proprietary.

Re:.MICROSOFT (-1)

Anonymous Coward | more than 10 years ago | (#5842887)

Ok first off, how is this offtopic? Oh I forgot we weren't talking about .NET.

Oh and also, the fact that .NET is proprietary is off topic too?
freaking tards.

Re:.MICROSOFT (0)

Anonymous Coward | more than 10 years ago | (#5842941)

Ever heard of shared source, asswipe?

How proprietary can it be if we are giving you the source?

Oh, I forgot, its MS, so it must be bad.

Re:.MICROSOFT (0)

Anonymous Coward | more than 10 years ago | (#5843067)

I used to think that "shared source" was just for letting a few people take a look at some parts of the source code, under a very strict NDA. I didn't know that "shared source" would allow me to make changes to the code and distribute it. Thanks for clearing this misunderstanding I had.

Re:.MICROSOFT (-1)

Anonymous Coward | more than 10 years ago | (#5843077)

Was that sarcasm, Linux fag?

Will there be DirectX for .NET? (1, Informative)

Anonymous Coward | more than 10 years ago | (#5842802)

Will there be DirectX for .NET? Yes, there already is. Google for "Managed DirectX".

.net DirectX (5, Informative)

KliX (164895) | more than 10 years ago | (#5842809)

There is DirectX for .net already.. it's called managed DirectX and has been around for a fair while through beta cycles et al.

Another round of bug fixing and it'll be rather good.

Re:.net DirectX (1)

Bluelive (608914) | more than 10 years ago | (#5843079)

And pretty slow, just compare the c++ and c# dx9 example programms. Maybe its my machine but it runs at a fifth of the framerate.

More Dominance (0, Flamebait)

dallask (320655) | more than 10 years ago | (#5842810)

Does this mean that were all going to need a Passport account to play Half Life 2.

Re:More Dominance (0)

Anonymous Coward | more than 10 years ago | (#5842858)

Nope! Be sure you could probalby just hack through it, given the current state of security @ micsofty

Post this to GAMES.SLASHDOT.ORG (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#5842815)

Remember that all game posts go there

Re:Post this to GAMES.SLASHDOT.ORG (1)

jemnery (562697) | more than 10 years ago | (#5843033)

But where does stuff about game development go?!?

Too many categories makes it harder to categorise - that's why sane people try to minimise the number of top-level directories in a file system...

Dotnet won't rule the world. (5, Informative)

dtolton (162216) | more than 10 years ago | (#5842816)

At work I've used dotnet for the past year and half full time.
I've built websites with it, I've build desktop apps with it,
I've even built auto-updating distributed apps with it.

Dotnet has some good things to it and some bad things just like
any other technology. Before dotnet, most of my work solutions
were written in VB *shudder*, but when dotnet was released I
switched immediately to C#. C# does some things right that Java
didn't do too well on, but those are honestly pretty rare. IMO,
C# is very much like an immature version of Java. That being
said, Microsoft is pushing dotnet pretty hard.

When it comes to dotnet for game development, it is a
possibility. Mainly because Microsoft is putting so much
emphasis on it. With good native integration into DirectX, they
could push a lot of DirectX developers into using C# or Managed
C++, maybe. It will only happnen if MS can make the integration
fast and tight, and even then I don't think everyone doing
DirectX will use dotnet, it imposes too many rules on you as the
developer and really hides the low level details that are so
critical to many high performance games (yes even using unsafe code). On the other hand it
could be a good language for someone to learn to write games in,
for just that reason.

Of course, that really only applies to people who want to use a
Microsoft product for building games. The ubiquity of dotnet
within the MS world will have little to no effect on the OpenGL
programmers, except that they may need to find a different
editor *if* they have been using Visual Studio.

In reality I think dotnet is what everyone thinks, a competitor
to Java. How many highgrade professional games are written in
Java currently?

Re:Dotnet won't rule the world. (-1, Troll)

SirLanse (625210) | more than 10 years ago | (#5842928)

C# and managed C++ are no better than VB7.
They all go to the CLR and it is the same no matter what language you use. It is slow and piggy.
M$ wants .NET to be the term, then they can copyright the interfaces and lock out other tool makers. COM has gotten out of control and it is all about control.

Re:Dotnet won't rule the world. (2, Informative)

ackthpt (218170) | more than 10 years ago | (#5842992)

At work I've used dotnet for the past year and half full time. I've built websites with it, I've build desktop apps with it, I've even built auto-updating distributed apps with it.

Your post is excellent with much more thought than I could cram into mine (office moving day, sigh.) Effectively .Net is intended for business application development, whether on server or client, or client-server. It has the typical rapid (well, unless you get stuck, it being so new yet, help can be hard to find) development ability of most tools which aren't geared to engineering or game work. Though, as processor speeds increase, hardware architecture improves and people get faster connections (which has been a reversed trend for a while with DSL ISP's going kapoot) the burden becomes less visible.

As an afterthought. I've still got some old games which were probably coded largely in assembler and c and are unplayable because hardware is so damn fast now. MoSlo hasn't been much of a help, either, since it provides uneven compensation for increased horsepower. I think anyone who thinks .NET isn't really too slow needs to see what these old games look like GHz processors and think about where all that increased power has gone.

Re:Dotnet won't rule the world. (1, Insightful)

Anonymous Coward | more than 10 years ago | (#5843083)

think about where all that increased power has gone.
It's gone into making more complex game worlds and better graphics. Either that, or it isn't being used.

Superlative! (-1, Troll)

Anonymous Coward | more than 10 years ago | (#5843013)

C# is very much like an immature version of Java.
Huh, whaddya call an immature version of an immature product? Infantile? Fetal?

Every java implementation I've ever used was extremely immature, especially when compared to the hoary old standards like C, FORTRAN, SNOBOL, etc., but also even when compared to relatively new languages like Perl or C++.

Re:Dotnet won't rule the world. (2, Insightful)

danro (544913) | more than 10 years ago | (#5843049)

How many highgrade professional games are written in Java currently?

None.
But that is largly because of javas lingering performance issues.
Everything running on a VM has to have some extra overhead compared to native code, but .NET, unlike Java has the luxury of not having to be platform independent, and should have less of a problem in this departement.
(In fact, not being platform independent is a plus for MS. They will need something to prop up their OS business in an age of increasingly commoditized* operating systems.)

I think .NET may have the potential to become suitable for games programming.
These parts of .NET will of course be hopelessly tangeled with the windows operating system (moreso than the winforms parts), ie. hard to port and utterly unusable on other operating systems.

Or, I may be talking out of my ass here.

*) Read: GNU-Linux and friends...

maybe developers would wise up then.... (1)

dwgranth (578126) | more than 10 years ago | (#5842817)

and use OpenGL [opengl.org]

Re:maybe developers would wise up then.... (1)

drzhivago (310144) | more than 10 years ago | (#5843026)

Great and all, but how does OpenGL handle mice and joystick input?

Part of the problem with comparing DirectX and OpenGL is that too many people are really only comparing Direct3D and OpenGL.

.NET is used for game development (1, Flamebait)

Fnagaton (580019) | more than 10 years ago | (#5842823)

For starters you have to use .NET for XBox stuff. :) The optimisation is also better than VC6 so it makes sense to use .NET for games.

DirectX 9.0 for Managed Code (its out already) (5, Informative)

tsinbad (132577) | more than 10 years ago | (#5842826)

DirectX 9.0 for Managed Code
(its out already)

With DirectX 9.0, developers can take advantage of DirectX multimedia functionality and hardware acceleration while using managed code. Managed DirectX enables access to most of the original unmanaged DirectX functionality. The following are the managed code languages supported by DirectX 9.0 and documented in the software development kit (SDK).

Microsoft Visual C#(TM)
Microsoft Visual Basic® .NET
Microsoft Visual C++®
Microsoft JScript® .NET

http://msdn.microsoft.com/library/default.asp?url= /library/en-us/directx9_m/directx/directx9m.asp?fr ame=true [microsoft.com]

No. (0)

Anonymous Coward | more than 10 years ago | (#5842829)

Were all games based on COM?
Of course not.

Alot of developers are using visual studio .net, but that doesnt mean games will ".NET" based.

....yawn...

Based on what microsoft has done in .net games NO (4, Informative)

will_die (586523) | more than 10 years ago | (#5842840)

The developers of AC2, developed by another company for microsoft, where given authencation code and chat server code developed by microsoft. The addition of this code has made the game unplayable. Here is a quote about the problem from the microsoft head of the game: " Right now the Chat and Authentication System (the Microsoft technology that handles this entire sort of chat) relies on system calls to another system--one that is not related to the Chat and Authentication System or to AC2--to send out the packets that contain your chat. What is happening is that under high CPU usage (that is, when the game starts reaching its peak), this third system starts to throttle the packets and queue up the game server messages (not to be confused with messages/chat to players)." From what is know about the authentication server and chat they are based on .net technologies. So since microsoft cannot produce its own reliable stuff using .net what is the chance of someone else?

Proper implementation would have saved this (1)

ShwAsasin (120187) | more than 10 years ago | (#5842844)

If Microsoft had've written DirectX in C, instead of their freeko C++/COM methods, this would probably be avoided. OpenGL was written in C, and it works fine all sorts of platforms, regardless of what other functions are available. Microsoft has cleaned up much of their in recent versions, but for the longest time DirectX was a nightmare to code in.

I won't use .NET for game development, period. I guess I'm old fashioned, but I like my SDK's as simple as possible, something Microsoft doesn't seem to like making anymore.

Re:Proper implementation would have saved this (0)

Anonymous Coward | more than 10 years ago | (#5843092)

You won't be using .NET for game development because you're a janitor.

Visual Studio .Net is, Managed code is not (2, Interesting)

Master_Flash (512815) | more than 10 years ago | (#5842850)

I asked this question at a .Net seminar and the naswer was. Use the non managed version of C++ for game development but NOT the managed code. Two reasons. Managed code is slower. Also calls into and out of the CLR are very slow if you are mixing managed and unmanaged code.

Why are you asking us? (1)

pete-classic (75983) | more than 10 years ago | (#5842853)

Why don't you ask Steve "Developers, Developers, Developers" Ballmer?

I say this, not to be snide (well, okay, a little bit), but to point out that the ostensible strengths of proprietary software are mostly illusory.

Next up, "My boss wouldn't let me run Linux, 'cause there was no one to sue if things went wrong. We subsequently got burned by some MS software, but the license agreement says we can't sue them. How did we come out ahead on this?"

-Peter

Doubtful. (1, Troll)

Sheetrock (152993) | more than 10 years ago | (#5842859)

It's not like we've even figured out what the hell .NET is yet, right? I've played around a bit with C# (both Microsoft and Ximian versions) and thought, well, this is great but where is this going to take us that Java hasn't? It's important not to get caught up in the buzzwords, the hype, or the marketing ploy to redefine the paradigm. For example, just the other day while I was enjoying a meal of Hunan Chicken I was reflecting on the history of chopsticks, and the humor in the whole situation of people getting pretentious in their ability to use them. Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities? But this is just another situation where marketing has gained such a foothold that myth becomes historical fact, amusingly so when you realize that chopstick use in Asia now far outstrips American chopstick use and that something like 1% of all our lumber exports go towards manufacturing wooden chopsticks. It's easy to carve new markets out of ignorance, but it doesn't imply relevancy -- far from it. You can slap .NET on a game, but it still comes down to the fundamentals: does it run, is it fun, does your player have a gun? I don't see anything in the toolset that will make development any simpler, and in fact think it'll make it harder to create something that works properly and properly exploits all this expensive hardware people are packing into their systems nowadays.

Nice story, but WRONG. (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#5842953)

Chopsticks originated in China during the Shang dynasty. (~1100 B.C.).

Re:Doubtful. (5, Informative)

salimma (115327) | more than 10 years ago | (#5842966)

Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities?


I think you were thinking of fortune cookies, not chopsticks. I can assure you, coming from South-East Asia, that the Chinese, Japanese and Koreans all have been using chopsticks for millenias.


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

And no, my chopstick handling is still rather poor. I can use it to eat rice though :p

WRONG (0)

Anonymous Coward | more than 10 years ago | (#5843005)

Check your facts on the chopsticks.

"Chopsticks were developed about 5,000 years ago in China. It is likely that people cooked their food in large pots which held heat for a long time, and hasty eaters then broke twigs off trees to retrieve the food. By 400 B.C., because of a large population and dwindling resources, food was chopped into small pieces so it could be cooked rapidly to conserve fuel. "

http://www.calacademy.org/research/anthropology/ut ensil/chpstck.htm [calacademy.org]

Re:Doubtful. (0)

Anonymous Coward | more than 10 years ago | (#5843009)

Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities?
Er - no. They were invented sometime around 1700BC in China. Where did you get this peculiar idea from?

Re:Doubtful. (0)

Anonymous Coward | more than 10 years ago | (#5843032)

Chopsticks were developed about 5,000 years ago in China. It is likely that people cooked their food in large pots which held heat for a long time, and hasty eaters then broke twigs off trees to retrieve the food. By 400 B.C., because of a large population and dwindling resources, food was chopped into small pieces so it could be cooked rapidly to conserve fuel.

The pieces of food were small enough that they negated the need for knives at the dinner table, and thus, chopsticks became staple utensils. It is also thought that Confucius, a vegetarian, advised people not to use knives at the table because knives would remind them of the slaughterhouse. Chinese chopsticks, called kuai-zi (quick little fellows), are usually 9 to 10 inches long and rectangular with a blunt end. By A.D. 500, chopstick use had spread from China to present day Vietnam, Korea, and Japan.

Re:Doubtful. (4, Interesting)

reg106 (256893) | more than 10 years ago | (#5843039)

Hi,

Where did you get that information on chopsticks? It sounded like interesting story to have on hand, so I took a look at Enclopedia Brittanica, which said:

"Chopsticks of bamboo or wood, and subsequently of ivory and precious metals, originated in China as early as the Shang dynasty (c. 1766-c. 1122 BC) and from there spread throughout East Asia. In China, the substitution of chopsticks for knives at the table reflected the ascendancy of the scholar over the warrior as a cultural hero."

Which would seem to indicate that chopsticks were around for several millenia, and also gives some basis for the pretension associated with them. Do you have any further references on the use of chopsticks in mining restaurants in the U.S.?

Re:Doubtful. (1)

jafiwam (310805) | more than 10 years ago | (#5843041)

I was enjoying a meal of Hunan Chicken I was reflecting on the history of chopsticks, and the humor in the whole situation of people getting pretentious in their ability to use them. Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities?

I think you are remembering the invention of the Fortune Cookie, which is said to have been invented in San Francisco or some other West Coast city by chinese immigrants.

Chopsticks have been around a LONG time. Google it if you don't believe me, for the lazy, here is a link: California Academy of Sciences Anthropology Department History of the Chopstick [calacademy.org]

Re:Doubtful. (0)

Anonymous Coward | more than 10 years ago | (#5843048)

The history of chopsticks:

http://www.factmonster.com/spot/chopsticks1.html

Re:Doubtful. (0)

Anonymous Coward | more than 10 years ago | (#5843082)

Chopsticks have been used in China for 5000 years.

dotnet won't work because... (-1, Flamebait)

Durin_Deathless (668544) | more than 10 years ago | (#5842870)

... they will require you to have Windows to use it. If not, then you will have to have a PC with Palladium(just you wait!). You will be permitted space on the M$ server to store things, but what they forgot to mention is that copying your files to your individual machine is verboten. Maybe the computer won't even let you try!

.NET is Java (0, Insightful)

Anonymous Coward | more than 10 years ago | (#5842871)

And nothing more.
Nothing new under the sun, been there already for 4-5 years.

Web Forms - a fancy name for Java servlets.
C# - an alias for Java programming language.
CLR and .Net platform - a conspicuous name for the Java Virtual Machine
Web Services - nothing more that classes interacting using XML

After demonstrating to us for years why Microsoft technologies are superior to Java and why we should stick to them, here we go - we find out that the system registry sucks, that we have problems with the versioning (DLL Hell), that MS languages are propriatory to only a limited number of platforms out there (ONE!), that COM sucks and here we go - DA! DA! we reinvent the wheel.

After all, Java addressed all these issues 4 years ago, so if MS is to be acclaimed is that they finally realized there's a better technology and concepts out there and they adopted it in order to survive the massive shift of people towards their competitors.

"Where do you want to go today?" Would you want to go to a company whose "Next Generation Services" is something 4 years old and desperately tries to play a catch up game? What about all the other statements - "PC will never dissapear" whould you still believe in those?

You will... (1)

BigChigger (551094) | more than 10 years ago | (#5842872)

develop games only for xbox. MS is turning the gerneral purpose computer into a dumb MS terminal: click here to edit a document; click here to hear a windows media file; click here to view a windows media file; click here to vis MSN. That's what palladium et al are really all about.

BC

it went down like this (1, Funny)

b17bmbr (608864) | more than 10 years ago | (#5842876)

Bill: Steve
Steve: yes
Bill: is windows secure and stable yet

It is stormy in the pacific northwest, rains and cold have been present for the past several days

Steve: (sick with the flu, congested, and tired from jumping) not yet
Bill: Dot Net, that's it. (picks up phone) "marketing, this is bill. we're going with dot net, steve says so."

Yes (1)

johnburton (21870) | more than 10 years ago | (#5842877)

> Will there be DirectX for .NET?" Yes, it's called direct X 9. It's already out.

Re:Yes (2, Funny)

mrAgreeable (47829) | more than 10 years ago | (#5842892)

Nothing, after all, says "High Performace Game Engine" like interpreted bytecode.

Re:Yes (0)

Anonymous Coward | more than 10 years ago | (#5842959)

Who ever said .NET is interpreted? The bytecode in .NET is compiled before running - that's right - COMPILED. It wasn't designed to be interpreted like Java.

That's why C# is so fast. Try it one day.

DirectX9 has .NET support (1)

Val314 (219766) | more than 10 years ago | (#5842879)

DirectX 9 has a managed DirectX, witch works fine with .NET apps. (havent tried it myself, but its there)

see there: http://msdn.microsoft.com/library/default.asp?url= /library/en-us/directx9_m/directx/directx9m.asp?fr ame=true [microsoft.com]

Re:DirectX9 has .NET support (0)

Anonymous Coward | more than 10 years ago | (#5843084)

there were about six previous posts with exactly the same information you posted. why don't you try and at least scan the previous posts before making redundant posts? fuck off.

the answer: my cock (0)

Anonymous Coward | more than 10 years ago | (#5842885)

and if that isn't the answer, buddy, you're asking the wrong question!

Standard Dumb Question (TM) (0)

Anonymous Coward | more than 10 years ago | (#5842899)

We've heard an awful lot about how [new technology] is the future and how [new technology] signals the end for [old technology], but how far does this go? Is it really the end of [old technology]? Will ALL [current process] be done with [new technology]? What about [offshoot of current process]? Will [offshoot of current process] be developed with [new technology]? If [offshoot of current process] aren't developed with [new technology] and [organization] is killing [old technology], then what future for [offshoot of current process]? Will there be [other old technology] for [new technology]?

.Net for game development (1)

glenrm (640773) | more than 10 years ago | (#5842901)

No would be the short answer. Wild Tangent web drivers seem to be the best way to use Direct X on the web at the moment. For non-browser based games why would you use .NET Framework at all? Would be nice if they did not name everything .NET very strange sort of like when everything was called ActiveX. The label just doesn't mean anything in the end. Anybody got Cg working with Open GL on Linux on a GeForce FX, and if so how fast is it and what does it look like?

Re:.Net for game development (0)

Anonymous Coward | more than 10 years ago | (#5842946)

Cg is a language for writing shaders that are "uploaded" to the graphics card and run there. It's not a general-purpose language.

The real question is "is .net relevant to anyone?" (-1, Troll)

yppiz (574466) | more than 10 years ago | (#5842908)

The real question is "is .net relevant to anyone?"

The answer is "no."

--Pat / zippy@cs.brandeis.edu

Uh huh (5, Insightful)

stratjakt (596332) | more than 10 years ago | (#5842909)

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

DirectX for .NET (1)

Sir Banana (22536) | more than 10 years ago | (#5842918)

DX9 has a managed inteface for most if the core components. MSFT are claiming a few% slowdown over C++ however i think that it pretty much irrelevant nowdays since games programmers seem to be having a hard time keeping up with the vast advances in computing power available to them. If working in .NET drops the framerate from 100 to 95 in exchange for a more productive porgramming environment then i think that it is worthwhile.

Directx9 also includes good integration with vstudio.net that lets you debug your shaders nicely.

There are 2 problems: the documentation is very poor at the moment - i have to find the equivelent c++ function in the help to get any info on what it does - and not all the parts are available (DirectMusic being the most noticable)

No, game development will still be the same... (4, Interesting)

Fallen Kell (165468) | more than 10 years ago | (#5842922)

... at least for now. .NET is a "good" idea in theory. But it's performance is just not up to par compared to the execution times of applications using .NET vs C++.

It is the equivelent of placing another abstraction layer on the executable code before it is executed. This inherently decreses performance of the application (its something like the equivelent of writing a game in perl... it relies on the perl interpreter to create the actual executable code which is why something written in perl takes longer to execute then something written in C++ (I know there is a debate on this, but for the majority of cases this is true, however, it is also true that it may be 1000x easier to "code" the application in perl vs C++))

If MS optimizes their interpreter, then in theory, it will eventually become almost as fast as C++, and at that time, it may be worth the benefits of coding in .NET for the applications. .NET is fairly easy to code many types of applications, but when performance of the final executable is your major goal, then .NET is really not the language for you.

The only use for .NET in games... (1)

CoolVibe (11466) | more than 10 years ago | (#5842925)

...as I see it is maybe for an in-game scripting language, i.e. QuakeC in the golden olden days.

I mean, I'm not advocating .NET or anything, but the idea of being able to plug perl or python (or whatever else) could be pretty cool for making game mods, dontchathink?

Using .NET to write a full blown, polygon-pushing, 3d-accelerated game would be like shooting off your foot with a nuke. Although, I'd like to be proven wrong :)

Re:The only use for .NET in games... (1)

stratjakt (596332) | more than 10 years ago | (#5843040)

Using VC++ .Net is just an upgrade from using VC++ 6, you don't have to use managed code if you dont want to.

So it's the exact same development process, with a slightly better compiler, in that it produces slightly faster code (better optimized for AthlonXP, iSSE2, etc).

Using .NET doesnt mean using the CLR or creating interpreted code or making everything XML. .NET is also speak for Vis Studio 7, same as XP is speak for Windows v6.

Though frankly the CLR isn't as slow (on a windows box) as slashbots make it out to be. Maybe mono is, but run natively it's fast enough that I could see games being created for it. For most eye-candy intensive games, it's your video card choking while your CPU is only at 12% utilization.

the CLR does not produce slow code, JAVA is SLOW (0)

Anonymous Coward | more than 10 years ago | (#5842927)

I've developed in both.

If your client platform is only Win32 (and thats 99.9% of people) then there is NO reason to use anything but .NET.

I've yet to see a Java app that ran worth a shit. SLOW SLOW SLOW. .NET is everything Java meant to be.

Why does every one of your solutions involve MS? (0)

Anonymous Coward | more than 10 years ago | (#5842939)

There were programs written before Microsoft
came along, and there will be after they're gone.
You've got a brain, use it, don't rely on
others to tell you what to do and how it should
be done.

.NET and Passport are not the same thing (2, Informative)

Anonymous Coward | more than 10 years ago | (#5842942)

People keep asking the (dumb) question "but if you build it with .NET then I'll have to have Passport/reveal my shoe size to Microsoft/bring about the downfall of Western Civilization in order to use it, right? WRONG... RTFM. .NET is just an application development framework (a very comprehensive one at that). You may be thinking instead of the erstwhile "Hailstorm," which is not the same thing as the .NET application development framework, and to my knowledge is basically a failed initiative at this point. People who have never developed any .NET code should probably refrain from pontificating about its shortcomings.

There is already Managed DirectX for .NET, as others have pointed out, and this makes good sense considering how easy it is to call COM code from .NET. To those whining about how slow CLR code is, I suggest you actually try it and benchmark it before opening your mouth... Java it is *not* (hallelujah)...

What exactly is the point of .NET? (2, Interesting)

Dr. Bent (533421) | more than 10 years ago | (#5842950)

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.

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

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

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

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.

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

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?

Re:What exactly is the point of .NET? (0)

Anonymous Coward | more than 10 years ago | (#5843050)

Hmm, the .NET compact framework is pretty small and easily installs on PDAs/Phone Apps.

If you're an enterprise customer, platform isn't something you worry about so often. How often does an enterprise customer switch between MS and Sun and Java and IBM? Not too often I'd guess - if you're switching platforms that often then you definately didn't make the right design decisions.

Java isn't necessarily more reliable. It's also harder to deploy, harder to manage, and harder to maintain than an equivalent .NET App. J2EE is a complex, messy, PLATFORM DEPENDENT protocol - you can't build a decent, real world J2EE App without using the proprietary application server API. So if you move from JBoss to IBM's J2EE server you're going to have to recode a bunch of stuff.

Also J2EE is a lot more expensive ;-).

Honestly, we could do everything in ASM/C if you'd like. .NET fixes problems they saw in Java and COM. It's an improvement, just like all of computer science.

.NET is also an IDE, and an optimized C++ compiler (5, Informative)

spaten-optimator (560694) | more than 10 years ago | (#5842952)

The parent article seems to have a vague concept of what .NET is. (Perhaps this is more MS propaganda's fault.) MS released C#, and that's what they're toting when they talk about ending COM-based windows development, I think. If you knew what COM was, you might have a better understanding of what Microsoft is phasing out. COM is the Component Object Model. It allows programs to invoke special versions of other software (which has a COM written for it) and call routines out of that software. For example, I could call the spellchecker for MS Word from my email-writing program, assuming the user had Word installed, of course. I used COM in writing an application meant to automate customer response letters (the user wanted to have Word-compatible documents when the program was finished - a perfect example of COM) and let me tell you: COM is hairy. You have to pass pointers to functions, call functions with nasty parameters... it's a good idea, it just doesn't work inside the C/C++ syntax very well. Unless you're looking for your game to be able to read and write MS Word files, or print through Excel, games probably wouldn't have used the Component Object Model. C# apparently has the same functionality that COM did, but probably does it a little more elegantly. In any case, game developers didn't use COM, and they're probably not using C#. They WILL, however, be using .NET. Because Visual Studio .NET is Microsoft's latest incarnation of their programming IDE and compiler package. And the later versions (hopefully) contain more and more code optimization. And Microsoft HAS good code optimization: they bought all of Watcom's optimizing people a few generations back (when game programming was done almost exclusively in Watcom). In short: Visual Studio .NET is probably phasing out COM. This has absolutely no bearing on game programming.

We could only hope... (1)

mahdi13 (660205) | more than 10 years ago | (#5842960)

...that DirectX would go away and everyone would start using a more portable language like OpenGL or SDL...but MS would never let that happen and already have DirectX available for .NET

On top of everything else said (1)

truthsearch (249536) | more than 10 years ago | (#5842988)

Along with everything else said about the extra .NET layer, this will work out the same as everything else for developers on Windows: those who look for the best solution to their needs may or may not use it (probably not), but those who blindly follow Microsoft's push - the vast majority - will use it if MS tells them to. Unfortunately most developers only familiar with the Microsoft world do whatever they push. It may seem like COM is dying, but it's the underlying technology to all of .NET until they rewrite .NET to do all the work Win32 already does. So if you want to keep using COM go right ahead, it's not going anywhere for a long time. But Microsoft will be able to push the majority of developers to .NET simply because they'll listen to whatever they're told.

I think what we have here... (0)

Anonymous Coward | more than 10 years ago | (#5842989)

..is a bunch of Java developers crying because they have wasted so much time with a failed technology (Java is dead).

Even the suits are starting to realize that if they can actually watch the dropdown box be drawn, it must be Java.

.Net and Games - It is a reality (4, Interesting)

Anonymous Coward | more than 10 years ago | (#5842994)

way back when .net was still beta and machines were at least 1/2 to 1/4 the speed they are today I saw a demo of Quake 2 models being rendered in .net flawlessly - and this was using OpenGL and an ultra craptastic laptop.

Fast forward two years with Managed DirectX and you have a pretty decent system for writing games with fewer bugs because you are not likely to encounter certain errors (memory leaks for one). Games like Unreal Tournament 2003 and Doom 3 will obviously be tuned using assmebler and written primarily in C/C++ ... but I think many games in the future (maybe 3-5 years) will be using .net simply because it makes developing that much easier.

I have benchmarked some encryption routines I wrote in school back in the day, and they were originally done in Java. The Java code started much slower (stupid JVM - big issues) but once everything was in ram and cruising along it wasn't much slower than C++... with .NET it actually ran slightly faster than my C++ code (probably because of being able to instantiate and destroy objects better). I am a big believer in .net and can't want for better cross platform support

com (0)

Anonymous Coward | more than 10 years ago | (#5843015)

My understanding, from the corporate training and seminars i've attended, is that not event Microsoft believes that dot net is stable enough to run in life-or death situations like hospitals and games.
Seriously, ms will continue to support com because com works. Dot net is managed code for a connected environment. It is an easy environment to work in, whereas com is more challenging. Microsoft wants dot net to replace vb, server-side scripting and java, but they acknowledge that c is still more efficient.

Yes, But (4, Interesting)

sjvn (11568) | more than 10 years ago | (#5843030)

It's not like Microsoft developers will have much choice in the matter. The new Visual Studio is bult around .NET, the title gives it away: "Visual Studio .NET 2003."

But, what does that really mean? Good question, Microsoft is backing off from calling everything .NET because they overused it to the point that the term became essentially meaningless. With the newest VS, it boils down to you can use the .NET Framework (think object-oriented, component-based API), try mixing code from different lanaguages with CLI, and run C#. Oh, and it makes easier to use the still betaish ActiveX.

Does any of that make sense for a game programmer? Maybe, but since performance is everything to gamers, I suspect it will be a while before we'll see such games. Learning how to exploit .NET Framework means wrapping your mind around what, for many programmers will be a new way of developing programs. Simply knowing objects by way of C++ won't cut it. Because of that aspect, I don't see that using old languages via CLI will help that much to get killer performance. And, as for C#, I've never liked it that nuch, and while I know lots of folks who will argue over its functionality, especially over Java, and vice-versa, I seldom hear anyone comparing it performance numbers to those of C or C++.

Bottom line, yes, it will get used because for some developers VS .NET will be the only tools they have for Microsoft OSs. But, will it lend itself to producing killer games? Maybe someday, but I don't see it happening for another couple of years myself. For now, were I a game programmer, I'd be sticking to C and C++.

Steven

Is it really the end of COM? (4, Insightful)

Jack William Bell (84469) | more than 10 years ago | (#5843056)

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

VC++ 7 might work (2, Interesting)

kko (472548) | more than 10 years ago | (#5843059)

VC++ 7 (which uses the VS.NET IDE) might work for games. AFAIK, VC++ 7 generates native Win32 code, while the other languages generate CLR code.
I have no idea how fast VC++ 7 is compared to the previous versions, but I know for a fact it's way faster than C# code (and I guess it kicks VB.NET in the balls).
Some of the managed classes might be useful for some aspect of a game (savegames is the only thing that I could come up with right off the top of my head), yet .NET code is painfully slow.

C# vs C, DirectX samples (4, Interesting)

SteveX (5640) | more than 10 years ago | (#5843068)

Here's one data point: When the SDK came out I compared the framerate of the DirectX samples in C with the framerate of the equivalent samples in C# (most of the samples are available for both, as examples).

The framerates were very similar - the .NET code lost some benchmarks, but it won a few and on the vast majority, they were within a few percent.

There doesn't appear to be any huge disadvantage to using .NET to write games.

One big advantage, however, is CPU portability - with two flavours of 64 bit CPUs just around the corner, plus different optimization strategies for P4 vs Athlon, having bytecode that gets compiled for your CPU when the game is run will be a big advantage if you happen to own anything but a P4.

It's doubtful that anyone's going to ship a game CD with an Itanium build of the binaries, but if it's .NET, then they don't have to.

- Steve

C++ will NEVER replace assembly in Game Coding!! (4, Interesting)

FortKnox (169099) | more than 10 years ago | (#5843075)

This is great. So many "NO WAY! .NET IS TOO SLOW!" reminds me of assembly programmers saying "C++? Its slow and a memory hog! Games will NEVER be programmed in C++!!"

Well, you can read some books [apress.com] on using DirectX9 for .Net, or even play some games [gotdotnet.com] that were made with directX and .net.

While computers gain more powerful hardware (faster CPUs, bigger memory, etc...) the coding for games will go forward to the newer languages that makes coding easier. You may not like it, but don't worry. There's always jobs for those with assembly knowledge.

And, for what its worth, I think game coding in Java will start becoming a reality in the next five years (and not just on PDAs and mobile phones)...

Excuse me (5, Informative)

Guilly (136908) | more than 10 years ago | (#5843088)

While you might not be aware of this, cross-platform solutions have been used, are used and will continue to be used to develop games.

Will ALL Windows programming be done with .NET?
no. A whole bunch of DirectX developers that use it because they don't know any better will probably move on to .NET gaming. Those who use DirectX because there is specific things in DirectX that they can't find elsewhere will move on to .NET. Others will realize that OpenGL is better than DirectX as an API for mostly anything (Don't flame me for the exceptions).

If games aren't developed with .NET and Microsoft is killing COM, then what future for games development on Windows?

For christ's sake... is developing games and DirectX now linked by some kind of godly power? Most of the good games out there (quake anyone?) have been built on multiple platforms and released on multiple platforms because their developers had a clue, which most developers don't. Having used Microsoft stuff for the past years is not a good point while trying to choose which library to base a project on. Finding the most portable and easy to use one is.

There was a discussion earlier this week about writing portable games here on slashdot. I believe you haven't read it so here it the main idea:
* If you decide to write a game from scratch, pick portable libraries right at the beginning of the project
* test that the project compiles and works on both platforms as it grows.
* keep bad code and unportable code out of the source.

That way you can probably get rid of DirectX, .NET and COM programming in one step.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...