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 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.
Advertisement
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.
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
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]
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.
Quote:Original post by 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?


more than 1 :)
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.

Game Programming Blog: www.mattnewport.com/blog

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.
Quote:Original post by 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.


and one likely reason for microsoft to leave out native support in the hobby version of XNA is that native code could be used to create iso loaders and other tools which could be used to run illegal copies of games. (with code that runs through a VM microsoft has more control over whats possible to do without having to verify the applications manually)
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!

This topic is closed to new replies.

Advertisement