Sign in to follow this  
Levistus

Python/Pygame or C#/XNA

Recommended Posts

Hi guys. I want to know which programming language should I choose between the two. I'm aiming in making small games like Flash games and hope to be able to port it to other platforms. But of course I do plan to move into bigger projects so I don't want to limit myself to just Flash.

Here's a sample game that I like. [url="http://armorgames.com/play/12141/kingdom-rush/?ref=IRONHIDEWEB"]Kingdom Rush[/url]. It is made from Flash. I like the cute graphics and maybe I can make other genre of games with the same/close to this art style. I want to make games for a living so I want to target more platforms if I can.

Btw I chose these two cause they're the most suggested so I can make games faster.

Thank you.



Share this post


Link to post
Share on other sites
If you never had experience with programming before i would suggest go with Python's Pygame and you can mess around make som cool games there..
Otherwise if you did programming before go for XNA its fun and powerful!

Share this post


Link to post
Share on other sites
[quote name='TheCompBoy' timestamp='1313356687' post='4849099']
If you never had experience with programming before i would suggest go with Python's Pygame and you can mess around make som cool games there..
Otherwise if you did programming before go for XNA its fun and powerful!
[/quote]

So I start with Python and will I transition into other languages in the future?

How about portability to other platforms? Is Python good with that?

Thanks.

Share this post


