Skip to main content
GameDev.net gamedev.net
🔒 Locked

Python/Pygame or C#/XNA

Started by Levistus Aug 14, 2011 at 9:13 PM 22 replies 18.6k views
Original Post
Levistus
Levistus
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. Kingdom Rush. 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.



TheCompBoy
TheCompBoy
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!
Levistus
Levistus

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!


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.
PureSnowX
PureSnowX
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...
Levistus
Levistus
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."
fgopl
fgopl
xna is better.

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

xna is better.

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



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?
inavat
inavat
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.
inavat
inavat
That said, it sounds like right now you should be focusing on learning to program in the language of your choice rather than trying to write games.
Levistus
Levistus
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.
beatlefan
beatlefan

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?



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

inavat
inavat

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.


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

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.


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.
Never, ever stop learning.
- Me
fgopl
fgopl

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



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

cmasupra
cmasupra
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).
Gamer Gamester
Gamer Gamester

I would go with C#/XNA. It's more Object-Oriented


How is C#/XNA more Object-Oriented?



and the syntax is closer to other modern languages (Java, C++).


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!
Levistus
Levistus
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?
way2lazy2care
way2lazy2care

outside game development, c# is better right? cause i might make programs for friends occasionally.

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.

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.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.