Hey err body.
Just wondering what would be the best programming language to learn for game development
I already know some basic Java (maths programs and such) and I am great at the design aspect of games
So if anyone maybe has any suggestions and possibly links to pdf files to help me get a start at learning
game code that would be great.
Thanks in advance =]

12 years ago*

Comment has been collapsed.

Java is very usefull, c# and other languages too , take a look in Unity project (and Unity 3D) and Unreal Engine , take a look what you can understand better, and start by simple things :) this 2 projects are free and you have a huge amount of tuttorials on net

I Particulary reccomend you test Unity :) and Learn Java

12 years ago
Permalink

Comment has been collapsed.

I have both unity and unreal and have dabled mainly in level design (best program for it is fpscreator) but I think I'll look into C# googled it and it seems pretty good =]

12 years ago
Permalink

Comment has been collapsed.

Didn't notice this post, so forget the Unity / Unreal discussion.

C# is close to Java but I like it better. Not that I've used it much (I'm a C++ developer). Since it's an option for Unity that could work well since you've already tried it.

12 years ago
Permalink

Comment has been collapsed.

I use Game Maker 8, unprofessional, but who cares? If it has good gameplay and fun... :)

12 years ago
Permalink

Comment has been collapsed.

I heard C++ is probably the best, and that java is just easier but outdated. I know nothing about programming though.

12 years ago
Permalink

Comment has been collapsed.

C++

12 years ago
Permalink

Comment has been collapsed.

this, well, sorta.

that is if you're serious about it you should probably spend a few years learning C++ before going seriously into game development, but if you are and want to, do it - it's definetely worth it.

if you just want to get rid of some time scripting together a little game that maybe even others can enjoy, then stay with whatever you feel suited for rapid game development (e.g. java+unity) and have some fun.

12 years ago
Permalink

Comment has been collapsed.

ActionScript and Processing are good options to start with :)

12 years ago
Permalink

Comment has been collapsed.

Java is good for Android and/or cross-platform development but not always the most optimized language. C++ or C# is sure to give you the most flexibility, expecially if you're looking at games development.

12 years ago
Permalink

Comment has been collapsed.

Brainfuck

12 years ago
Permalink

Comment has been collapsed.

+1

12 years ago
Permalink

Comment has been collapsed.

I lold.

12 years ago
Permalink

Comment has been collapsed.

I think you just mean "+". ;)

12 years ago
Permalink

Comment has been collapsed.

In that case its ++

12 years ago
Permalink

Comment has been collapsed.

"+" in BF literally means "increment the current pointer", so I think it's closer in this sense. ;p

12 years ago
Permalink

Comment has been collapsed.

C#

12 years ago
Permalink

Comment has been collapsed.

Monkey, C# with XNA, Java for Android, it's up to yo- this is in order of easiest to hardest.

12 years ago
Permalink

Comment has been collapsed.

C++ is probably the best when it comes to game programming, since it gives you a lot of power and control, but you have to start from scratch, so...

It really depends on what games you want to develop. If you want to make 3D games and you're all alone, maybe it's best for you to use the Unity 3D engine and learn Unityscript, which is based on Javascript.

12 years ago
Permalink

Comment has been collapsed.

Hard to say without knowing what you are making or what platform you are making it for. C++ is probably the best for control over everything but can be harder to use than something like C#. C# is great and you can use XNA. XNA is based off .NET framework so if you aren't making it for Windows/Xbox it isn't a good choice. The main thing is find something you are comfortable with.

12 years ago
Permalink

Comment has been collapsed.

Well, I'm guessing you wish to focus more on the design aspect more than anything else right? There are tools out there specifically tailored to help you with such an endeavor. You can use C# or C++ with the XNA framework, which makes developing games less tedious. You can use Unity(though I've never tried it out). There is the UDK/Unreal Engine which I hear is quite flexible, but still requires know-how. There's the Source SDK (but making mods with it will certainly drive you insane). There are many tools for 2D game development but the main one you should start with is Game Maker.

From my point of view, you should focus more on proper coding etiquette and since you seem to be at home with Java, you can use an external library like LWJGL. Though personally, I would never code in Java again due to the retarded memory management.

12 years ago
Permalink

Comment has been collapsed.

C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

12 years ago
Permalink

Comment has been collapsed.

Mostly depends on what you plan to make games for.

12 years ago
Permalink

Comment has been collapsed.

I might suggest Python if you're just starting at learning coding for games. Since you say you've learned a bit of Java, I would suggest using Unity that you already have to learn more since it uses javascript.

Edit: I might also suggest just modifying code that you can get your hands on to learn about game coding.

12 years ago
Permalink

Comment has been collapsed.

Oh man! I had a lot of fun scripting in Python. It's just so damn awesome! I wish more people would use it.

12 years ago
Permalink

Comment has been collapsed.

How did you learn Python?

12 years ago
Permalink

Comment has been collapsed.

Well it's really not that hard to get into. :P But I had help from a children's learning book called "Hello World!: Computer Programming for Kids and Other Beginners".

Here's a link to the book.

Note: I believe it's from a Canadian author so finding a physical copy at a library to get a free PDF might be a little hard.

12 years ago
Permalink

Comment has been collapsed.

Any. There is no 'best programming language'. You can make pong on an oscilloscope if you want. Most 360/GFWL games probably use C# or so. Vampire the Masquerade used Python and it was pretty awesome. Just go with whatever's comfortable for you.

12 years ago
Permalink

Comment has been collapsed.

NVIDIA Cg

12 years ago
Permalink

Comment has been collapsed.

