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.
Oh my... Who knew that REC (Red Evil Circles) was at war with FIBB (the Federation of Independent Blue Boxes). And boy, are they at war...
I find this game hard, considering the barrage of bullets that are being fired at me. Add in the guided missiles and staying locked onto one target becomes very difficult. It is a great start, don't get me wrong. I actually find the difficulty (maybe I'm the only one finding this hard) kinda fun :D
Anyway, thanks for another great game!
Here's a couple tips from the developer that will make this game incredibly easy:
A) Try to kill one enemy at a time if possible (usually the leading or lagging enemy).
B) If they drop a bonus, collect it even if you take a hit.
C) Try to get cluster missiles. Even though the bullet speed is slow, cluster bombs can take out an enemy in a single shot and work even better against groups.
D) Run from missiles (red bullets)
E) If missiles are circling you, then don't move. They might explode in the air and you can dodge the next round of bullets unharmed.
Using all those tips you should find the pace increase tremendously. I will try to make the enemies more dynamic and exciting, as well as introduce formations (which is pretty simple technically).
And of course graphics on the ships are a major step to making this game feel playable. While REC and FIBB have a long history of warfare, they really shouldn't be shooting ellipses at eachother according to the rules laid out in the 1985 Armistice Treaty Of Pixels, which stated clearly in Article  that "all ellipses are inherently circles and thus cannot be implemented in wartime situations by boxes". So I will resolve this issue ASAP before full scaled war breaks out.
Lol, you're right. Easier now :)
The vast amount of bullets is sometimes hard to avoid, but that's fine. Oh, and a possible bug: you can fly of screen (only observed it on the top, on the first line of the scoreboard).
But doesn't Article say "All blockades of neutral territories or civilian colonies are hereby illegal. Any party of this treaty may perform any necessary military actions to eliminate the blockade performed by another party of this treaty."
Of course, the last I checked, FIBB's Senate (who are the ones who can authorize military force) has not passed anything yet. Although, the emergency Directive Privateering Independent Blue Boxes (better known as Dr PIBB) was repealed quite suddenly today. Sadly, ships out in space don't always get news of changing regulations until about a week or so. More if the ship is off the scheduled course.
I hope this accidentally rouge box doesn't launch REC and FIBB into a full scale war. Many would argue that the war never really ended, only a cease fire is preserving a "peace"...
Alright, a new update! It was a close call, but I narrowly avoided war between FIBB and REC by creating two new factions: Future Earth and Future Earth Enemies. Yeah. Creative names, I know. But hey, this game has like 0 backstory and -1 history, so let's move on ...
Sprites made by yours truely
Enemies spawn in formations instead of randomly
Different enemy types: Row 1(slow, no shields), row 2(faster, half shields), row 3(missiles, faster), and row4(missiles, fastest)
When you die, you go back 5 waves.
Ohh and this game becomes INSANELY difficult from wave 15 onwards.
The game starts on wave 16. So you will get to experience a difficult start, don't be discouraged if you die a couple times the game will get easier on lesser waves.
Let me know what you think.
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?