Best Programming Language to Program 2D Games in besides Gamemaker

Posted by tylerthemiler on Dec. 15, 2011, 4:14 p.m.

Hey guys,

I was playing Megaman X today, and I decided I should work on a game. However, I'm trying to build up my portfolio, and sadly, gamemaker isn't exactly an industry standard language that goes on a resume :P

So I wanted to ask, what language do you guys prefer for a 2D platformer type game?? Basically, its between Java, Python, and C++. I have experience with the first two, but I'm willing slash need to at some point learn C++.

Lemme know what you guys think.

Also, any learning resources would be great!

Thanks,

tylerthemiler

Comments

m3k3 13 years ago

>> gml teaching bad habits

wut?

It's called flexibility. You can use ; after every line or don't, you can use {} or begin end; you can assign with := and = Your choice. All these exists so that users coming from different dev enviroments and new users can adapt and work the way they want. If a C like syntax had been enforced, game maker would be far less popular.

@OP the best is the one you're best at.

Font 13 years ago

Do not use python. It's a dead end road… Just cause you can't make .exes and it runs stupid slow because it's a scripting language.

DesertFox 13 years ago

Quote:
Do not use python. It's a dead end road… Just cause you can't make .exes and it runs stupid slow because it's a scripting language.

I beg to differ.

Your first point is invalid because a lot of languages can't make exes, including: Java, Perl, Ruby, and PHP - all of which are very much alive and kicking. Interpreted languages are also much easier to apply across multiple OS's. Of course, technically, you can make exes with java (jar files), but you can also do a similar thing with Python (and other interpreted languages), if you know where to look.

And speed? Python is pretty much equal to PHP, Ruby, Perl, and other similar languages in terms of how fast it executes. Python is actually a bit faster than PHP, but PHP has faster startup times (time from script call to the start of execution) which is why PHP is used on webservers. Each language has its scope.

Raw speed and 'it can compile' are not the only benchmarks for a language's usefulness. If that were true, everything would be written and compiled in Assembly. And that isn't reductio ad absurdum.

umbra 13 years ago

XNA

Terraria was made in it

i think it is based in C or C++,

i plan on looking at it soon to see if it is better than GM

Astryl 13 years ago

Let me jump in here and throw in the typical USE C++… and then backtrack and suggest you learn Java or ActionScript instead, unless you're eventually planning on going pro.

Leave C# alone. It's going to die a slow and horrible death eventually So hopes Mega

PY 13 years ago

.net isn't going anywhere, not for a long time, it's only growing in support and popularity. To imply it'll die before flash seems very short-sighted to me.

Josea 13 years ago

I don't know what's the fuss about languages being a dead road or dying eventually…

Programming languages come and go, a good programmer thinks about languages in a higher level (like what features make a language imperative, object-oriented, functional, etc) and then is able to pick up any language he wants and reason abouts its pros and cons.

If you are still arguing about what language is best, please go and read Programming Language Pragmatics by Michael Scott.

Astryl 13 years ago

Quote:
I don't know what's the fuss about languages being a dead road or dying eventually…

Programming languages come and go, a good programmer thinks about languages in a higher level (like what features make a language imperative, object-oriented, functional, etc) and then is able to pick up any language he wants and reason abouts its pros and cons.

If you are still arguing about what language is best, please go and read Programming Language Pragmatics by Michael Scott.

Languages don't die. You'll always have the necrocoders who can't let go. COBOL is still alive… horribly enough.

But yeah… best language… there isn't one 'all-round' language that's going to satisfy everybody.

It depends on the person using the language; I find myself comfortable with C++, so I use it the most. But I've been broadening my horizons to Java recently, and AS3… Meh. Pick a language out of a hat, stick with it and learn some more languages later (Just leave VB.NET alone. Please).

Castypher 13 years ago

I agree with PY. But I don't see much of a life left for Flash, and C# will very likely outlive it in my eyes. Though admittedly I'm very biased against Flash games. Not that I hate it, mind you, I just don't think I'd program exclusively in ActionScript, where someone could do it in a "higher level" language like Java or C++ a little more easily.

Also, XNA is C# (not sure if exclusive though), so that would mean Terraria is C#, which means something was successful in C#, which means many others are and will be too.

Nobody says you have to stick to one language. Each language has its own benefits. I don't understand why people hate on languages though. To some people C++ and Java is like Mac versus PC, or 360 versus PS3 versus Wii. If you don't like a language, just don't use it.

tylerthemiler 13 years ago

Whoa, thanks for the healthy response guys! Quite the convo. @Mega, I actually know Java and Python quite well. I basically want to be able to code up some simple games that are also relevant to real life, i.e. something that can go on a resume (which just happens to not be GM).

@Font: Python is the shit! I do 90% of my programming in python. I use it heavily for scientific computing, and it is actually getting really popular in scientific applications.

I decided to learn some C++ regardless (I have experience with C, but it is mostly forgotten at this point). It is definitely a language I should be comfortable with I think.

Thanks!