Jump to content

  • Log In with Google      Sign In   
  • Create Account


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


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
43 replies to this topic

#21 TheVirtualDragon   Members   -  Reputation: 237

Like
0Likes
Like

Posted 04 June 2012 - 05:50 AM

Yes, I agree with everyone else Cham, Python is definetely the easiest language and it is capapble of creating some very good games. In fact alot of games are made in Python (with C++ for the engine, but the engine can be made in Python as well). Python also gives you an advantage as development is very fast (e.g. making the same thing in something like c++ would take twice the amount of code).
What's This?: basically, it's my blog. Click on it.

Sponsor:

#22 Cham   Members   -  Reputation: 188

Like
0Likes
Like

Posted 04 June 2012 - 06:06 AM

I think I've been relying on the opinions of others as my own. One person says something good about the language, the other person says something bad. I take those opinions as my own, which I shouldn't. But now you have all reassured me that Python is the language to go with, I am greatful.Thank you all for your advice! Posted Image

#23 Serapth   Crossbones+   -  Reputation: 5181

Like
0Likes
Like

Posted 04 June 2012 - 06:19 AM

If you want to go into more detail about language options read this guide


It covers basically everything you need to know to get started.

But as I said earlier, forget then "and then...", pick something and stick to it or you will get nowhere.

Edited by Serapth, 04 June 2012 - 06:26 AM.


#24 Cham   Members   -  Reputation: 188

Like
0Likes
Like

Posted 04 June 2012 - 04:18 PM

I am planning to make a game similar to terraria. I haven't seen a game made in Python that comes close to the quality of Terraria.

Also, windows users will have to install Python in order to play my game, which doesn't seem very effecient.

With C# and XNA you don't need to do any of that.

Im just saying. Posted Image

I honestly think I should take C++, I might be able to handle it if I try hard enough. I know this is making a lot of you mad, but I know I'm setting myself up for failure by choosing the wrong language. I want to learn one, very good, language.

Edited by Cham, 04 June 2012 - 04:46 PM.


#25 Serapth   Crossbones+   -  Reputation: 5181

Like
0Likes
Like

Posted 04 June 2012 - 04:46 PM

I am planning to make a game similar to terraria. I haven't seen a game made in Python that comes close to the quality of Terraria.

Also, windows users will have to install Python in order to play my game, which doesn't seem very effecient.

With C# and XNA you don't need to do any of that.

