Sign in to follow this  
Shenn

Yet another language question

Recommended Posts

Hey guys, I feel bad for asking knowing that there are so many similar threads already posted asking which language should be used, but here goes: A couple friends and myself are looking to make a 2d networked game, haven't got all the particulars ironed out but it's likely to be a multiplayer space shooter (think deathmatch / ctf). All of us know how to code (all computer science seniors), but none of us have ever done any real game coding. I've made a pacman clone (pygame), and a tetris game (Java2D), but other than that know very little about choosing a good language / API. So we're looking for a language/API that can handle a fair amount of things happening on screen at once. I suggested pygame, but after doing some research I've read several places saying pygame / sdl are just too slow to do any real-time games (not sure if this is true or not, as I've also read the contrary). Also hoping to be portable, so directX isn't really an option. So the options I've thought of are these: Python/pygame (maybe pyglet?) C/C++/SDL C/C++/openGL Any suggestions / clarifications on these 3, or any new ideas would be appreciated.

Share this post


Link to post
Share on other sites
I'd look at python first. It shouldn't be too hard to do a mockup of the game to see if it can render X sprites fast enough; if it can process X network connections passing Y traffic... I fully expect it to, and would favor that as your best option if everyone knows the language.

Share this post


Link to post
Share on other sites
Quote:
Original post by zer0wolf
If you're working with Python and are going 2d, then checkout Rabbyt. It can be used alongside PyGame or Pyglet to speed up sprite manipulation.
Since the release of Pyglet 1.1, Pyglet includes dedicated sprite and animation support layered over OpenGL. It doesn't offer quite all of the features of Rabbyt, but from a performance standpoint is very comparable.

Share this post


Link to post
Share on other sites
Thanks for the responses. Seems to be a general consensus that python / pygame will indeed be fast enough, which is great news.

I'll take a look at Rabbyt, took a brief view of the homepage and it looked impressive enough. Thanks for the suggestion.

Share this post


Link to post
Share on other sites
Quote:
Original post by Shenn
I've made a pacman clone (pygame)
I've read several places saying pygame / sdl are just too slow to do any real-time games


Ok so you have used pygame to make a real-time game but are unsure if it is capable of making a real time game because some people on the internet said it wasn't.

Right, way to think for yourself there. Now pygame does have some performance issues(like alpha blending) but there are plenty of known ways to work around(like using opengl) them as far as I know. I would add c#/XNA to your list of platforms to investigate.

Share this post


Link to post
Share on other sites
Theres a bit of a difference between pacman (with a grand total of 5 moving sprites) and a networked game with many many players, bullets, explosions, and debris flying around, so I was just looking for clarification before coding up a big project only to find out it would be too slow to work.

But thanks for the C#/XNA suggestion, I'll be sure to take a look at it!

Share this post


Link to post
Share on other sites
Quote:
Original post by Shenn
Theres a bit of a difference between pacman (with a grand total of 5 moving sprites) and a networked game with many many players, bullets, explosions, and debris flying around, so I was just looking for clarification before coding up a big project only to find out it would be too slow to work.

But thanks for the C#/XNA suggestion, I'll be sure to take a look at it!


Well, python is not THAT slow, but be warned that there's a possibility that you will need to fall back into C/C++ for some bottlenecks. I don't know if that will actually happen, but it is a possibility. C#/XNA is not a worse choice, so take a look at it, do some benchmarks for yourself and decide.

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