Skip to main content
GameDev.net gamedev.net
Using GameDev.net for your class this semester?
Learn more →
🔒 Locked

C# going to beat C++ in game prog

Started by foxars Aug 15, 2006 at 6:28 PM 200 replies 53.9k views
Original Post
foxars
foxars
Hi, I just read the news about XNA and that it'll only support managed language such as C#, so now that microsoft has chosen C# as the primary language for making games in PC and XBox 360 I've 2 questions: 1- Do you think that other corporate such as Sony will adopt managed language ?? 2- Is it the time now to go with c# in game programming ?? I now it's an open subjet but .. Thanks in advance
smitty1276
smitty1276
Well, they've only made C# the primary language for making games using XNA, but not in general.

That said, I think that it is inevitable that managed languages will come to dominate in the relatively near future. Now is certainly the time to learn C#, but C++ will still dominate for quite some time. As machines become more powerful and compilers become even more intelligent, there will be little reason to continue using natively compiled languages, IMO.

And, yes, I expect that XNA--if successful--will pressure other console manufacters to adopt something similar.
smitty1276
smitty1276
XNA is an entire framework for game development. One of the tools is a build management tool.

Quote:
Original post by Anonymous Poster
i have a strong feeling that XNA is going to flop.

Well, whether or not XNA flops, managed languages are probably going to come to dominate. If XNA succeeds, it will simply make that happen faster.
foxars
foxars
Thanks all,

Now it's time to learn in details this C#

Billr17
Billr17
Quote:
Original post by foxars
I just read the news about XNA and that it'll only support managed language such as C#, so now that microsoft has chosen C# as the primary language for making games in PC and XBox 360 I've 2 questions:


This does not make C# the primary language for creating games. DirectX 10 will still be unmanaged native code. Also the Official X-Box developers will still most likely use 360 native code and C++ for commericial purposes (Although some will adopt XNA). Microsoft seems to also have plans for adding support for the other managed languages to the XNA Framework in the future. Don't forget about OpenGL, it shall remain native code on PC's (Although there are manages wrappers for it). Hopefully we see some exciting developments with the Khronos Group adding some friendly competition between DirectX and OpenGL...


Quote:
Original post by foxars
1- Do you think that other corporate such as Sony will adopt managed language ??


Sony kind of already did it with the Linux Developement kits for the PS2. I think I read somewhere, Linux development will defiantly find its way onto the PS3. Also they where planning better OpenGL support this time around. Last I heard, they were really pimping the Linux environment. I could be wrong though(?)

Quote:
Original post by foxars
2- Is it the time now to go with c# in game programming ??


Never limit your self. Learn C#. Learn C++... Learn whats good and bad about each, when they should be applied, and when they shouldn't be applied. It doesn't matter if you use Java, C++, C#, VB, Ada95, Perl, Python, etc. If it gets the job done and the game is fun, people will play it.
smitty1276
smitty1276
Quote:
Original post by Anonymous Poster
You can always use C++.net in case you still need some of that good old C++ power.
;-)


If your working with XNA, then C++/CLI and C# will be exactly equivilent, with only differences in the syntax of the languages. XNA is meant to allow for full-blown game development with 100% managed code, so there will be no mixed-mode benefits with C++.

At least for the XB360. I'm not sure about the Windows version. But if it's "write once, run twice" then mixed-mode is out.
ronkfist
ronkfist
Sony has recently obtained a license for the Unreal3 engine which they will most probably use in their next games.

As long as the big commercial engines don't switch to managed languages I dont think it will have much success for game development and I don't see that happen any time soon, if ever.
smitty1276
smitty1276
Quote:
Original post by ronkfist
Sony has recently obtained a license for the Unreal3 engine which they will most probably use in their next games.


This doesn't make much sense to me. Sony makes a console and publishes games (and owns some developemnt studios, IIRC), so why would they be licensing game engines? One particular game studio may have licensed Unreal3 for one particular game, but this means nothing in terms of the PS3.

I agree that native code will dominate for quite a while, but at some point in the future there will simply be no need to micromanage all of your resources.

