Trolls Outta Luckland - 0.0.4
360-degree arcade-style space shooter
Trolls Outta Luckland is a 360-degree arcade-style space shooter featuring danger, action, explosions, triumph and tragedy. And one handsome devil of a space hero.
Tested with: Python 2.5.4, Pygame 1.9.1.
- Added rotating images to sprites.
- Changed player ship steering dynamics.
- Mouse homes to ship at level start; homes to saved position if gameplay is interrupted (escape key).
- Windowed and fullscreen are choices now. Set in game_globals.py. Use F12 to toggle.
- Game speed derives from measured FPS. Classes' internal speed compensates.
- Enlarged SPACE*.png and Explode*.png sprite strips. <3 GIMP!
- New look for laser shots.
- Baddies fire directly at player if facing player.
- Sprite strip loader creates arbitrary number of rotated images and hitmasks. Hitmask generation very slow! Caching optimization implemented.
- New sign-on UI uses keyboard instead of mouse. Remembers last player. Added player picker, which selects from high score holders.
- Fixed: Stage stat updated immediately after killing last baddy. It now updates when next the level's herald posts.
- Fixed: Enemies warp when returning to standby formation.
- F12 toggles fullscreen.
- Mood music for Game._play(). Keys for: change track, mute, music volume, FX volume, and master volume. Settings are saved.
- EnemyFactory._make_fleet: optimized generation of enemy paths. Level loading speeded up greatly.
- SpriteSheetAnim performance. The game requires a lot of sprites, and a lot of hitmasks. Hitmask generation is extremely expensive. Ship needs 3 images * 360 rotations = 1080. Each Enemy needs 3 images * 90 = 270. Just two Enemy subclasses takes over 5 seconds to gen hitmasks, a big ugly hitch in gameplay. Did the following to minimize that:
- Pre-generate hitmasks as Python modules. Compile to .pyc. Ship takes 2 GB memory to compile, but it loads very fast.
- Ship construction moved up to program load.