Link to post
Share on other sites
Well I personally recommend C# and XNA because It's an powerful and easy to learn/use language!
XNA has a large community ( Don't know bout PyGame ) and is very robust!

Though C# and XNA is a bit tricky to port correctly to different platforms like iOSX and Linux.
MonoGame might be worth looking into though I don't know how much of a help it is...


For Python, I'll let another fill in why Python is a good choice...

Share this post


Link to post
Share on other sites
Extra question. Is there any truth to this: "If you're going to use Python/Pygame then just use C#/XNA instead since they're both easy to learn but C#/XNA is a lot more powerful and has a large community."

Share this post


Link to post
Share on other sites
[quote name='13wood' timestamp='1313357257' post='4849111']
xna is better.

however, it has no designer, so it might be hard for a flashie like you.

[/quote]

does this mean i can't just make a picture of the a certain place and choose which parts cannot be walked into?

i haven't tried flash yet though.

-

Hmm since I wanted portability someone suggested Java. Java is not as easy as Python and C# right?

Share this post


Link to post
Share on other sites
Python+PyGame is extremely portable. It's available on any platform you want.

C# is less portable. There exists mono, which is an open-source cross-platform runtime, but XNA is windows-only.

It is true that XNA has a much larger community than PyGame does. XNA is also much more production-ready, but PyGame is very capable.

Depending on how much of the coding you want to do yourself, you could also look into Unity. Unity allows you to write your game in C# (or some other languages), but it handles things like asset-loading and rendering, input-handling, etc.

Share this post


Link to post
Share on other sites
Been looking around for python games and seems they usually look ugly. or maybe they don't have graphic artists. I forgot Kingdom Rush was made by a bunch of people.

Will it cost me to develop games using C# + XNA or can I make the games I like with the free versions of Visual Studio?

I'm still a student, maybe I can get Visual Studio Pro for Free from MS Dreamspark.

Share this post


Link to post
Share on other sites
[quote name='Levistus' timestamp='1313359664' post='4849137']
Will it cost me to develop games using C# + XNA or can I make the games I like with the free versions of Visual Studio?
[/quote]


Completely free, unless you want to sell games for Xbox and/or Windows Phone 7, then you have to pay the $99 fee.

Share this post


Link to post
Share on other sites
[quote name='Levistus' timestamp='1313359664' post='4849137']
Been looking around for python games and seems they usually look ugly. or maybe they don't have graphic artists. I forgot Kingdom Rush was made by a bunch of people.

Will it cost me to develop games using C# + XNA or can I make the games I like with the free versions of Visual Studio?

I'm still a student, maybe I can get Visual Studio Pro for Free from MS Dreamspark.
[/quote]

The majority of XNA games are hideous as well. This is a function of the fact that both platforms are mostly used by indies, rather than having anything to do with the platforms themselves.

Share this post


Link to post
Share on other sites
[quote name='Levistus' timestamp='1313359664' post='4849137']
Been looking around for python games and seems they usually look ugly. or maybe they don't have graphic artists. I forgot Kingdom Rush was made by a bunch of people.

Will it cost me to develop games using C# + XNA or can I make the games I like with the free versions of Visual Studio?

I'm still a student, maybe I can get Visual Studio Pro for Free from MS Dreamspark.
[/quote]

The look of a game has nothing to do with the programming language and framework. The art will only be as good as the artist creating it. Dont ever judge a programming language or platform based on the way that the existing games made with it look. As a beginner, any language/framework you choose will be powerful enough. The last thing you need to worry about is the "power" of the language. You are not going to push ANY programming language to its processing limits with your games at this point, so dont worry about it. What you should be worried about is ease of learning/ minimal frustration, as well as a solid community to help you out.

Share this post


Link to post
Share on other sites
[quote name='Levistus' timestamp='1313357472' post='4849114']
[quote name='13wood' timestamp='1313357257' post='4849111']
xna is better.

however, it has no designer, so it might be hard for a flashie like you.

[/quote]

does this mean i can't just make a picture of the a certain place and choose which parts cannot be walked into?

i haven't tried flash yet though.

-

Hmm since I wanted portability someone suggested Java. Java is not as easy as Python and C# right?
[/quote]


u can take a pic, and make bounding boxes, though

Share this post


Link to post
Share on other sites
I would go with C#/XNA. It's more Object-Oriented and the syntax is closer to other modern languages (Java, C++). There's also plenty of support online and Visual Studio C# Express (free) has very good intellisense, which can help you learn various things you can do without needing to go online.

If portability matters to you, I would recommend Java/Slick2D. It's very similar to C#/XNA, but portable to other computer OSes (XNA is only portable to Xbox 360 and WinPho 7).

Share this post


Link to post
Share on other sites
[quote name='cmasupra' timestamp='1313373647' post='4849192']
I would go with C#/XNA. It's more Object-Oriented
[/quote]

How is C#/XNA more Object-Oriented?


[quote name='cmasupra' timestamp='1313373647' post='4849192']
and the syntax is closer to other modern languages (Java, C++).
[/quote]

I wouldn't call Java or C++ modern languages (anymore), though they still can be quite useful in these modern times.



To the OP:
I've heard C#/XNA are a joy to work with -- they're probably a safe bet if limiting to Windows works for you.
How important is the portability to you? If you require Linux and other OSes, then Python/PyGame is a more appropriate tool.

It will help to cultivate a strong interest in the programming itself. Take some time to study whichever language you choose.
If you discover no passion for programming, you're likely better off with a form of game maker software. But give programming a try first!

Share this post


Link to post
Share on other sites
outside game development, c# is better right? cause i might make programs for friends occasionally.

there's something in me that wants to make awesome games with python. but i don't know if that's something to be proud off since python is easier? i guess i'm thinking cause it's david vs the goliath C#(Microsoft).

could I make a living off making python games? will the transition into other languages be not that hard compared to from C# if I ever join a company?

Share this post


Link to post
Share on other sites
[quote name='Levistus' timestamp='1313428860' post='4849458']
outside game development, c# is better right? cause i might make programs for friends occasionally.[/quote]
depends on what you're doing. If the stuff you want to do is plugins for blender for example, python would be better. There are very few "X is better than Y" statements that hold true for programming languages. Programming languages are much more about choosing the right language for the job you want to do at that time. Once you have an idea of how to program it's pretty easy to learn any language.

[quote]there's something in me that wants to make awesome games with python. but i don't know if that's something to be proud off since python is easier? i guess i'm thinking cause it's david vs the goliath C#(Microsoft).

could I make a living off making python games? will the transition into other languages be not that hard compared to from C# if I ever join a company?
[/quote]

If something is easier it just allows you to explore different challenges more deeply. No reason to assume that just because some things are easier you won't have put in the extra effort somewhere else.

Share this post


Link to post
Share on other sites
[quote name='Serapth' timestamp='1313430124' post='4849462']
Ugh. There is nothing noble about making things harder on yourself! This silly concept that a game isn't as good if it was easy to make needs to die, yesterday.
[/quote]

I agree with you, but I'd still say imposing challenges on yourself is a good way to keep developing yourself. If you find that making a game in a given language is too easy, then maybe you need to impose tighter time or gameplay depth constraints on your games to keep them challenging.

Share this post


Link to post
Share on other sites
Thanks guys I think I'm going to learn C#.

What are the latest good books for C# game development? I know I have to learn C# first but I don't know when to get into XNA to make the games. Are there books that first teaches C# then proceeds to XNA?

Share this post


Link to post
Share on other sites
[quote name='Levistus' timestamp='1313467096' post='4849686']
Thanks guys I think I'm going to learn C#.

What are the latest good books for C# game development? I know I have to learn C# first but I don't know when to get into XNA to make the games. Are there books that first teaches C# then proceeds to XNA?
[/quote]

I would reccomend learning the basics. If you are new to programming and you want to test the waters, Oreilly makes an awesome series called "Head First C#" I used it and burned throught the book in about 2 weeks. I can make pretty basic applications and trouble shoot errors now because of that book. From there I am going the way of 3Dbuzz, [url="http://3dbuzz.net"]http://3dbuzz.net[/url] I think it is. They have a bit of tutorials and learning sets and a fully functional game that you can learn off of. Its going very well and the videos are really awesome.

-Mayple

Share this post


Link to post
Share on other sites
[quote name='Levistus' timestamp='1313467096' post='4849686']
Thanks guys I think I'm going to learn C#.

What are the latest good books for C# game development? I know I have to learn C# first but I don't know when to get into XNA to make the games. Are there books that first teaches C# then proceeds to XNA?
[/quote]

My recommendations for learning C# are [url="http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx#Csharp"]summarized here.[/url] ( Damn making that post has saved a ton of repetitious typing :) ) Like Mayple I recommend getting the language basics down first, also like Mayple I recommend the Headfirst into C# book, although I would suggest you check a preview chapter on Amazon. The style of that book is very unique. I like it but I can see how many others would not. There are a number of books out there on developing with XNA, which makes C# a nice choice, but most if not all of them do a pretty poor or non-existent job of teaching the language. Learn C# from a solid source, then learn XNA would be my recommendation. At the above link there is a free ebook available that does attempt to teach C# using XNA and the price is right, even if I am not sure the approach is.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this