Im just saying. :(



First off, you can bundle a Python game into a single executable.
Second, with C#/XNA, you still have dependencies.


That said, you are putting the horse way before the cart, you need to learn programming first. The guy behind Terraria probably spent years learning to program before creating that game, which I imagine took a number more years to create.

#26 Cham   Members   -  Reputation: 188

Like
0Likes
Like

Posted 04 June 2012 - 05:17 PM


I am planning to make a game similar to terraria. I haven't seen a game made in Python that comes close to the quality of Terraria.

Also, windows users will have to install Python in order to play my game, which doesn't seem very effecient.

With C# and XNA you don't need to do any of that.

Im just saying. Posted Image



First off, you can bundle a Python game into a single executable.
Second, with C#/XNA, you still have dependencies.


That said, you are putting the horse way before the cart, you need to learn programming first. The guy behind Terraria probably spent years learning to program before creating that game, which I imagine took a number more years to create.


Wait so you can bundle Python applications into one .exe and have it run even though the user does not have Python? I looked at the best games made in Python, they are not very professional. All the 2D games are choppy, and 3D games aren't very high quality.

Edited by Cham, 04 June 2012 - 05:21 PM.


#27 Serapth   Crossbones+   -  Reputation: 5181

Like
0Likes
Like

Posted 04 June 2012 - 05:57 PM



I am planning to make a game similar to terraria. I haven't seen a game made in Python that comes close to the quality of Terraria.

Also, windows users will have to install Python in order to play my game, which doesn't seem very effecient.

With C# and XNA you don't need to do any of that.

Im just saying. Posted Image



First off, you can bundle a Python game into a single executable.
Second, with C#/XNA, you still have dependencies.


That said, you are putting the horse way before the cart, you need to learn programming first. The guy behind Terraria probably spent years learning to program before creating that game, which I imagine took a number more years to create.


Wait so you can bundle Python applications into one .exe and have it run even though the user does not have Python? I looked at the best games made in Python, they are not very professional. All the 2D games are choppy, and 3D games aren't very high quality.



Then you did not look at the best games.


And yes, you can.

#28 Cham   Members   -  Reputation: 188

Like
0Likes
Like

Posted 04 June 2012 - 06:29 PM




I am planning to make a game similar to terraria. I haven't seen a game made in Python that comes close to the quality of Terraria.

Also, windows users will have to install Python in order to play my game, which doesn't seem very effecient.

With C# and XNA you don't need to do any of that.

Im just saying. Posted Image



First off, you can bundle a Python game into a single executable.
Second, with C#/XNA, you still have dependencies.


That said, you are putting the horse way before the cart, you need to learn programming first. The guy behind Terraria probably spent years learning to program before creating that game, which I imagine took a number more years to create.


Wait so you can bundle Python applications into one .exe and have it run even though the user does not have Python? I looked at the best games made in Python, they are not very professional. All the 2D games are choppy, and 3D games aren't very high quality.



Then you did not look at the best games.


And yes, you can.


The best 2D games, I'm not a big fan of 3D Games. If I were to build a 2D game, I should be using PyGame right?

#29 Serapth   Crossbones+   -  Reputation: 5181

Like
0Likes
Like

Posted 04 June 2012 - 09:52 PM





I am planning to make a game similar to terraria. I haven't seen a game made in Python that comes close to the quality of Terraria.

Also, windows users will have to install Python in order to play my game, which doesn't seem very effecient.

With C# and XNA you don't need to do any of that.

Im just saying. Posted Image



First off, you can bundle a Python game into a single executable.
Second, with C#/XNA, you still have dependencies.


That said, you are putting the horse way before the cart, you need to learn programming first. The guy behind Terraria probably spent years learning to program before creating that game, which I imagine took a number more years to create.


Wait so you can bundle Python applications into one .exe and have it run even though the user does not have Python? I looked at the best games made in Python, they are not very professional. All the 2D games are choppy, and 3D games aren't very high quality.



Then you did not look at the best games.


And yes, you can.


The best 2D games, I'm not a big fan of 3D Games. If I were to build a 2D game, I should be using PyGame right?


It's the most popular choice, yes.

Again, myself, not actually a huge python fan, so I can't make many recommendations in that regard.

#30 TheVirtualDragon   Members   -  Reputation: 237

Like
0Likes
Like

Posted 05 June 2012 - 01:57 AM

Now you have started Python, don't try to learn another language. All the other low level languages will seem much easier once you have learn't Python. And the reason why there aren't many games made in Python is beacause C++ etc are older, more powerful (Alot of programming languages were created in C or C++) and therefore more popular. However, this doesn't mean you can't create a really good game in Python. There's always a first time for everything.

Edit: Also have a look at Blender 3d. It is scripted in Python, but still works without Python. This is because,the core Python modules are contained in the program's directory.
What's This?: basically, it's my blog. Click on it.

#31 t-boy   Members   -  Reputation: 135

Like
0Likes
Like

Posted 05 June 2012 - 02:01 AM

If you want to start creating games fairly quickly, have you considered BlitzMax? DarkBasic Pro? DarkGDK ? If you want to use C/C++ DarkGDK is probably
the way to go fairly quickly, it's free and you only have to pay when you start selling your games.

You could always start learning ANSI C++ and create a basic text adventure first, see how you go :)

We all know your pain my friend, it is hard to choose, but if you don't choose and stick with it, your still be choosing 10 years down the line, like many
people I know.

#32 Cham   Members   -  Reputation: 188

Like
0Likes
Like

Posted 05 June 2012 - 04:39 AM

If I see one good 2D game (platformer) made in Python, my mind will be set. C# is my other choice if I decide to not take Python.

#33 t-boy   Members   -  Reputation: 135

Like
0Likes
Like

Posted 05 June 2012 - 04:47 AM

Take a look at http://kivy.org/#home

see what you think :)

#34 Cham   Members   -  Reputation: 188

Like
0Likes
Like

Posted 05 June 2012 - 05:05 AM

