C# in game programming/development

Started by
8 comments, last by EJH 12 years, 9 months ago
Hi guys,
So I'm doing a paper on why does C# is the ideal language for game development/programming compared to any other programming language. I know that in C#, there's such thing called the garbage collector which helps the trouble saving memory. And the .Net platform ---> XNA yes? And I remember hearing something about pointers too in C# but I can't remember exactly what was it.
Appreciate the help guys.
Thanks
Advertisement
You will have a hard time justifying C# as an ideal language for game developement because it is really not that special as a language.

The big plusses of C# is the Visual Studio IDE I guess and the whole .NET library. Also it is easy to learn, fast to code and powerful. You should study different sides of the VS IDE and read different articles about its good and bad sides to gather some information.
[size="1"]C# .NET
Garbage collection and pointers are kind of the same feature point. Basically, in C/C++ you have to delete your pointers when your not using them anymore. In C# the garbage collector deletes the pointers/memory that you're not using anymore.

Unity features C# as a scripting language for creating games with their engines.
http://unity3d.com/
Yes, C# is a nice language that can be used as a domain specific language for many problem domains, including games. But the language itself (and most other) has no such domain specific features. It's more about the supporting frameworks, and how you use them, than the language itself.

openwar - the real-time tactical war-game platform

You are approaching your article with a flawed concept to begin with, no language is ideal for game development in general, this is always subject to what you want to do and what platform you want to publish for, some games will best be written in action script, some games will best be written in C++, HTML5 is coming in hot, objective C is the native language of iOS platforms...

What C# combined with XNA is best for is entry level independent / small team developers that want to concentrate on making a game and publishing it while learning to program. If they didn't care much about programming they could go with game maker or similar frameworks, Unity presents a serious competition for XNA on its ease of use for new developers, plus it works on way too many more platforms than XNA and uses C# as well as java (and I think some more languages too)...

Without intention of offense, I get the impression you don't have the width of experience to write such an article, specially asking things like "there's such thing called the garbage collector which helps the trouble saving memory" and "And I remember hearing something about pointers too"

If this is a study assignment I would recommend you to do a deeper research than just forum fishing. Read on the properties of each language and understand what they mean, research which platforms they work well with and which tools are available that use each language... that sort of thing.

Game making is godlike

LinkedIn profile: http://ar.linkedin.com/pub/andres-ricardo-chamarra/2a/28a/272


Yeah. I have no experience with C# at all. The only programming languages that I had ever used are Java and C+ +. Thanks guys I'll do some more research on it. I also just bought a programming book on C#. I'll read it to get a further understanding on C#.
C# is a wonderful language, you can do some amazing tricks with it, has plenty of modern feature.

If youre starting out I cant recommend enough C#, man its so easy that it makes you dumb :D really it is that good.

Yes, because it is a higher level language youll get a performance decrease compared to C++ but with current hardware like who cares? (unless youre targeting mobile devices...)

XNA and C# will get you very far in game programming, the best part of it is that since it is somewhat similar to C++, once you feel comfortable with it you can switch to C++ and it will be easier that just starting C++ with no C# experience behind ( you will still have to learn bout pointers and deal with the linker usual bs)
What C# combined with XNA is best for is entry level independent / small team developers that want to concentrate on making a game and publishing it while learning to program.

I think you're giving the language/xna combo a bit too little credit here. It's not just a novelty for learning to program. Individual teams have actually made millions on games created with it (Magicka and Terraria to name a few off the top of my head).

Unless you're an AAA studio that needs to inch out every bit of performance from the machine you can, there's rarely a need to go gung-ho with lower level languages like C/C++. C# with XNA (or even SlimDX) is a good way to work on the gameplay and not the boilerplate while still creating games that can be rather successful.
I didn't say XNA wasn't good for other stuff, I said that was its most important use.

The thing about publishing games with XNA that makes the public have a bad opinion as to its potential is that most people fall into the misconception that XNA is a game engine, its important to keep clear that it isn't and if you plan to do anything remotely complex you will need to get or make an engine.

Game making is godlike

LinkedIn profile: http://ar.linkedin.com/pub/andres-ricardo-chamarra/2a/28a/272


(Magicka and Terraria to name a few off the top of my head).


The XNA games I know of, outside of XBOX live, that are on Steam or other places:

Magicka
Terraria
Sol Survivor
Blueberry Garden
Lucidity
Galactic Arms Race
Bloodlines Champions

BTW, have you seen Bloodlines Champions? It looks really nice, probably the best looking XNA I've seen:

http://www.bloodline...com/thegame.php

There's a few more that I am either missing or are currently accepted to and beta testing for Steam.


This topic is closed to new replies.

Advertisement