Jump to content

  • Log In with Google      Sign In   
  • Create Account


Best language to make 2d games


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
22 replies to this topic

#1 Eddy Allen   Members   -  Reputation: 101

Like
0Likes
Like

Posted 06 August 2012 - 11:45 AM

Hey, Im new here so I hope this is in the right forum. Now I have an Idea for a 2d platformer but I've only ever coded VB.Net HTML and CSS. I was wondering what would be the best language to make a 2d platformer and then other games. I was thinking of C++ but I've also thought of Java. Im just about to enter into college to study computer science and my first CS class is Intro to Java so I was thinking to start learning Java now. But if C++ is better for overall game creation ill learn both at the same time.

So basically if tl;dr

- Java or C++ for game creation (or other)
- What would be a good engine for a 2d platformed?

Sponsor:

#2 Vodahmin   Members   -  Reputation: 233

Like
0Likes
Like

Posted 06 August 2012 - 12:14 PM

Making platform games in Java is only a wise idea if it's for Android. In any other scenario I'd say C# would be better (especially because of the XNA library). I wouldn't recommend C++ if you're just starting to program - I think C# would be a better choice for now, especially because it's similar to Java in many ways (which, as you said, you'd be learning at the university).

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.


#3 Eddy Allen   Members   -  Reputation: 101

Like
0Likes
Like

Posted 06 August 2012 - 02:23 PM

Awesome I was really thinking about python but wasnt sure of its game capabilities, I've got some ideas for python bots I want to make but thats for another forum. Nothing illegal though

#4 6677   Members   -  Reputation: 1058

Like
0Likes
Like

Posted 06 August 2012 - 02:27 PM

C# is fairly similar to VB.net IMO, easy enough to pick up, then you can use the XNA library which I find to be greatly superior to python+pygame. XNA can also be used with VB.net (and even ironPython) but the XNA tutorials mostly focus on C#.

#5 Tayron   Members   -  Reputation: 101

Like
0Likes
Like

Posted 06 August 2012 - 02:40 PM

Best language is the one you're most familiar with. I, for one, like to do my things in c++, but if you're just starting out, XNA isn't bad. But try to go beyond XNA when you know enough. XNA is good up to a point.

#6 Eddy Allen   Members   -  Reputation: 101

Like
0Likes
Like

Posted 06 August 2012 - 04:22 PM

I mean I know that, and I understand it, Ive studied VB.Net for two years in highschool. Only programming class besides HTML and CSS. But .Net just isnt good for gaming I mean I can make programs in it but thats about it

#7 6677   Members   -  Reputation: 1058

Like
0Likes
Like

Posted 06 August 2012 - 04:25 PM

.Net is getting increasingly popular for making games. Most of the games on xbox live indie games are made in XNA. Terraria and Bastion are 2 popular titles made in XNA. I've seen in an older version of XNA someone made an engine capable of loading quake 2 data files (essentially a quake 2 engine reimplementation)

Edited by 6677, 06 August 2012 - 04:26 PM.


#8 shadowgamesco   Members   -  Reputation: 326

Like
0Likes
Like

Posted 06 August 2012 - 08:23 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.

#9 DZee   Members   -  Reputation: 194

Like
1Likes
Like

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 Shippou   Members   -  Reputation: 1323

Like
-4Likes
Like

Posted 07 August 2012 - 05:51 AM

Language_Structure ( Python != C++ ){}

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.

 Reactions To Technologies:
1. Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works.
2. Anything that's invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it.
3. Anything invented after you're thirty-five is against the natural order of things.

- Douglas Adams 2002


 


#11 smr   Members   -  Reputation: 1554

Like
0Likes
Like

Posted 07 August 2012 - 07:11 AM

If your goal is to create a game, I would suggest you try Unity. Games written with Unity can be run on Windows, Mac, Android and iOS. Lots of developers are using it with great success.

#12 Serapth   Crossbones+   -  Reputation: 5180

Like
0Likes
Like

Posted 07 August 2012 - 08:44 AM

Nobody can make that decision for you, different languages exist for a reason. Languages are a series of trade-offs. Java is a higher programmer productivity language that pays a price with (potential) speed. C++ is a higher (potential) speed language, with heavy costs in programmer productivity ( and sanity! ). Which is best often comes down to you.


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! :) I've recently done some tutorials using Cocos2D if you want a taste for HTML5 development.

Edited by Serapth, 07 August 2012 - 08:47 AM.


#13 6677   Members   -  Reputation: 1058

Like
1Likes
Like

Posted 07 August 2012 - 10:02 AM

Python / 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

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 me

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 Sparkon   Members   -  Reputation: 351

Like
0Likes
Like

Posted 07 August 2012 - 10:41 AM

If you are fairly new to programming i would suggest you tu use python
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 capn_midnight   Crossbones+   -  Reputation: 1375

Like
0Likes
Like

Posted 07 August 2012 - 11:53 AM

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.
[See some of My Projects] - [Find me on twitter tumblr G+ Github]

#16 Serapth   Crossbones+   -  Reputation: 5180

Like
3Likes
Like

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 6677   Members   -  Reputation: 1058

Like
0Likes
Like

Posted 07 August 2012 - 12:13 PM

One of the biggest problems with new (all?) developers is getting distracted by shiny and new.

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....

#18 capn_midnight   Crossbones+   -  Reputation: 1375

Like
0Likes
Like

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 Posted Image

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.
[See some of My Projects] - [Find me on twitter tumblr G+ Github]

#19 DeveloperJazz   Members   -  Reputation: 105

Like
0Likes
Like

Posted 09 August 2012 - 03:36 PM

Hello there, I am new here and I am relatively new to the programming scene. I have only fully started programming since last September and have already been experimenting with creating a 2D platformer in a variety of languages for my first trials of creating games. I am also writing this in the perspective of making your game with an accompanied engine.

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)
Now there are languages out there that you wouldn't expect to be used for game programming. Take languages such as Javscript or HTML5. They are starting to have engines out there being made. The point I am making is that any language out there can or is starting to look towards game development. The biggest tackle (and this was when I was trying to simply create my first platformer) is yourself knowing what you are willing to program in, the confidence and also just how well the language has been used in the gaming industry.

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?
Deciding the language for a 2D platformer is entirely your own decision and to see (like as I mentioned above) how well that language can progress.

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 Posted Image

- DeveloperJazz

Edited by DeveloperJazz, 09 August 2012 - 03:39 PM.

I like playing games. I also like developing them.
I have been programming in Java, Actionscript3, HTML5/CSS and Javascript for almost a year now.

#20 Josh Petrie   Moderators   -  Reputation: 2954

Like
0Likes
Like

Posted 10 August 2012 - 04:22 PM

Well this got off-topic fast, didn't it?

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 | Core Tools Engineer, 343i | Microsoft C++ MVP





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS