[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Students Interested in Pygames Community



Hi, Elinor.

There may be an opportunity to provide answers to the questions frequently asked on IRC channel #pygame. Tutorials do exist, and people use them. More than a few pygame neophytes often come to the channel looking for a fast track to pygame mastery. They don't want to read the API docs, articles, nor look for examples outside the few tutorials available on pygame.org.

The questions' typical preamble: "I'm looking at Punch the Monkey, but I can't figure out how to..."

Alas, even the venerable Punch the Monkey tutorial is not simple enough in some circumstances. It is clear that there will always be an influx of people who would appreciate a progressive collection of focus tutorials, each small enough to digest with ease. A very useful feature would be references (URL or module.Class.component) to the key pygame features they demonstrate, linking the practical example to its API documentation.

Here are some of the questions I remember. The ones with oo (two o's) are significantly more advanced than Punch the Monkey.

o  When I render my FPS in a font, it keeps overwriting itself and I can't read it. (simple/proper game loop setup)
o  How do I manipulate Rect objects? (in all the various ways)
oo  How do I use sprite.Group, et al? (progression, simple to complex usage)
o  How do I test collisions? (this seems to be arcane to neophytes, though the sprite.Group and Rect classes seem pretty straightforward)
oo  How do I handle collisions? (stop, rebound, slide along edges)
oo  How can I detect collisions between different shapes? (sprite.Group supports custom collided callbacks; and there are other ways that don't involve pygame)
oo  How can I detect pixel-perfect collision? (various handling involving non-axis aligned math a bonus)
oo  How can I detect collisions for bullet or line-of-sight scenarios?
o  After a while my game window says "Not Responding". (basic event housekeeping)
oo  How can I make parts of my game process pygame events differently (contextually)?
oo  I want an intro, a menu, a game loop, a high score, a credits... How do I connect all these without having one monolithic, spaghetti tangle Game class?
oo  How can I tint my surfaces, or overlay effects such as patterns?
oo  My game world is bigger than the screen. How do I manage the world and a camera to update and draw only the visible parts of the world? (many libraries do this, but they are not tutorials; people most often seek entry to this concept so they can learn by writing their own library)

#pygame denizens can probably come up with many more.

Gumm