if you want to kick everyone who doesn't have an nvidia card in the $@*# - go and do it, else stay with GLSL/HLSL :P

12 years ago
Permalink

Comment has been collapsed.

12 years ago
Permalink

Comment has been collapsed.

Start with C/C++ if you're looking to get into programming, and then work up to Java if you want. And when you start, don't expect to be making anything even close to the games you see and want to emulate -- a lot of the initial learning involves trial-and-error along with fairly useless programs. Of course, this is a good thing since you aren't going to learn anything if you start off trying to combine it all into a finished product.

But yeah, start with C or C++ (incredibly similar) and focus on the basics, like pointers and whatnot. A lot of people have quite a bit of difficulty overcoming some of the concepts involved.

12 years ago
Permalink

Comment has been collapsed.

I'd suggest looking into game engines or toolkits first and deciding on the language based on that. The language is not the most important skill to learn when it comes to game programming, and the concepts you learn with one language should transfer to another without problem.

12 years ago
Permalink

Comment has been collapsed.

very true. as a dude paid to write code, i can confirm that the specific languages you know only matters when you're just getting started in terms of how much stuff you need to look up. the concepts are what you really need to know and they're not the sort of thing you can pick up from a reference on the internet.

12 years ago
Permalink

Comment has been collapsed.

It's either Java or C++ (no point in learning C beforehand I believe, it makes it even harder to switch).

Java is a little bit easier, and your game can instantly run on any OS because of the way it works (as I remember, it sends a message to the computer which interprets it and sends it back). Otherwise with C/C++ you'll have to rewrite the code for every other OS. On the other hand, C++ is very capable and that's what you're going to use when making Skyrim, MW3, BF3... you get the idea.
Aaaaand if we trust the Humble Bundle's stats to be universal, Linux users gladly dish out more money for games.

Anyway, there's also Flash - ActionScript 2 is very easy (whereas you've got six types of variables with Java, AS2 only has 3) but it's coming to an end. We now have ActionScript 3 which is that much harder... the code to stop the file right in its track is twice as long.

Why am I proposing Flash? Well, contrary to popular belief, you can make some pretty neat video games and some pretty neat money (MochiAds is a great way to do that). In fact, I heard a flash game sold for 20'000 dollars (and that's all the rights to the game) once. Thing is, with a Flash environment, you see what you're working on directly instead of reading through text.

There's also Unity, which uses the Unreal Engine right into your browser. You don't need to know any language to use it, but you can work on it directly. I don't remember which language you'd use then though.

12 years ago
Permalink

Comment has been collapsed.

Unity is unrelated to Unreal Engine. It runs natively on Windows and Mac or in a web browser. You can program scripts in it in Javascript, C# or Boo.

Frankly now that you mention it, Unreal Development Kit is also an option. The CryENGINE SDK is another. These are both free if you're not doing commercial work. Unity is also free for commercial work, but its free version is somewhat limited.

12 years ago
Permalink

Comment has been collapsed.

Codeacademy have some decent interactive Java tutorials. There were a couple of times when I found the answer checking to be a bit wonky but the forums there helped me get around that.

I'm learning C at the moment, I do no recommend it.

12 years ago
Permalink

Comment has been collapsed.

Oh, that's a really nice site.

12 years ago
Permalink

Comment has been collapsed.

I frequent that site as well! It's a very good learning tool for amateurs and beginners! Too bad some exercises are wholly dependent on writing exactly what they want. It was infuriating whenever I got a syntax error when there was no such thing. I simply didn't do things their way.

12 years ago
Permalink

Comment has been collapsed.

C++ is the best :D you can always try python or something else.

12 years ago
Permalink

Comment has been collapsed.

For 2D stuff : c++ with either SDL or SFML

For 3D stuff: C# with XNA

I'm a java coder myself and was recently forced to switch to C++ and it's not that bad a transition but there is some work involved. I have to say though that C# has an almost identical syntax to Java so if you know Java pretty well then the switch is a breeze.

12 years ago
Permalink

Comment has been collapsed.

C# with XNA can be also used for 2D stuff. For example Terraria was written in C# and with the XNA Framework. (Source)

12 years ago
Permalink

Comment has been collapsed.

Keep in mind, XNA does limit your portability to other platforms. If you're even remotely thinking of releasing on Linux-based platforms, seriously consider this.

Java, of course, will give you instant cross-platform functions, and it doesn't have to end up being the unoptimized bloated mess that Minecraft is. Notch may have had expanded on a novel idea, but he's far from the world's best programmer.

I don't know much about it (other than knowing of it), but Subsoap, the Farie Solitare guys, recommend Monkey: http://www.monkeycoder.co.nz/
From Monkey's site: "Monkey is a brand spanking new programming language that allows you to create apps on multiple platforms with the greatest of ease.

Monkey works by translating Monkey code to one of a different number of languages at compile time - including C++, C#, Java, Javascript and Actionscript."

12 years ago
Permalink

Comment has been collapsed.

"Java, of course, will give you instant cross-platform functions, and it doesn't have to end up being the unoptimized bloated mess that Minecraft is. Notch may have had expanded on a novel idea, but he's far from the world's best programmer."

YES! Finally someone who has the stones to say this!

12 years ago
Permalink

Comment has been collapsed.

I'm studying Computer Science. Java-skills needed ;)

12 years ago
Permalink

Comment has been collapsed.

I know that you have already done some Java, but if you are looking to learn a language easily whilst learning knowledge that you can easily transfer to other languages then you need to learn Python 3. However, if you want to get straight into making some games then Unity is the place to look.

12 years ago
Permalink

Comment has been collapsed.

Closed 12 years ago by mrlukecaptain.