C#/XNA or Python/Pygame for Game Development (2D Side-Scrolling like Terraria)?

Started by
42 comments, last by birko19 11 years, 10 months ago
Hello GameDev Community,


My name is Chamantha and I am a teenager with aspirations to make something big (a game most likely). I have started coding when I was turning 10-years old. I started off with batch scripting, it was pretty easy. Then I moved into C++, Java, and Python. I also worked on applications in VB.NET and C#.

I seem to have a problem where a learn a lot of content about a language then I just drop it due to doubts. So in my mind I have a big bundle of random notes on coding which have no use. I have decided that I will clear my doubts first and then learn a single language all the way to the end.

I need the help of the community. I am planning to learn Java, mainly to develop a game that will eventually move on to the Android platform. But is this the right choice? I am only 15-years old so my knowledge in math is limited, is C++ a better choice? Now I don't want to start one of those long threads about which language is better because I have read so many of them but I can't come to a conclusion. I would prefer to use Python, it is very simple but I'm worried I can't make powerful games with Python (I haven't seen one popular game coded in Python).

[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==

Summary - Should I learn Java (or C++)? If so what resources should I use to learn them? Should I watch videos from thenewboston's channel or should I get a book?

[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==[color=#ff0000]==


Thank you for your time,
-Cham
Advertisement
Your goal, as a beginner programmer, is to learn to program. What language you choose really has very little meaning here, but there are some choices that are worse than others. Starting out with C++ is one of those bad choices. Java isn't a terrible idea to start with as a novice programmer, nor are C# w/XNA, Python with PyGame or PyGL, or even Unity.

The fact of the matter is: You will end up learning many languages and many tools over your lifetime as a programmer. Don't get fixed on what to start with, as it will rarely impact you in the long run.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

If you are serious about it you are most likely going to learn all of the above at some point in the future (maybe not VB). The important thing right now is that you learn one language and learn to make a game with it. If you know one language good (rather than knowing five poorly) it's easier to learn other languages later on.

Python is a good language so I see no reason why you should learn Java or C++ right now, if you would rather use Python. You can either use PyGame or Pyglet if you want faster graphics (I used Pyglet for two Pyweek games.. I like it). I don't know any good tutorials, but I'm pretty sure google can help you with that :)

If you insist on choosing between Java and C++ I would suggest Java since it has a lot of usefull libraries and great documentation. But don't rush towards Android before you have made a few games for pc first (the debugging process is rather cumbersome).
C++ is a good choice.. when you already know a few languages really well. At the age of 11 I started learning C++ for kicks and it didn't make any sense to me. When I got into college and had my first python class everything started to come together. By the end of my college days I had two Java class, 3 C++ classes and that was a good starter for C++. But I would recommended as everyone else has said, start with something small, like Python. Once you've made something with Python and you feel ready to move on to a different language move up into Java.

Note: When it comes to C++ in my opinion, C++ is like playing a really hard game once you hit the end on the highest difficulty you'll feel like a master. And even though I've had all those classes and done pretty well in the classes, it doesn't mean that I understand a lot about C++.
Thank you very much for the help Washu, VildNinja, and Inuyashakagone16! I have decided to learn Python first. Then I will move on to Java and then finally C++. I will try to take it slow instead of jumping onto a big project that I cannot handle.

I also have Flash CS5, would learning AS3 be just as easy (or even easier) as learning Python?

Thank you very much for the help Washu, VildNinja, and Inuyashakagone16! I have decided to learn Python first. Then I will move on to Java and then finally C++. I will try to take it slow instead of jumping onto a big project that I cannot handle.

I also have Flash CS5, would learning AS3 be just as easy (or even easier) as learning Python?



Learn Python.

Leave the "and then"'s for later.

ActionScript is probably about equivalent in difficulty to Python, although such things are extremely subjective.

One major plus in AS's ( oops ) favour is the syntax is much closer to C++/Java/C#. Additionally, it is remarkably similar ( derived from ) to Javascript, which is a language that is (sadly) becoming increasingly relevant.

I suppose I should throw in my personal bias... I don't really like Python all that much.

[quote name='Cham' timestamp='1338563468' post='4945333']
Thank you very much for the help Washu, VildNinja, and Inuyashakagone16! I have decided to learn Python first. Then I will move on to Java and then finally C++. I will try to take it slow instead of jumping onto a big project that I cannot handle.

I also have Flash CS5, would learning AS3 be just as easy (or even easier) as learning Python?



Learn Python.

Leave the "and then"'s for later.

ActionScript is probably about equivalent in difficulty to Python, although such things are extremely subjective.

One major plus in AS's ( oops ) favour is the syntax is much closer to C++/Java/C#. Additionally, it is remarkably similar ( derived from ) to Javascript, which is a language that is (sadly) becoming increasingly relevant.

I suppose I should throw in my personal bias... I don't really like Python all that much.
[/quote]

Since I already have Flash CS5, I will start learning AS3 in order to make simple flash games. Thank you!
AS3/Flash is a great choice to start with. Mainly because of the ability to easily publish/monetize on the web.

The concepts you need for making games are the same no matter what language you use, so using the one that is easiest to quickly distribute and monetize as a first platform, is a good one.
If you are learning Python, you should check out PyQt, PyGame, and / or PyOpenGL which are GREAT AND AWESOME for your game development :)

I'm currently working on a project that generates natural foot prints (including angels and timing) using PyOpenGL. Essentially it's OpenGL with Qt but in Python.

CXD
Youtube:
My Channel

Video Lessons:
Java Programming Lessons

Tutorials Written (Not-Active):
Introduction to A.I.
Does anyone have any experience with C#? I might learn that after AS3.

This topic is closed to new replies.

Advertisement