954,549 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Game Design: Which Programming Language First?

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?

ahnoldschwarz
Newbie Poster
1 post since Dec 2008
Reputation Points: 10
Solved Threads: 0
 
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.

michinobu_zoned
Light Poster
44 posts since May 2008
Reputation Points: 10
Solved Threads: 0
 

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.

hieuuk
Light Poster
44 posts since Nov 2008
Reputation Points: 11
Solved Threads: 4
 

Python is nice and easy to learn, but it's powerful. This is a beginner's tutorial and teaches you how to make Pong by lesson 8, which you probably won't find possible in another language.
http://openbookproject.net/thinkCSpy/index.xhtml

Colin Mac
Posting Whiz
327 posts since Sep 2006
Reputation Points: 78
Solved Threads: 22
 
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.

jbennet
Moderator
Moderator
18,523 posts since Apr 2005
Reputation Points: 1,826
Solved Threads: 601
 

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.

SHWOO
Junior Poster in Training
73 posts since Jul 2006
Reputation Points: 41
Solved Threads: 0
 

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

AceofSpades19
Junior Poster in Training
61 posts since Jun 2008
Reputation Points: 61
Solved Threads: 10
 

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

jbennet
Moderator
Moderator
18,523 posts since Apr 2005
Reputation Points: 1,826
Solved Threads: 601
 

I just make a tutorial about starting with game dev. Hope it help. As jbennet said, Game Company don't use .net. But for start and for small group. Nothing bad about using .Net. We we need to learn is the main theory behind it. OOP is also important as well.
http://www.hieu.co.uk/post/2008/12/21/Starting-Game-Dev-With-Space-Invaders.aspx

hieuuk
Light Poster
44 posts since Nov 2008
Reputation Points: 11
Solved Threads: 4
 

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.

jbennet
Moderator
Moderator
18,523 posts since Apr 2005
Reputation Points: 1,826
Solved Threads: 601
 

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.

michinobu_zoned
Light Poster
44 posts since May 2008
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You