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

Reply via email to