Space Shooter (Game for iPad)
edit: look in newer comments for updated version
This game is far from complete. But I wanted to share it before it became incomprehensible and thus useless for new game developers!
HOW TO PLAY:
The point of the game is simple. See how many waves you can handle before you die. Each wave increases the enemy count by one.
If you kill an enemy, there is a 33% chance they will drop a bonus item. You can hit the bonus item to get a boosted effect.
There are three bullet types you can experience using bonuses. The default, blue, is simply bullets. There is also green, which are missiles. The final and most powerful type is cyan, cluster bombs, which when they hit the enemy will explode and create ten missiles nearby.
Your player is equipped with a shield and health bar, just like the enemies. The shield gradually recharges, but the health will permanently remain depleted once removed. So be careful if your shield gets low! Try to focus your fire on one enemy at a time so you can make their shields less effective.
Currently there is only one type of enemy and no real pattern to their spawning. I plan on working on that and making more enemies.
Some of the functions in this are purely aesthetic. Every bullet, when it strikes something or explodes, will turn into two smaller bullet particles just for graphic effects. Also when the player takes damage you will notice a 'stun' effect, caused by abusing the fact that you can draw on top of previous draw loops.
Tell me what you think, and I hope you guys can get some ideas out of this and make your own awesome games!
Needs more enemy types.
Needs formation patterns for enemies when they spawn.
Enemy bullets can be easily avoided. Needs to be fixed with more enemy types or a better spread of bullets.
Missiles/Cluster Bullets can cause substantial lag. Implement Quad splitting so the Hit Tests are less intensive.
Hehe I am in the process of adding a laser that hits everyone in its path. It has two cool benefits: 1) low processing power and B) It's friggen awesome. I am thinking I will add it as a powerup the player will earn through kills, but the player can trigger whenever he wants. With it I am easily able to get to wave 40
Great update! Only one glitch, but I'm having trouble fully understanding it. The wave counter seemed to me to go up way too quick. When I looked after a few rounds it was at 15. There was no way that I got to 15 after 3 rounds! Although, is it that Pythonista preserves variables? If so that may be why. It may be why because whenever I restart the game (even if I restart the app) the wave is set to wherever I left it. Wheither intentional or not, I don't know (that's your job :P).
And I'm glad the cease fire "peace" between FIBB and REC is still going, but I wonder how FE and FEE will react to these events...
And remember, Galaxian and it's sequels (Galaga and the other ones) all had back stories. Not that they were ever explained in the game of course.
As far as lasers are concerned, I can't wait! My eyes lit up when I saw that :D
@Cubbarooney - the game starts you on wave 16 I believe. It's just because wave 1 is REALLY boring. Waves are controlled in the setup section of MyScene. Try doing wave 100. Haha talk about lag >.<
I am thinking maybe wave 5 or 10 for the starting wave.
As for the laser, I've got it working for the most part and will upload an update in the next couple days.
Just a tiny sampler of the laser. It has a timer of 1000 so it will wear off. And I need to fix the sound for it before its really 'integrated'. Also I want to give it slightly better graphics hehe because just LOOK at the damage it does
Love the font, and great game!
For the distance measurement:
#Returns the distance range between two objects based on x,y
if loc1.x>loc2.x: difx=loc1.x-loc2.x
if loc1.y>loc2.y: dify=loc1.y-loc2.y
Could this be speeded up by using the 'abs' command maybe? It might speed that up ( plus u r not really getting the true distance which would need sqrt of x^2+y^2 I guess)
But really good- reading thru the code teaches me far more than books! :)
Eg I think this works:
Yeah I think I need to change the difference function. Like you said, it's not quite the fastest. And that really shows up when the game has a lot of missiles flying around (since those do a distance test on every spaceship in scene, every frame)
I will try your option, and another difference test option I saw on a different thread here, and get back with my results!
Just got around to trying the laser...
It made me happy!
If you're planning on changing the laser graphically I'd maybe make it a pulsating blue or red. Star Wars would dictate red as a good color!
EDIT: just noticed that you DO want to change the laser graphically. Therefore, I advise you to ignore my "if".
Hehe level 100 is fun with laser
Just found this and notices that the sprites png file has been moved. Can it be found elsewhere or do you mind if I create my own?