Controls
Press "X" to drop a bomb.
Rules
This a one button game. The aircraft flies by itself and will descend each time it reaches the end of the screen. Destroy all the buildings to land safely on the ground! A bomb has to explode {destroying 1-4 building blocks) before you can drop another, so use them wisely!
Behind the Scenes
This is my first Pico-8 game and is based on the Commodore Pet game, Air Attack, by Peter Calver. It was released in 1979 by Supersoft. This was the game that sparked my interest in computers and video games. We had a Commodore Pet at college and I typed in the code for this game from a magazine (possibly the December 1979 edition of Personal Computer World). The magic of being able to play this game, even with no understanding of the code at the time, was certainly a seed for my career in software and my love for game development.
The buildings are created randomly, using a seed (incremented between levels) to ensure levels are the same for everyone. I'm basically picking a column, then dropping that block in the column. I'm using mset() to control the map programmatically and mget() for collision detection. Each bomb will destroy 1-4 building blocks - this rule was in the original game. Some new features include a simpler aircraft and animated explosions. I added speeding up the aircraft on new levels to gently ramp up the difficulty, also not in the original game. I'm still learning about sound, so I'm not 100% happy with the sfx.
Credits
Thanks to Lazy Devs Academy and SpaceCat for the awesome YouTube videos on Pico-8 game development!
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/82211/7_realshadowcaster.png)
Not bad, but redoing the early waves after losing is tedious. If you must keep in theme with the single button approach, The different unlocked speeds could be selected by bombing a special 1 height building that would only be there if the wave has already been beaten, and only on for the 1st bomb of the wave. Not killing it would be the way to aim for high score.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/2185/Invader.png)
Not a bad implementation. Kept me busy for a few minutes.
I like @RealShadowCaster's idea. I think this game is crying out for:
- Level select
- High Score - that persists across your sessions
- A "finish-level" feature so that when you have removed all the buildings you don't have to wait for the plane to cross the screen to land
- More variety in later levels :)
I'm sure you have loads of tokens left so go wild - introduce anything else you can think of
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/bimg/pi/pi1.png)
Thanks for the comments! This is a remake of a 1979 game, so things were a bit different then and I wanted to keep that vibe, but I do like the idea of saving the high score (and I need to learn to save user data) and finishing the level when you've cleared all blocks (rather than waiting to land). Thanks again for playing!
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](/media/82211/7_realshadowcaster.png)
I think the landing is nice, you could just warp to the last line after reaching the right side once everything is destroyed, or have the plane move full speed, lone space invaders style.
To save/retrieve the high score, use cardata and dset/dget.
[Please log in to post a comment]