Finally got things to work correctly. I figured this many collisions (typical for a sh’mup) would overload pygame and make it impossible to play. NOT SO! My hunch that modern computers are easily equipped to process thousands of complex Python calculations in real-time is reconfirmed. In addition, I was also able to get up to ~2000 enemies on the screen without seeing any dip in fps!! I wasn’t able to record it though (video below has ~200) because I think Monochrome and the video capture software I use hang out on the same thread and it slowed the game down significantly. But 2001 sprites on screen, updating positions, colliding with bullets and no slow-down! My computer specs are i7 (1.75 GHz) and 512 video memory, however unless using extra modules, python runs on one core. So this game can run perfect on one 1.75 GHz CPU and an average GPU. Pretty sweet! I’M SO STOKED CAN YOU TELL?!
To be clear I am handling position and vector math with pymunk. I’m sure that makes the code run much smoother than pure Python. Which is great because pymunk is VERY easy to implement. Pymunk is a dream for reals.
Anyways, the core mechanics of shooting, colliding, enemy generation are there now. Within the next week I want to work on state handling, menu screen, and enemy AI. Leaps and bounds today!