experimentation with steam

I am really excited about pyweek, can't wait. I decided to flex my game makin' muscles and whip up some stuff yesterday. In the end the basis for a lunar lander type game via steam. Fly it around until steam runs out! Thankfully I have a different idea should steam be the choice.. something a bit more creative and unique (but its good to have had the chance to play with rendering a barebones particle system type steam cloud :)

(log in to comment)


Could you give some info on the engine you used? Perhaps release the source?
Sure :) This is for the steam. Call add_particle fore every steam cloud being shot out at pos in dir (2d vecs), and run render_steam on your render, to a SRCALPHA Surface.
class steamjet:
   def __init__(self,pressure):
      # Particle: (pos,dir,life)
      self.particles = []
      self.pressure = pressure
      self.max_pressure = pressure
   def add_particle(self,start,dir):
      if self.pressure == 0: return
      self.pressure -= 1
   def tick(self):
      for p in self.particles:
         if p[2] > p[3]: self.particles.remove(p)
         else: self.particles[i] = ((p[0][0]+p[1][0],p[0][1]+p[1][1]),\
      if len(self.particles) == 0:
         return False
      return True
   def render_steam(self,m_surf):
      for s in self.particles:
maybe more info is required: no secret library here, just a bunch of python hacked yesterday morning, and a cool little steam ball I drew in inkscape, SteamBoy style. Its 2d, if anyone wants the full thing: www.nikolajbaer.us/Files/steamball.tgz.