Fine, I have decided to use Python. :ph34r: What should I use to learn? I will stay with it, I already know the basics of Python.

I would like to take this moment to thank all of you for your insight on my situation and information/opinions on certain languages. It really got me thinking, I think I'm ready to start! :D

Edited by Cham, 05 June 2012 - 01:42 PM.


#35 nooblet   Members   -  Reputation: 167

Like
1Likes
Like

Posted 05 June 2012 - 01:43 PM

Honestly, if you found C# too difficult, I wouldn't even consider picking up C++ as your first language. C# is one of the easiest languages to learn from my experience, and combined with XNA, you can witness very fast results. You seem incredibly indecisive, and you're trying to take everybody's advice, which is influencing the way you think, as well as hinders your own learning experience. There's no "best" starter language, nor are you going to be a better developer by picking up a "more powerful language" as your starter.

When you actually start to learn a language, and become more proficient as a programmer, then you can pick up other programming languages with ease. You have decided to stick with Python, which is a highly recommended language to start out with on these forums, and around the web. I would discontinue searching these forums for advice on starter languages, ignore everybody's input from now, and just program. Make games, make applications, make sexy time, just start learning and stop thinking about it!

#36 Cham   Members   -  Reputation: 188

Like
0Likes
Like

Posted 05 June 2012 - 01:56 PM

Honestly, if you found C# too difficult, I wouldn't even consider picking up C++ as your first language. C# is one of the easiest languages to learn from my experience, and combined with XNA, you can witness very fast results. You seem incredibly indecisive, and you're trying to take everybody's advice, which is influencing the way you think, as well as hinders your own learning experience. There's no "best" starter language, nor are you going to be a better developer by picking up a "more powerful language" as your starter.

When you actually start to learn a language, and become more proficient as a programmer, then you can pick up other programming languages with ease. You have decided to stick with Python, which is a highly recommended language to start out with on these forums, and around the web. I would discontinue searching these forums for advice on starter languages, ignore everybody's input from now, and just program. Make games, make applications, make sexy time, just start learning and stop thinking about it!


Thank you for bringing a whole new field of insight. I am going to work with Python. :)

Edited by Cham, 05 June 2012 - 02:33 PM.


#37 xhh   Members   -  Reputation: 129

Like
0Likes
Like

Posted 05 June 2012 - 09:09 PM

I've just started game development after learning java. I decided to use python and pygame to make 2D games, and so far I'm loving it.

#38 Cagnazzo   Members   -  Reputation: 140

Like
0Likes
Like

Posted 06 June 2012 - 11:03 PM

I have a suggestion in a bit of a different vein. Well, actually it looks like the same vein as Serapth, but I'm going to reemphasize and expand on it.

You mention you started with batch scripting and have used various other languages. Also, you say you're 15 - am I correct in inferring that you've never taken a formal class in computer science? There's no shame in that, but it does mean that there's something you have to be aware of.

Learning a language isn't really what you need to do. It's likely that your knowledge of programming is all imperative. Again, there's no shame in that, but it means that if you jump headfirst into making a game, or even learning a language, you're going to be getting a bunch of information that you won't know what to do with. I tried to learn C++ before studying computer science, and I thought I knew what I was doing; I was, however, sorely mistaken. Not only did I not know what I was doing, I didn't know that I didn't know what I was doing. There's an entire, rich, important world of computer science out there, of paradigms from declarative to functional to object-oriented, and until you wade into it, you probably won't truly understand what you're doing, and more importantly, why you're doing it. It can be extremely frustrating both because bugs will pop up that you don't understand and because your design will be, in a word, poor. At least, that's what I experienced, and it was very disheartening.

To that end, I'd recommend picking up and going through introductions to computer science. I actually have something that might be perfect for you - check out this. It's an introduction to computer science done by MIT - it requires little in the way of prerequisites, and teaches important, foundational techniques in CS. Things like debugging, container types, basic algorithms, and recursion. Best of all, it uses Python as its main language - if you do the problem sets, by the end you'll be filling out a skeletal program to model virus populations within an organism. It only takes a few weeks if you study hard every day. Though I haven't done it myself, there's also this, which is the same course but designed for learners over the internet. Remember, you'll be learning Python this way - but rather than the shallow understanding you'd get from just skimming documents and tutorials, you'll get a rich understanding that you'll be able to apply to other languages and problem areas.

