I'm sure that forms of this question come up from time to time and it's a very subjective question that has the potential to generate some semblance of debate but here goes...

Having looked into a future career in game development (back-end coding as opposed to front end UI and graphics) I've come across various listed language requirements when looking at companies that produce games for various platforms.

My question is this, coming from a C# background as I do and looking to get into game development, which would be the best language to look into learning?

Some companies appear to favour Python, some appear to lean towards C++, many won't even consider you unless you have a working knowledge of DirectX. So with the DirectX requirement and the C# background, which language would you say is the better to approach? C++ or Python? And why would you consider the one over the other?

Looking forward to your feedback on this :)

Recommended Answers

All 10 Replies

I'm sure that forms of this question come up from time to time and it's a very subjective question that has the potential to generate some semblance of debate but here goes...

For 2d based games, a scripting language is the going type. For 3d and serious graphics based games C++ and some scripting languages such as Lua works great. My favorite game, World of Warcraft is done in C++ and Lua etc... Most game engines are hardcore pcs of software, with a scripting engine used to do the backend stuff. Again choose the tools that closely fit what your going after...

Hope that helps...

For 2d based games, a scripting language is the going type. For 3d and serious graphics based games C++ and some scripting languages such as Lua works great.

Thanks. I was getting the opinion from what I was seeing in job postings under requirements that C++ was the more commonly used language but I'd also seen Python mentioned as well and both by large game producers (read: Blizzard and Funcom).

Now, correct me if I'm wrong, but coming from a C# background I really shouldn't have TOO much difficulty transitioning to C++ should I? I mean, from what I understand the most glaring differences are resource management and the managed/unmanaged code difference.

Thanks again for the feedback, just trying to get a handle on what I'm looking at so I can better plan my educational pursuits to match my goals.

Thanks. I was getting the opinion from what I was seeing in job postings under requirements that C++ was the more commonly used language but I'd also seen Python mentioned as well and both by large game producers (read: Blizzard and Funcom).

If you have any programming experience, the learning curve to another language is definitely much smaller. Every language has its proponents and for some it can be a religious war to prefer one language over another. In the 35 years that I have spent in the IT industry, having a proficiency in multiple languages, as well as multiple operating environments will land the job. Most ads give you a cookie cutter layout of what the company is looking for and most of the time it is far more than they need. C/C++ is the defacto standard in most places I know that are hiring. You will even find some that also require assembler even though they don't list it...Go figure.

Peace

PS Python is an excellent tool. It is being used in a lot of universities now as a programming introduction, and can be used for some very serious programming. Please do consider it as a supplemental language tool. Learn to use the tools most appropriate for the task you are assigned...

Game Scripting Mastery (ISBN: 1-931841-57-8) If you are serious about working in the game industry, this would be a welcome addition to your library and infinitely worth the investment. It is written by Alex Varanese and edited by none other than Andre LaMothe the CEO of Xtreme Games LLC. This book is thorough enough to help you design your own scripting language as some have done before. Be forewarned, this book is not for the timid. It is not a beginner tutorial and definitely worth the reading.

Good luck...

commented: Thanks for all the input! :) +1

Thank you so very much heloptra :) I'll look more into some of your suggestions.

I was kinda hoping for more than one opinion when I started this thread though, I guess nobody else in DaniWeb is involved in game design at all? :P

Panda3D is an free 3D engine that allows Python programming as well as C++. So you win with this engine either way.

commented: Thanks for the input! :) +1

Panda3D is an free 3D engine that allows Python programming as well as C++. So you win with this engine either way.

Good to know :) But at this point I'm more trying to figure out which direction to invest my energies into between C++ and Python more than I'm trying to find out what tools support which language.

I don't want to, for example, spend the next few months pouring over resources and texts and creating test-projects on my own time to learn Python if 80% of the market is looking for someone versed in C++ :twisted:

But I will keep your information in mind once I get to that stage where I'm looking for supplimental tools to work with in whichever language I end up going with.

Anyone else have any thoughts on this before I mark it solved as a matter of housekeeping?

I know this is a little late, but you might also want to look into C# using the XNA framework. I prefer to code in C++, but using XNA really lends itself to getting games up and running rather quickly, plus you have the outlets of Windows, Zune & XBox as your publishing platforms.

commented: Thanks :) Good input +1

Well thanks all for your feedback (all 3 of you :twisted:)

'Solving' thread as general housekeeping :)

Edit: Or... maybe I solved it a few days ago and just forgot to remove it from my subscriptions >.> I must be getting tired lol

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.