I want to get into game design, but I'm not sure which programming language I should learn first. I'm going to use resources on the internet, but mostly I'll be teaching myself. I want to be able to design smaller games first and build a portfolio, and I eventually want to work on big multiplayer games. Which language should I learn first to get experience and prepare for more advanced projects?

Recommended Answers

All 10 Replies

I want to get into game design, but I'm not sure which programming language I should learn first. I'm going to use resources on the internet, but mostly I'll be teaching myself. I want to be able to design smaller games first and build a portfolio, and I eventually want to work on big multiplayer games. Which language should I learn first to get experience and prepare for more advanced projects?

Go to the website for colleges and universities. Look-up what courses they teach. See if they have like a planned set of courses they have students within their major should take in order for them to graduate.

You could either look up what courses computer science majors take, software engineering, or programming at a community college.


But, honestly, I think you should start out with Python for a few weeks to a couple of months, and move onto programming in Java. Once you get good at that then move onto C++, then to just C. Finally, once you master Assembly, you should be good to go as far as employability goes with most software companies.

You start out with high-level languages, learn all the difficult details concerning the concepts of data structures and move down to low-level languages so as to make better use of the hardware for your graphics. However, that also requires additional knowledge about how the hardware works. Also, understanding how the operating systems works, is something you will also need to learn, since your operating system governs the computer.

Additionally, it helps if you better understand algorithms. Most companies will be looking for people who've had formal training in that, so knowing math beyond a calculus level will help with that, since the prerequisites for math-relating to algorithms is calculus.

One more suggestion, you could use C# combine with XNA to create your game. XNA is a product of Microsoft so they support quite a lot. To create your first game in XNA are quite simple and quick. I'm writing a tutorial for writing a Space Invaders and hope I could send you the link soon.

But well, if you don't have any idea about .Net, then you should just start learning with .Net create some small program first.

One more suggestion, you could use C# combine with XNA to create your game.

Real games companies dont use .NET

c++ is the way to go
Start off with java, its a bit easier to get into than c++ and its quite easy to switch afterward

You can whip up a multiplayer (with very basic ) battleships game with AI capability, save/load etc... in java in a few months - i did. Good way to learn the language.

ahnoldschwarz said he wants to be a game designer, not a game programmer. I would start out by learning the basic concepts of programming, i.e. variables, control statements, and other concepts that are apparent in just about any language. I would then go on to learn a scripting language such as Python, Ruby, or Lua.

Game designers generally do not do a whole lot of programming in most projects. When they do write some code it is usually writing up scripts for designing a game level or things of that nature.

If you want to get into game design you should build your skills in the area of game documentation and practice making clear, informative, and practical documentation. Work on building any kind of prototype you can to get a feel for the things that may work well in your design and things that may need to be changed or eliminated. I don't understand why everyone is suggesting all of these different programming languages to someone who desires to get into game design.

commented: Spot on!! Excellent. +25

Go to the website for colleges and universities. Look-up what courses they teach. See if they have like a planned set of courses they have students within their major should take in order for them to graduate.

You could either look up what courses computer science majors take, software engineering, or programming at a community college.


But, honestly, I think you should start out with Python for a few weeks to a couple of months, and move onto programming in Java. Once you get good at that then move onto C++, then to just C. Finally, once you master Assembly, you should be good to go as far as employability goes with most software companies.

You start out with high-level languages, learn all the difficult details concerning the concepts of data structures and move down to low-level languages so as to make better use of the hardware for your graphics. However, that also requires additional knowledge about how the hardware works. Also, understanding how the operating systems works, is something you will also need to learn, since your operating system governs the computer.

Additionally, it helps if you better understand algorithms. Most companies will be looking for people who've had formal training in that, so knowing math beyond a calculus level will help with that, since the prerequisites for math-relating to algorithms is calculus.

IMHO, I would do C before Java or C++, Java and C++ can very complicated, moreso then C

Yeah but he should really be trying to get familiar with OOP, its fundemental to game coding

yup, .net is a nice and there is a few games in it (very few though). Main reason is its slower than unmanaged code, and game devs like to reuse existing code and to modify existing commercial engines. Most of this existing code is in C++, which is also what most existing game devs are familiar with. No sense in reinventing the wheel and incurring great cost unless its going to be really worth it.

One more suggestion, you could use C# combine with XNA to create your game. XNA is a product of Microsoft so they support quite a lot. To create your first game in XNA are quite simple and quick. I'm writing a tutorial for writing a Space Invaders and hope I could send you the link soon.

But well, if you don't have any idea about .Net, then you should just start learning with .Net create some small program first.

I bought a book for that - XNA in C# - I've never got around to reading the book and trying some of it out. Kind of hesitant to program in Windows since I prefer using Eclipse for C and C++ in Linux.

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.