A career in The game industry(C# and C++ Q)

Started by
5 comments, last by bobsaget 15 years, 9 months ago
I have been using Xna and C# for some minor projects of mine and so far I have been much more very impressed in the amount of time I have been using it compared to the time I have taught myself c++(I am in college and use c++ and opengl in my classes). In the time it took me to learn the basics of C# and Xna I was able to create a project that was just as impressive as what I taught myself and learned in 7 months. I understand that C++ and Opengl/directx are heavily used and I want to get a job in the game industry but at the same time the Xna C# method seems much more efficient and easy to use(It was shorter and the a lot of the nuances seemed very helpful). I know you can use both but I want to major in something, would it be wise to try to continue with c# because its market share seems to be growing or should I continue with opengl because when I graduate I want to try to get a job and be good at that? Thanks , this has been on my mind a lot. EDITED(The title) Edit-Should I move this to another part of the forums? [Edited by - bobsaget on July 10, 2008 5:04:14 PM]
Advertisement
The only problem with the C#/XNA combo is that C# is still mainly used for tools on its own and XNA is still closely paired to the Xbox platform, even though it can also develop for Windows. So specializing in that field also somewhat specializes you in the games industry as well. C++ with DX/OGL still offers a much wider range of employment possibilities, but this is no surprise given the relatively short time XNA (and C# to some extent) has been around. Given the steeper learning curve of C++ and DX/OGL relative to C#/XNA I'd still focus on the former - especially since that's what you're learning in school. If you were to land a job requiring C#/XNA work, basic experience and the fact that it's easier to pick up would make it better to focus on fully if and when you actually need to.

Drew Sikora
Executive Producer
GameDev.net

XNA is built on top of DirectX, but so are most game engines!

For example, when I have to add some new graphical features on my current C++ project (which uses DirectX9), I don't actually write any tedious DX code - I just use some game-engine classes to do the work for me (just like you have been doing with XNA).
Yep, Hodgman is right. XNA basically just wraps DirectX functionality (along with some other things like math classes and mesh-/texture loaders), so that you don't have to code it yourself, this is why you can get fancy results much quicker. Yet if you are aiming for a job in the gaming industry as a graphics programmer, I would strongly recommend learning the basics (C++/DX/OpenGL) first. XNA experience is nice to have, but anyone with good knowledge of the basics of a graphics API can learn XNA very quickly
When you say "computer industry" do you mean games industry?

In my professional experience the market (Line of Business apps) is huge for C# programmers that know their way around in the .NET framework and are able to build (Web) applications, (Web)Services etc. There is hardly any C++ development there except for maintenance of old stuff.

Building a driver, (non casual)game, OS is mostly done in C++ but the rest is done in languages and environments like Java, C#/.NET, Flash etc.

I haven't seen much use of XNA in the industry so far but that could change.
While XNA and C# seems simple, don't be too quick to discredit it's use in professional game development. I know for a fact that certain game companies use XNA to do a quick prototype of their game before building the actual thing. Like you mentioned, XNA and C# is quicker to develop with (to some people, not all) and it's for that reason pro developers use it to prototype at the beginning of a project.

I've worked both with XNA/C# and DirectX/C++ and both have their pro's and con's. For instance, XNA/C# may be simpler to understand and develop for at first, DX/C++ is extremely more powerful because it isn't limited to the Xbox 360 specs and you can work more directly with memory easier (XNA/C# is kind of the new Managed DirectX). I'm sure everything I've said for DX works in respect to OpenGL as well.

My opinion would be to continue with both and don't specialize in one. The whole idea of a good programmer will be someone who can take knowledge from either and apply it to any API/Language they may come across. That said, I don't think we're going to see AAA big-budget XNA games anytime soon built by a professional development company. I think XNA, while the market is growing, is going to continue to target indie/hobbyist developers and studios. If you want a job in the industry, you're better off with understanding the concept at a high-level rather than knowing a specific API.

=============================RhinoXNA - Easily start building 2D games in XNA!Projects

Quote:Original post by ernow
When you say "computer industry" do you mean games industry?

In my professional experience the market (Line of Business apps) is huge for C# programmers that know their way around in the .NET framework and are able to build (Web) applications, (Web)Services etc. There is hardly any C++ development there except for maintenance of old stuff.

Building a driver, (non casual)game, OS is mostly done in C++ but the rest is done in languages and environments like Java, C#/.NET, Flash etc.

I haven't seen much use of XNA in the industry so far but that could change.


Yah I meant game industry , I will edit the title.

I am not trying to say it is something that can not be used by pros(sorry if it sounded like that) but just wanted to know the use if I wanted to get a job in the game industry. Currently in school I am using OpenGL, because it sounds like DX is also needed is there any online tutorials you would recommend to get the basics of it? I have a grasp of win32 but what about dx?

This topic is closed to new replies.

Advertisement