🗒 Cheat Sheet← Lesson
BitWithBite
Pygame Mastery Worksheet

🎗 Particle Effects

Chapter: Pygame Mastery · Level ★★☆ · Time: 30 min
SCORE___ / 20
NameClassDate
After this worksheet you can
Build a Particle with position, velocity and lifetimeManage bursts with a ParticleSystem classConfigure fire, smoke, rain, snow & sparksExplain why object pooling helps at scale
📚 Quick Recap

Smoke, fire, rain, snow, explosions and magic effects all come from the same underlying idea: spawn a burst of tiny short-lived objects that move, fade, and disappear. This module builds one reusable ParticleSystem that powers every effect by changing only its emit parameters.

🧠 Section A · Concept Check ● INTERMEDIATE 4 × 1 = 4

1What core piece of state lets a particle know when to disappear?
2What mainly distinguishes "fire" particles from "smoke" particles?
3How does ParticleSystem.update() remove dead particles?
4What does self.vel *= 0.98 do each frame?

🧮 Section B · Problem Solving ● INTERMEDIATE 2 + 3×3 = 11

5A single particle needs position, velocity and a countdown that determines when it dies.
6The ParticleSystem's methods spawn a burst of particles configured for one specific effect.
7Name the two reusable classes that power every particle effect in this module.
8Give 3 emit parameters that change between the "fire" and "snow" effects.
9Why is rebuilding self.particles with a list comprehension every frame fine for hundreds of particles but potentially wasteful for thousands?

🚀 Section C · Challenge ● CHALLENGE 5

10A boss explosion needs 5,000 spark particles and the game starts dropping frames. Using two techniques from this module, explain how you would fix it.
💭 Reflection — the most useful thing I learned:
A ___/4   B ___/11   C ___/5   Total ___/20 Teacher's Signature Parent's Signature
✂ answer key — fold or cut before handing out

1-B   2-B   3-B   4-B  |  5 lifetime (compared to age)   6 emit (e.g. emit_explosion)   7 = Particle and ParticleSystem   8 = e.g. velocity/speed, color, lifetime (also radius)   9 = Rebuilding a list each frame allocates new memory; at hundreds of particles the cost is trivial, but at thousands the constant allocation/garbage collection becomes a real performance hit  |  10 = Use an object pool that reuses dead Particle instances instead of allocating new ones every frame, and/or cap the spawn count for very large bursts

📄 Need offline practice?Download the print-ready PDF or open the one-page cheat sheet.
⬇ Worksheet PDF 🗒 Cheat Sheet