Long time reader; first time asker:

I've wanted to a part of the games industry for a while, but my resume is 100% all backend work.

I'm a strong C++/C# developer, with no practical game development experience. My backend experience makes me a good candidate for backend work (since many games these days have service based aspects to them), but it's a hyper competitive field and I'm looking for ways to stand out.

Since no one is going to just walk up to me and give me a job in the game industry, I decided to try my hat in writing my own games.

I understand why C and C++ are the defacto languages in game development, but I really like the philosophy behind XNA. As I stated earlier, I'm adept at both C# and C++, but if I remember correctly, XNA works CLR compliant languages only (perhaps only just C#).

Will focusing on game development using XNA and C# instead of C++, hurt my chances of landing a job in the games industry? VB has an unfair reputation of not being a real programming language, and VB programmers are caught in that stigma. Is this the case with using C# in a community that consists mostly of C++ developers?

Or do the fundamentals of game development that can be learned from writing games, transcend language and technologies?


I do not think it would harm your chances. C# is becoming more popular, especially with XNA and SlimDX. I have used both C# and C++, and I must say I preferred XNA significantly. It was just cleaner to work with, but not so much that it felt like you weren't doing anything.

For the career part, you would want to mention that you're used to XNA, though I don't think it would harm your chances. In fact, because of the way it is easier to use, your portfolio pieces may be better.

And the concepts remain the same, just the syntax becomes different. Unless you're going for a low-level graphics job, the layout of what you have to do would be close to the same (not writing shader loading code or mesh caches, instead just loading it).

  • \$\begingroup\$ +1: Nice answer. Do you think that there is an expectation that your portfolio pieces should be better since you used XNA? For example, in one of my hardware classes we were given the choice of writing our design project in HC12 assembly, or using C, but with C, our project had to be significantly more interesting due to the ease of programming in C over assembly. \$\endgroup\$ – Alan Aug 10 '10 at 17:36
  • \$\begingroup\$ I don't really think there would be. It's a tool to a solution, and the reason I say the end product would be 'better' is because there is less time spent on rendering design and more time spent on actual game work. \$\endgroup\$ – The Communist Duck Aug 10 '10 at 17:53
  • \$\begingroup\$ Unless you are looking specifically for a graphics job, most people won't be looking for tons of graphical polish in a portfolio piece. Make something that looks engaging moreso than pretty. In this respect XNA vs. C doesn't really matter as long as it is fun. \$\endgroup\$ – coderanger Aug 10 '10 at 17:53
  • \$\begingroup\$ Though if you want it to look pretty, using a rendering engine like Sunburn on top of XNA can help a lot! \$\endgroup\$ – Chris Ridenour Aug 10 '10 at 20:38

It has been my experience that the same concepts used in XNA transfer back and forth between different libraries and languages. I've been able to effectively hop back and forth between different game technologies, and I started out with XNA.

Working with C# and XNA helped keep me focused on one specific learning goal ("What makes a game tick?") as opposed to mixing goals ("How do I learn X and make a game at the same time?"). I found that whenever I combined goals, I ended with pretty abysmal results. Starting in my comfort zone and leaning on XNA helped get things going, though.

  • \$\begingroup\$ I really like your answer. With all of the programming languages having similar structures (objects, control structures ect...) I think you should learn the concepts of what you want to do with what you are comfortable with. The main differences at that point moving from language to language should be syntax, core components, and api's. \$\endgroup\$ – John Sep 11 '10 at 8:06

If you can make a fun game, and you are actually a talented engineer, you have nothing to worry about. No one is going to ding you for how you made your game.

Games are not maintained in the way a lot of other software products are. Less throw away code is made than in the special effects industry, but we still can get away with a lot hacks for expedience.

Just get the job done. At the end day that's what game development is about.


I've been told that:

  1. The content is significantly more important than the tools used with some exceptions.

  2. Although the base of most larger games is C++, it is because the tools are developed in C++. If you are not coding the tools, it is possible you will not be programming in C++ anyway.

Edit: Also, having a completed demo project in anything (C#, etc.) is significantly better than having something incomplete in a more difficult language (C++, etc.).


Not the answer you're looking for? Browse other questions tagged or ask your own question.