That all may seem harsh, but I see myself about ten months ago in your posts. I had brief experiences with languages and thought I knew enough to get started making a game. All I did was throw together code so poorly that I got frustrated and gave up. I spent the next several months learning everything I could from MIT's courses and various forums. I'm far from an expert - I've only actually finished about three of the introductory courses, and my own game project is basically only at the point where I have colliding blocks on the screen. But I do know that if I hadn't gone through those courses, my code base would be a mess and I probably would have given up on programming entirely. Though my code is still terrible, it's leagues ahead of what it was, and uses many important concepts, like abstraction barriers and data hiding, that I didn't even know existed before.

It's a long road, but ultimately it's one of the few that will get you where you want to be. I wish you the best of luck.

#39 Cham   Members   -  Reputation: 188

Like
0Likes
Like

Posted 07 June 2012 - 07:10 AM

I have a suggestion in a bit of a different vein. Well, actually it looks like the same vein as Serapth, but I'm going to reemphasize and expand on it.

You mention you started with batch scripting and have used various other languages. Also, you say you're 15 - am I correct in inferring that you've never taken a formal class in computer science? There's no shame in that, but it does mean that there's something you have to be aware of.

Learning a language isn't really what you need to do. It's likely that your knowledge of programming is all imperative. Again, there's no shame in that, but it means that if you jump headfirst into making a game, or even learning a language, you're going to be getting a bunch of information that you won't know what to do with. I tried to learn C++ before studying computer science, and I thought I knew what I was doing; I was, however, sorely mistaken. Not only did I not know what I was doing, I didn't know that I didn't know what I was doing. There's an entire, rich, important world of computer science out there, of paradigms from declarative to functional to object-oriented, and until you wade into it, you probably won't truly understand what you're doing, and more importantly, why you're doing it. It can be extremely frustrating both because bugs will pop up that you don't understand and because your design will be, in a word, poor. At least, that's what I experienced, and it was very disheartening.

To that end, I'd recommend picking up and going through introductions to computer science. I actually have something that might be perfect for you - check out this. It's an introduction to computer science done by MIT - it requires little in the way of prerequisites, and teaches important, foundational techniques in CS. Things like debugging, container types, basic algorithms, and recursion. Best of all, it uses Python as its main language - if you do the problem sets, by the end you'll be filling out a skeletal program to model virus populations within an organism. It only takes a few weeks if you study hard every day. Though I haven't done it myself, there's also this, which is the same course but designed for learners over the internet. Remember, you'll be learning Python this way - but rather than the shallow understanding you'd get from just skimming documents and tutorials, you'll get a rich understanding that you'll be able to apply to other languages and problem areas.

That all may seem harsh, but I see myself about ten months ago in your posts. I had brief experiences with languages and thought I knew enough to get started making a game. All I did was throw together code so poorly that I got frustrated and gave up. I spent the next several months learning everything I could from MIT's courses and various forums. I'm far from an expert - I've only actually finished about three of the introductory courses, and my own game project is basically only at the point where I have colliding blocks on the screen. But I do know that if I hadn't gone through those courses, my code base would be a mess and I probably would have given up on programming entirely. Though my code is still terrible, it's leagues ahead of what it was, and uses many important concepts, like abstraction barriers and data hiding, that I didn't even know existed before.

It's a long road, but ultimately it's one of the few that will get you where you want to be. I wish you the best of luck.


You put a lot of effort into that post, I realize everything a lot more clearly now. I will go through these Lectures, they look very interesting! Thanks again! :lol:

#40 prototypical   Members   -  Reputation: 301

Like
0Likes
Like

Posted 18 June 2012 - 09:07 PM

I'd still strongly suggest AS3/Flash for this case. If C# is way over your head, then I'm going to guess Python or AS3 is not going to be much simpler.

But, the nice aspect to Flash for beginners is that the flash authoring software is also a content tool, and learning many concepts can be more visual because of that.

Although, I will say that I really don't see AS3 or C# as being very different at all. I'm also guessing that you might need to take a step back and work on learning basic programming concepts before you'll even be ready to make a game. Feels like you might be putting the cart in front of the horse to some degree.




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