What is the best Programming language to learn to make games?

11 posts

Flag Post

title

 
Flag Post

Haxe, C++, LUA, python are some very good picks.

 
Flag Post

As an experienced C++ programmer, I have to disagree that C++ is a good language for learning how to make games. Don’t get me wrong. I love C++ for the tremendous amount of control it gives me. If you want to write games that run fast and efficiently, C++ is the language of choice. I just think that you can learn to make games faster if you don’t have to wrestle with the intricacies of the language.

IMO, the primary things to learn with making games are game design, mechanics and physics, and general programming concepts. A language or tool that already comes with its own graphics rendering routines is essential because unless you want to learn how to make a graphics engine, having to program one from scratch will not only slow you down but also take your focus away from actually making games.

I would recommend using a game engine to go with the language of your choice; e.g., Python + Pygame, Lua + LÖVE, C# + XNA. Let’s not forget AS3, which already comes with a built-in graphics engine.

If you aren’t already familiar with general programming concepts, I suggest using a game creation tool that minimizes the need to get into programming while having some feature for including actual code if and when the need arises. I would recommend Stencyl, Construct Classic or Construct 2 from Scirra, and GameMaker from Yoyo Games.

 
Flag Post

You make good points, but I put C++ because OP mentioned that he wanted to learn to make games, not make games. Simpler languages are great for getting a product, but C++ prepares you for other platforms and really helps you make a game from ground up (including graphics :))

 
Flag Post

If you want absolutely simple and forgiving, I’d say AS2 is best (even more idiot proof than AS3). It ignores a lot of the common things that make other languages hard to learn like accurately declaring variables, building a graphics engine, and memory allocation making it quick and easy to pick up. This makes it good sandbox to learn the basics with like figuring out how to run loops, functions, etc, because there are fewer things to go wrong. It’s a good place to start, IMO but it’s horribly inefficient, and transitioning from it to another language will take some work because you’ll need to pick up the additional skills that it does not require.

 
Flag Post

It ignores a lot of the common things that make other languages hard to learn like accurately declaring variables, building a graphics engine, and memory allocation making it quick and easy to pick up.

AS3 is already like this, very forgiving. Forgiving is not always good, strict language is very important skill.

 
Flag Post

You need to be more specific.

Originally posted by Senekis:

Programming languages are tools. The tool to use depends on the task. There’s not a path to follow, it depends on your goal and needs.

 
Flag Post

C# is alright for this, though XNA, from what I’ve heard, is an annoying thing with which to work.

 
Flag Post

What senekis said. For the web, Flash is the best platform. So AS3 or haxe.

 
Flag Post

I’d vote HaXe, although I fon’t know it, apparently it’s really nice and multi-platform.

 
Flag Post

Depends on your target audience.

For web-based games, AS3/Haxe is still the best way to go.

For mobile games, it is best to use the language native to the device (Objective-C on iOS and Java on Android iirc). HTML5 and JavaScript are starting to become good choices here, but I’m still not convinced of their practicality.

For small Windows applications nothing beats C# and Lua.

For larger applications, you can choose between Java, C/C++, and C#.

Originally posted by SWATLLAMA:

C# is alright for this, though XNA, from what I’ve heard, is an annoying thing with which to work.

It is if you don’t know how to use it. It doesn’t have all of the advanced features of a real game engine, but it is amazing for what it gives you considering it is free and made by Microsoft. It is a little annoying to learn all of the tricks, but what library/engine isn’t when you first pick it up?