Best language to make 2d games
#1 Members - Reputation: 101
Posted 06 August 2012 - 11:45 AM
So basically if tl;dr
- Java or C++ for game creation (or other)
- What would be a good engine for a 2d platformed?
#2 Members - Reputation: 233
Posted 06 August 2012 - 12:14 PM
If you're however open to other languages, I'd recommend Python as well. With its extensive SDL-based pyGame module, it's quite fast and easy to write fully playable 2D games. There's plenty of tutorials for that, I'd recommend these for starters: http://inventwithpython.com/index.html
Edited by Vodahmin, 06 August 2012 - 12:16 PM.
#4 Members - Reputation: 1050
Posted 06 August 2012 - 02:27 PM
#7 Members - Reputation: 1050
Posted 06 August 2012 - 04:25 PM
Edited by 6677, 06 August 2012 - 04:26 PM.
#8 Members - Reputation: 326
Posted 06 August 2012 - 08:23 PM
#9 Members - Reputation: 194
Posted 06 August 2012 - 09:46 PM
A really great place to start game programming is with Python using the SDL wrapper Pygame. Python is really easy to learn, and if you're going to get into game development, having to worry about learning a much more complex language like C++ or Java AS WELL as game programming theories and concepts, could really set you back. Pygame is also EXTREMELY easy to use with Python and has pages and pages of really usefull documentation on their website, something I found VERY usefull.
I also agree on this choice. Once you get the hang of pygame dump python and just switch to C++ with native SDL. The API is pretty much the same since pyGame is just a bunch of binders to SDL.
It's also advantageous since python is an easy scripting language that takes very little time to deploy. I even know a few C programmers who mock things up with python sometimes.
I "surf" the web, literally.
#10 Members - Reputation: 395
Posted 07 August 2012 - 05:51 AM
Any way, what language to use to make 2D games?
Python / Pygame is easy, however is not portable at all ( don't get me started on Py2Exe )
C# / XNA is a bit harder than Python, but is very popular -- Mono makes it portable to any system
Flash / Action Script 3 is great for web games
Java is very portable, but can be a resource hog.
C++ is very portable, but takes a lot of time to develop
There are quite a few other languages to pick from, however one has to take into consideration portability AkA, how easy it is for others to install and use your finished product.
Some scripting languages used in 2D games - Lua, Ruby, Boo, HTML 5
Edited by Shippou, 07 August 2012 - 10:19 PM.
#12 Members - Reputation: 3285
Posted 07 August 2012 - 08:44 AM
Actually that's not completely true; the ecosystem plays a huge part of it. Both Java and C++ have good (and free) tools available. Libraries are a big part of it, and both have some good choices there too, although C++'s selection is by far it's biggest strength. I would suggest reading this guide for a better idea of languages available, their primary tools and libraries and the merits of each.
Finally we can offer you our own opinion. Me, myself, unless I had to ( platform requirements, client demands, etc ) I wouldn't touch C++ with a 10 foot pole, unless I was working with a very large team. If I was looking to actually ship, if working in 3D I would probably go with C#/Unity, or in 2D I would use a higher level language like LUA with MOAI. Personally, I've been interested in HTML5 lately, so Javascript has been on my mind. It's a hateful hateful language that is a ton of fun to develop in!
Edited by Serapth, 07 August 2012 - 08:47 AM.
#13 Members - Reputation: 1050
Posted 07 August 2012 - 10:02 AM
I've corrected you on the C#/XML thing before. XML is just a markup language/document. XNA is what your after. Proof: http://en.wikipedia.org/wiki/XML http://en.wikipedia....i/Microsoft_XNA Last time you even downvoted me for correcting you which makes no sense seeming as you were genuinely wrong. And btw the guy thats already downvoted you wasn't mePython / Pygame is easy, however is not portable at all ( don't get me started on Py2Exe )
C# / XML is a bit harder than Python, but is very popular -- Mono makes it portable to any system
Python/Pygame is also VERY portable. The same code will run on any system with python and pygame installed without any issues. Theres other options besides Py2Exe. Mac has python preinstalled so just include a note on how to install pygame. Linux almost always has python preinstalled so its a simple case of providing a quick note on how to install pygame aswell (which is in almost every distro's repository). I'd say its VERY portable.
Edited by 6677, 07 August 2012 - 10:06 AM.
#14 Members - Reputation: 315
Posted 07 August 2012 - 10:41 AM
With one of the graphic library( pygame pyglet pyopengl) and a physics engine like pymunk. It's easy and if you work hard you can create amazing things !
C# is a really good idea aswell
If you just wanna create a 2d game there is no need to get into c++ or java
#15 Members - Reputation: 1226
Posted 07 August 2012 - 11:53 AM
Hell, I'm teaching a class on making games in JavaScript. There's lots of them out there these days (games, not classes).
Do whatever you know best. Learn as many programming languages as possible. Eventually, you will see that it doesn't matter.
#16 Members - Reputation: 3285
Posted 07 August 2012 - 12:08 PM
It doesn't matter.
Hell, I'm teaching a class on making games in JavaScript. There's lots of them out there these days (games, not classes).
Do whatever you know best. Learn as many programming languages as possible. Eventually, you will see that it doesn't matter.
This is great/horrible advice
Learn as many programming languages as possible... eventually. One of the biggest problems with new (all?) developers is getting distracted by shiny and new. Learn one language well before moving on, as minimal exposure to many languages doesn't help you one bit, at least until you've mastered at least one.
#17 Members - Reputation: 1050
Posted 07 August 2012 - 12:13 PM
I think this is a great point. I'm new to games development (but not programming in general) although to start my path into games I decided to go down the XNA route. I'm basically having to pick up knowledge on C# (never used before) from the tutorials and my VB.net and python experiences, hang on, just discovered something glinting on this webpage over here, brb....One of the biggest problems with new (all?) developers is getting distracted by shiny and new.
#18 Members - Reputation: 1226
Posted 07 August 2012 - 01:17 PM
It doesn't matter.
Hell, I'm teaching a class on making games in JavaScript. There's lots of them out there these days (games, not classes).
Do whatever you know best. Learn as many programming languages as possible. Eventually, you will see that it doesn't matter.
This is great/horrible advice
Learn as many programming languages as possible... eventually. One of the biggest problems with new (all?) developers is getting distracted by shiny and new. Learn one language well before moving on, as minimal exposure to many languages doesn't help you one bit, at least until you've mastered at least one.
Multiple examples are better than one. If you can see the same program implemented in 3 different languages, it's a lot easier to pick out what is the C/Python/Java of it and what is the algorithm of it.
Yeah, distraction is a problem, but the beginner's single-minded focus on The Best Programming Language Evar is worse.
#19 Members - Reputation: 105
Posted 09 August 2012 - 03:36 PM
From my experience of trying to create a 2D platformer, I went through a variety of languages before I could decide on what I mostly researched and experimented on. After starting from Java, Actionscript 3 and HTML/5/CSS, you can start to gather what languages may have the future (for yourself) for creating a 2D platformer game. When I first wanted to make a game, I tried C++ thinking I could make it all. It was unsuccessful, way too much of a leap for a beginner like me. Anyone by any means can start with C++, but I find its a huge learning curve, especially from someone like me who experience is a visual designer, not a programmer. Thinking of a language like Java is a great start about thinking what to program in for a 2D game. Languages to look at are:
- C#
- Actionscript 3
- Javascript
- Java (like you mentioned)
After many failed or successful attempts (even if it is just putting a sprite in the game), I question myself on the language and engines related to it.
- What games have been made out there using that language?
- What engines are available for that language? How well can something be made with them?
- How well are the engines supported? Are they now in history or have they got a thriving community and up-to-date documentation?
- Whats the learning curve for this language?
Now in my personal opinion, after experimenting with a variety of engines/languages, I decided that it was best to settle on Actionscript 3 language for creating my 2D platformer. The reason being, its actually more in depth then what I first saw it as "Flash".
Creating a actionscript 3 game is actually relitevly easy to setup. There is a great free IDE out there called "FlashDevelop" and the Flex SDK allows you to export to play in Flash. Now the situation is what engine do I use? Well there is an engine out there called "Flixel" specifically designed for classic retro 2D games. The only limitation (without sounding cliche) is anyones imagination. Flixel just requires you to program your game, create your assets and your off. The documentation and community out there is great, and the examples of work is high! Take a look at "CANABALT", a 2D running game that has now hit the mobile market. I highly recommend flixel for creating a 2D platformer and getting an idea of how programming in a commonly used gaming language is.
In conclusion anyone has their opinion on what language or engine to use, it really is just your own choice on what you think is the right way to make your game. I hope I have helped and good luck with your creations
- DeveloperJazz
Edited by DeveloperJazz, 09 August 2012 - 03:39 PM.
I have been programming in Java, Actionscript3, HTML5/CSS and Javascript for almost a year now.
#20 Moderators - Reputation: 2288
Posted 10 August 2012 - 04:22 PM
I have stripped the topic of the irrelevant and off-course discussion concerning cx_freeze and Python, etc etc. Take it to some other forum, please.
Edited by Josh Petrie, 10 August 2012 - 04:27 PM.
Josh Petrie | Lead Tools Engineer, ArenaNet | Microsoft C++ MVP






