C# going to beat C++ in game prog

Started by
200 comments, last by Emmanuel Deloget 17 years, 7 months ago
Quote:Original post by Will FAs for C#, I wouldn't be surprised if a large number of Xbox Live Arcade and casual/hobbyist PC games use it over the next few years. But I don't expect any game with a $10 million budget to be using it in the near future except in areas like tool development. That might change a few years from now, but the game dev industry can be rather slow moving.


Exactly. It will take time. It think, though, that eventually studios will realize that things have matured to the point that they can make the same game with other languages and won't need a $10M budget.

It will certainly take time. The OP's question was merely "Will C# overtake blah", and I think that managed languages will certainly overtake native languages at some point in the future. It won't be overnight, though.
Advertisement
Quote:Original post by tompp
And if they try out the side effects of a garbage collector they might find it prohibitively expensive (and not for performance reasons) - you cannot control when to do its magic... But it won’t be a problem for less demanding (resource-wise) projects. C# is good for tools, at least until you don’t want to share a piece of code between the C++ app and the one running on the VM. Performance... It depends on how good and what is XNA :)


Actually you can control its "magic" by forcing it to do a collection (System.GC). You can even tell it which generations to inspect. This is, however, generally discouraged.

C#'s performance is as good as or, in some cases, better than C++. What it really comes down to is how good the programmer is at writing efficient C#. If you are sloppy, allocate random objects everywhere, and don't call Dispose() when you're supposed to, you're going to have slower C# code. The same could be said for a C++ programmer who decides to do copy-by-value's everywhere and never deletes memory thereby creating memory leaks.

Lastly MS is writing a custom version of the compact CLR finely tuned for the xbox 360 hardware. I wouldn't be surprised if the performance difference between this CLR and native code is so small it's negligible. Also - the xbox 360 has 3 CPU's each containing 2 3.2ghz cores. The GC could easily be run in a background thread running on a separate core. The fact that you have the entire system dedicated to just running the game means that whenever a collection is required the performance hit on the thread executing it would again probably be negligible at best. Another advantage of this special CLR is that it abstracts the nitty gritty details of the hardware implementation from the developer. I'm willing to bet the MS guys are much more aware of all those little optimizations than your average hobbyist.

Overall I am very excited for XNA. I think C# will work well for the xbox 360 and any potential for minor performance hits will be negated by tremendous boosts in productivity.
.NET has been out for what 4-5 years now? Can anybody point me to a decent game created in .NET?
Quote:Original post by ronkfist
.NET has been out for what 4-5 years now? Can anybody point me to a decent game created in .NET?


I think you may be a bit confused. The XNA framework--which we are talking about here--hasn't even been publically released in beta yet.
Well, the OP mentions XNA, but from my understanding, he/she is asking whether C# is suitable for game development, and if it'll be adapted in general sometime soon.

There are people on this board who does commercial game development in C# (someone with a very high rating, 1500+ IIRC), but I have yet to see a fun and complete game written in C#.

I think some bigger studio will use C# for a project sometime soon, and if they release the engine, I'd say more will follow right away. I think we are waiting for someone to take the first step really..
Well, OP asked 2 questions, which I think can both reasonably be answered "Yes". The point is that the maker of a leading video game console has made it possible for the average person to now develop games with C# and run them on that console. Since one of XNA's aims is to provide a consistent API for PC and XB360, we will probably see more big studios take advantage of it in the coming years.
Quote:Original post by smitty1276
Well, OP asked 2 questions, which I think can both reasonably be answered "Yes". The point is that the maker of a leading video game console has made it possible for the average person to now develop games with C# and run them on that console. Since one of XNA's aims is to provide a consistent API for PC and XB360, we will probably see more big studios take advantage of it in the coming years.


I'm probably one of the few people that's not thrilled with XNA. Hobbyist kits that allowed people to develop without the full blown development kit have been around for almost every major system for the past decade (ie: the Net Yaroze). Usually, they're expensive, but even @$99 per year, XNA isn't cheap. And there are a few limitations that are included with the XBox version that just make me feel that it honestly isn't worth it, nor is it going to be what most hobbyists are after.

I guess this was why I was a little more than just disapointed with the PSP. Here, you had this very powerful handheld, with a memory card that you could read from either the PSP or the PC. A great chance to open up to the homebrew community and increase its popularity to a level hardly seen (yes, I know there is the Gamepark and other solutions, but those are more limited to enthusiests, such as what XNA will be, than what the PSP could have accomplished.

As for the original question, languages are languages. They themselves have no influence on how fast a program will be, how good it will look, etc. That's up to the developer and the compiler, and the libraries they use.
Quote:Original post by smitty1276
Quote:Original post by ronkfist
.NET has been out for what 4-5 years now? Can anybody point me to a decent game created in .NET?


I think you may be a bit confused. The XNA framework--which we are talking about here--hasn't even been publically released in beta yet.


The XNA framework is based off of the .NET framework, hence my question.
Quote:Original post by ronkfist
Quote:Original post by smitty1276
Quote:Original post by ronkfist
.NET has been out for what 4-5 years now? Can anybody point me to a decent game created in .NET?


I think you may be a bit confused. The XNA framework--which we are talking about here--hasn't even been publically released in beta yet.


The XNA framework is based off of the .NET framework, hence my question.


Oh... then it was an irrelevant question... I think you probably need to go read the XNA FAQ, which has tons of information in it.

The XNA framework on the XB360 will be running on a custom/modified implementation of the .NET framework that is highly optimized for the hardware. Also, XNA is an entirely new framework for game development.

Quote:Original post by Nytegard
... but even @$99 per year, XNA isn't cheap. And there are a few limitations that are included with the XBox version that just make me feel that it honestly isn't worth it, nor is it going to be what most hobbyists are after.


I sort of agree. I won't be developing for the XB at first, since it is supposedly portable directly from Windows... why pay for the cow when I can get the milk for free (is that how the saying goes?)? But I agree that the XB360 feature set is somewhat lacking (no network or Live stuff, no access to DVD media)... but they have hinted that at least some of this may be remedied in the future.

We can just hope on that.

This topic is closed to new replies.

Advertisement