Professional Games Made In C#?
Started by Fixxer, Nov 22 2005 09:59 AM
96 replies to this topic
#1 Members - Reputation: 100
Posted 22 November 2005 - 09:59 AM
Does anyone know of any?
I think I may want to get into C# more than C++ because for one, The windows forms designer is great, and #2 its a bit easier.
Are there any professional games made in C# or is C# too slow to be used on a professional level. I decided I needed to upgrade to VS 2005 and leave 6.0 behind and im debating on whether to buy books for C++ or C#. It seems to me that there are more newer books on directX 9.0 and networking for C# than for C++.
Ad:
#3 Members - Reputation: 166
Posted 22 November 2005 - 10:47 AM
Hi,
In my opinion, C# and MDX are great.
I know there was one AAA game that was made with C#, but I can't recall the name.
Here are links (straight from my bookmarks) for some C# engines. Enjoy!
Tzu 3D Engine (also check the video section)
Haddd Engine (also check the download section)
Flight Simulator
Purple#
Don't forget that many people are starting to use C# so you should see more stuff in the future. I am myself doing a FPS demo in C# from scratch.
Darkneon
In my opinion, C# and MDX are great.
I know there was one AAA game that was made with C#, but I can't recall the name.
Here are links (straight from my bookmarks) for some C# engines. Enjoy!
Tzu 3D Engine (also check the video section)
Haddd Engine (also check the download section)
Flight Simulator
Purple#
Don't forget that many people are starting to use C# so you should see more stuff in the future. I am myself doing a FPS demo in C# from scratch.
Darkneon
#7 Members - Reputation: 1657
Posted 22 November 2005 - 11:25 AM
Speed is not a question. Familiarity is however.
It took years before game programmers moved from assembly to C, with lots of "C is too slow" whining. It took years still (~1995 and later), long after everyone else had moved, to get to the game industry to C++ (the age of "using objects would be too slow" is still fresh in my mind).
You won't get professional C# games until there is a large enough pool of experienced C# programmers from outside the game industry (and crossing over into it) to allow companies to choose C# as their language without forcing employees to start over again. Learning a new API is one thing (and often API's are just incremental improvements). Learning a whole language is more complex then just knowing the syntax - you need to discover what works well and what doesn't. This process of really understanding the nuances of C# is still underway.
It took years before game programmers moved from assembly to C, with lots of "C is too slow" whining. It took years still (~1995 and later), long after everyone else had moved, to get to the game industry to C++ (the age of "using objects would be too slow" is still fresh in my mind).
You won't get professional C# games until there is a large enough pool of experienced C# programmers from outside the game industry (and crossing over into it) to allow companies to choose C# as their language without forcing employees to start over again. Learning a new API is one thing (and often API's are just incremental improvements). Learning a whole language is more complex then just knowing the syntax - you need to discover what works well and what doesn't. This process of really understanding the nuances of C# is still underway.
#8 Members - Reputation: 1194
Posted 22 November 2005 - 11:27 AM
Quote:
Original post by comedypedro
Visual C++ 2005 has a forms editor too but Im not sure how it compares to VC#
Form editor works the same, as long as you don't mind the ugly hacked together "Managed C++" code syntax.
Yeah, I wouldn't use managed C++ if my job depended on it... I'd get a job doing C# :)
----------------If all else fails, copy Zynga!----------------
#10 Members - Reputation: 997
Posted 22 November 2005 - 03:18 PM
Another reason many game companies do not switch to C# is that fact that by doing so they can kiss portability goodbye.
I don't know about XBox360, but I don't think PS3 will have .NET on it.
Ye another reason is that there are many libraries written in C/C++ as well as many pieces of C/C++ code that can be reused from previous projects.
I never switched to C# (or even to C++) because personally I find C easier than both. But let's not get into a C vs C++ vs C# flamewar, ok?
I don't know about XBox360, but I don't think PS3 will have .NET on it.
Ye another reason is that there are many libraries written in C/C++ as well as many pieces of C/C++ code that can be reused from previous projects.
I never switched to C# (or even to C++) because personally I find C easier than both. But let's not get into a C vs C++ vs C# flamewar, ok?
#11 Anonymous Poster_Anonymous Poster_* Guests - Reputation:
Posted 22 November 2005 - 03:38 PM
First off, I want to say that I love C# and I'm not a C++ zealot. I use C# all the time for a variety of tasks.
Secondly, nobody uses the forms designer in a game anyway so what does it matter?
Reasons to use C#:
The language is nice.
Reasons not to use C#:
It's slower than snails. Lots of benchmarks say it's not. Sure, you can get 90% of the speed of C++... in certain situations, but overall with a game engine you're going to see at least a 50% framerate hit what you could have acheived if you had written your game engine in C++.
Why is this? You'll need to look at what the JIT generates and see for yourself. But look closely at how poorly it inlines anything, if at all. Look at how well (or not) the FPU optimization is. Compare it to what the C++ compiler generates.
C# also basically requires you to use unmanaged C++ anyway to get 16-byte aligned data, if you want to effeciently use SSE instructions. Okay you say well you're going to write all of your vertex skinning in C#. Have fun with that, buddy.
The bottom line is, you're not going to get the next Unreal or Doom engine in C#. The hard-core stuff is going to stay in C++ for a while. As soon as I can get an engine that runs 95% as fast as it does in C++, I'll switch right over. But this means they're going to have to get their act together with the inlining, the memory alignment, and the FPU optimization.
Yes, I'm posting as AP, because as we all know posting a rant is bad for your rating. :D
Secondly, nobody uses the forms designer in a game anyway so what does it matter?
Reasons to use C#:
The language is nice.
Reasons not to use C#:
It's slower than snails. Lots of benchmarks say it's not. Sure, you can get 90% of the speed of C++... in certain situations, but overall with a game engine you're going to see at least a 50% framerate hit what you could have acheived if you had written your game engine in C++.
Why is this? You'll need to look at what the JIT generates and see for yourself. But look closely at how poorly it inlines anything, if at all. Look at how well (or not) the FPU optimization is. Compare it to what the C++ compiler generates.
C# also basically requires you to use unmanaged C++ anyway to get 16-byte aligned data, if you want to effeciently use SSE instructions. Okay you say well you're going to write all of your vertex skinning in C#. Have fun with that, buddy.
The bottom line is, you're not going to get the next Unreal or Doom engine in C#. The hard-core stuff is going to stay in C++ for a while. As soon as I can get an engine that runs 95% as fast as it does in C++, I'll switch right over. But this means they're going to have to get their act together with the inlining, the memory alignment, and the FPU optimization.
Yes, I'm posting as AP, because as we all know posting a rant is bad for your rating. :D
#12 Members - Reputation: 100
Posted 22 November 2005 - 03:44 PM
thanks for your rant :D
I know im not going to get the next unreal... even if i did use C++ =p
So long as the frames per second on a Celeron D with 512 mb of ram is more than 33 fps, it should be fine.
With that said, do you know of any books that are for C++ that cover DirectX 9 and engine design and such? That would have examples that work in VC++ 2005? The main reason I was liking C# was all the new books out for it.
I know im not going to get the next unreal... even if i did use C++ =p
So long as the frames per second on a Celeron D with 512 mb of ram is more than 33 fps, it should be fine.
With that said, do you know of any books that are for C++ that cover DirectX 9 and engine design and such? That would have examples that work in VC++ 2005? The main reason I was liking C# was all the new books out for it.
#13 Members - Reputation: 913
Posted 22 November 2005 - 08:06 PM
Quote:
Original post by Michalson
It took years before game programmers moved from assembly to C, with lots of "C is too slow" whining. It took years still (~1995 and later), long after everyone else had moved, to get to the game industry to C++ (the age of "using objects would be too slow" is still fresh in my mind).
Its not just whining, its code reuse
If you have a working game engine and libraries for texture loading, input, and so forth is it worth rewriting it just for a few "new" features
So if they already have tonnes of reusable code and all the libraries they need why should they dump years of work and start from scratch just for garbage collection and a few syntactic short cuts.
#15 Members - Reputation: 152
Posted 23 November 2005 - 02:37 AM
I don't see any reason for a forms editor to be useful in game dev unless it is a desktop game or something like that, well games like that could even have been done with delphi or visual basic anyways.
It would be useful for tools maybe but not for the game development itself.
And what language to choose I am staying with C++, I don't really find C# much easier. but it depends on the programmer, seriously.
It would be useful for tools maybe but not for the game development itself.
And what language to choose I am staying with C++, I don't really find C# much easier. but it depends on the programmer, seriously.
------ XYE - A new edition of the classic Kye
#16 Members - Reputation: 200
Posted 23 November 2005 - 03:10 AM
The Zbuffer has a list of popular games written in C# here. Many of them are successful commercial games like Arena Wars. It basically comes down to your project. If you aren't making the next Unreal or Doom, you should strongly consider C# and Managed DirectX for its great productivity.
#18 Anonymous Poster_Anonymous Poster_* Guests - Reputation:
Posted 23 November 2005 - 05:36 AM
Quote:
Original post by Anonymous Poster
It's slower than snails. Lots of benchmarks say it's not. Sure, you can get 90% of the speed of C++... in certain situations, but overall with a game engine you're going to see at least a 50% framerate hit what you could have acheived if you had written your game engine in C++.
That is such BS. Why don't you post this code? MDX is at least 95% the speed of DX (I beleive the number was higher), so don't post random numbers.
#20 Anonymous Poster_Anonymous Poster_* Guests - Reputation:
Posted 23 November 2005 - 08:20 AM
Quote:
Original post by Fixxer
Ahh but im making my own engine and starting my own code base so that doesnt really effect me :-P
(Kaze)
not sure about the speed and C# dosent have as much support as C++ yet so you prorbaby wont be making "teh most uber 133t fps ever" but if your a independent developer and want to make a game engine in C# go ahead.