OH: Just saw the post on Slashdot. Sony Online Entertainment has licensed the engine for use in the DC MMO.
DaBono
DaBono
I think C#/XNA/.NET will become quite large among indie developers and hobbyists.
The big guys, I guess will remain using unmanaged code for some time. They have bought C++ engines, have an existing code base, need the raw processing power...

Slightly off-topic: I'm getting quite annoyed with MS calling XNA a cross-platform development tool, when only 2 platforms are supported (Windows (provided you have all the updates) and XBox (which is more-or-less Windows too)) and only 1 programming language can be used.
soconne
soconne
Don't most of you realize that if everyone stops learning native code languages such as C++ and ONLY learns "wipe my ass for me" languages like C#, then who will be left to write updates, fixes and future releases for your precious C# .NET??

I have to agree with those of you making the 3d game engine argument. Most game studios license an existing game engine, so if Epic, IDsoftware, or any of the other major players don't feel like spending hundreds of thousands of dollars or thousands of man hours converting their code over, they don't have to.
Author Freeworld3Dhttp://www.freeworld3d.org
Arild Fines
Arild Fines
Quote:
Original post by DaBono
I'm getting quite annoyed with MS calling XNA a cross-platform development tool, when only 2 platforms are supported

How many platforms do you need to call something cross-platform?

--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
smitty1276
smitty1276
Quote:
Original post by soconne
Don't most of you realize that if everyone stops learning native code languages such as C++ and ONLY learns "wipe my ass for me" languages like C#, then who will be left to write updates, fixes and future releases for your precious C# .NET??


Don't you realize that if everyone stops learning assembly, such as IA32, or machine language and only learns "higher level" languages like C++, then who will be left to write compilers, extensions, and future releases for your precious C++? [grin]

The point here is that if there is no reason to use C++ for writing games, then there is no reason to use C++ for writing games. C++ can still be used to improve C#, just as knowledge of of the IA32 instruction set is still necessary to write compilers. That doesn't mean that everyone must know assembly or the specs for the IA32 instruction set... it simply does not logically follow.

I'm not saying C++ is going to disappear in game development tomorrow (or even in the forseeable future), but the argument is terribly flawed.

Quote:
I'm getting quite annoyed with MS calling XNA a cross-platform development tool, when only 2 platforms are supported...


To the extent that .NET is a platform for development/deployment, XNA is a single platform framework. I am with you on that.

Quote:
...and only 1 programming language can be used.


There currently exist .NET compilers for more than 40 languages, according to wikipedia.
mattnewport
mattnewport
The full version of XNA Studio, due for release sometime in 2007, which is targeted at full commercial games (rather than arcade type titles) will still fully support native code and C++. Microsoft is smart enough to know that most commercial games studios aren't going to be giving up C++ any time soon and that XNA Studio wouldn't see any significant uptake without native C++ support. The XNA Framework and XNA Game Studio Express / XNA Game Studio Pro stuff is aimed at hobbyists and arcade type games and is all managed code but there is more to XNA than just managed code frameworks.
Will F
Will F
Quote:
Original post by smitty1276
Quote:
Original post by ronkfist
Sony has recently obtained a license for the Unreal3 engine which they will most probably use in their next games.


This doesn't make much sense to me. Sony makes a console and publishes games (and owns some developemnt studios, IIRC), so why would they be licensing game engines? One particular game studio may have licensed Unreal3 for one particular game, but this means nothing in terms of the PS3.


Sony has sublicensed Unreal 3 (PDF press release) - but AFAIK this only means that the PS3 dev kits ship with the evaluation version of the Unreal Engine 3.

As 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.
tompp
tompp
And if they try out the side effects of a garbage collector they might find it prohibitely expensive (and not for performance reasons) - you cannot control when to do its magic... But it wont be a problem for less demanding (resource-wise) projects. C# is good for tools, at least until you dont 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 :)
Beware of the Mighty Hamster!
smitty1276
smitty1276
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.
ronkfist
ronkfist
.NET has been out for what 4-5 years now? Can anybody point me to a decent game created in .NET?
smitty1276
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.
DvDmanDT
DvDmanDT
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..

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.