Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been learning python for about 2 months now. I think I'm getting used to the language. My question is, when should I start learning Pygame? Or how do I know if I'm ready for it? I'm learning programming mainly to make games, so what should I at least know before I start making games? Thanks!


migration rejected from Aug 25 '14 at 15:18

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by Kromster, Josh Petrie Aug 25 '14 at 15:18

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about "how to get started," "what to learn next," or "which technology to use" are discussion-oriented questions which involve answers that are either based on opinion, or which are all equally valid. Those kinds of questions are outside the scope of this site. Visit our help center for more information." – Kromster, Josh Petrie
If this question can be reworded to fit the rules in the help center, please edit the question.

When... you want to use it? – Cat Plus Plus Jun 12 '11 at 13:25
Should we care? Learn it if you have the need to learn it... – Sentinel Jun 12 '11 at 13:29
Just do it now. Got problem? Refer to again! – Predator Jun 12 '11 at 13:52

Fear, uncertaincy and doubt are a crippling combination.

Just do it.

What's the worst that can happen?

The python fairy appears in a flash of magic and turns you into a mushroom?

Now that I think of it, I remember a scifi tv show where "lower" creatures tried to develop too much too fast (it was an immortality treatment that required killing others to produce), and superior aliens killed them because "You are not yet ready". Now you just have to assess the potential reward in learning pygame against the possbility of this event occuring. You should be able to model this with a simple pygame simulation ...


You should be good enough to start. Game programming uses a lot of esoteric libraries and skills which you won't learn from other sources.

So start learning the moment you understand dict vs list performance, exceptions, classes vs objects vs types, and maybe a bit of numpy (array programming).

You will have to learn event driven programming (you might not explicitly control the main loop; some other loop does, and it will call your code depending on "events"), and the architecture of the project you are working on (MVC?), and lots of fiddly things with geometry and colors ... but that's best learnt on the job.

If you aren't sure, have a look at the code here:

If it makes any sense (the code, not the algorithms) then you are ready to go.


About a decade ago, when SDL and Pygame were both still actively developed, the Python community was not fractured between 2.x and 3.x, and CPU-side blit-based rendering was a reasonable approach to graphics rendering for low-end systems.

Now, you'd be better off learning just about anything else.