Note: This guide was written before Command Blocks were a thing.
Space invaders is a fun game in which you have to fight wave after wave of incoming pixel aliens by shooting them with your pixel space ship. While it’s near impossible to create that game exactly in Minecraft, it is possible to create something that’s quite close to the real deal.
In our example we use zombies to mimic the incoming aliens, but depending on how much size you have to build, which gamemode you’re playing on and how strong you want your opponents to be, you may want to choose for a different mob.
For example, a villager won’t start to move towards you if it gets close, unlike zombies, who will move towards you faster when they get close, which could potentially cause you to lose the game. Note that playing in creative mode will eliminate this problem, as none of the hostile mobs will try to attack you.
Skeletons are a great way to make the game more difficult, as they will try to shoot you, but they will not try to walk towards you. We use water to transport the mobs, so they will come closer due to the water currents.
I don’t recommend using larger mobs, like spiders, or smaller mobs, like chickens, wolves and ocelots. They tend to make the game too difficult and spiders could even ruin it by climbing out of the water currents.
Building the Game
Building a Minecraft requires some knowledge of redstone circuits, though everything is fairly basic and even somebody completely new to Minecraft should be able to figure it out.
To create our game we’ll need several different parts. The main part will be a mob spawn system, which we create by using dispensers and mob eggs. The advantage is that we can spawn and release the mobs when we want to, but we will have to refill the dispensers every now and then. You could use mob spawners, which will make the waves even more random, but mob spawners tend to be less effective and less reliable.
The spawn system will need to spawn the mobs in a seemingly random order, so we’ll at least need a redstone clock and a few circuits to spawn the mobs at different times. I also add an extra circuit which is connected to the dispeners and the clocks to spawn an extra zombie. This will make sure the mobs do not spawn at the same interval everytime. For example, instead of dispensing a mob every 4 seconds, the extra circuit will spawn an extra mob after 1 second, so you get a zombie after 4 seconds, then after 1, then after 4 again, and so on.
We will also need a start and stop system, because we don’t want the dispenser to keep dispensing mobs when nobody is playing. A simple button and a T flip-flop are enough to do this job.
Finally, we’ll also need a way to mark the end of the game, which is either when the player loses by letting the mobs reach the player or whenever the player has killed all the mobs. I used stone pressure plates linked to sticky pistons to indicate a player has lost. Whenever a mob gets close enough, it’ll step on the pressure plate, which will retract sticky pistons and drop the player into a room below from which the player can climb out again.
Inside that room is a button which the player can use to stop the game.
First we’ll need to create the dispenser towers. I use towers to make sure the zombies fall and take fall damage. They’ll have just enough health left to remain alive, but any shot (including weak shots) will kill them, so the person fighting them can quickly kill larger waves that get too close.
I used a height of 24-25 blocks, which is too high for zombies to survive, but I’ve added 3 ladders at the top to slow the fall enoough.
These ladders aren’t needed if you lower the towers, but it makes refilling the dispensers a lot easier, as you can simply walk across instead of having to jump across all the gaps.
After the mobs have spawned, they will fall down into seperate lanes into water currents. I use these seperate lanes to make it a little more like space invaders, if you remove them, many of the spawned mobs will wander to the other side, which makes it easier to survive the game.
At the end of the water lanes are the pressure plates on which the mobs will be pushed. As mentioned, the cause pistons to retract and drop the player into a room below.
We’ll start with the easy part, which is leading a signal towards the dispenser. Simply alternating between placing redstone torches on blocks and blocks on those redstone torches is the most simple and effective way. We’ll then have to lead those circuits towards the player area, as that’s where the start stop button will be. I simply use straight rows of repeaters, which I’ve pretty much clicked randomly to set different delay times, though you might want to set specific times if you want more precise waves of mobs.
All the circuits come together in 1 spot, which will be where we built our redstone clock. A simple repeater clock is perfect for this, though make sure the clock has quite a long time between each pulse or else too many mobs will spawn.
We use a T flip-flop to power a piston to block of the signal from the clock to the dispensers, which is connected to the start and stop buttons in the player rooms.
Finally, as mentioned I’ve added an extra circuit to randomize the spawn times a little. You simply direct another circuit from the clock and split it up in 5 rows (or however many rows you have).
Make sure you use repeaters each time you split the signal to make sure it can’t travel backwards, otherwise all the circuits could be powered by each other.
This is pretty much all there is to it, all you have to do now is cover everything up, make it look better and get people to play it. Don’t forget to add ladders as an access path to the top of the dispensers so you can refil them, unless you can fly. You may also want to make sure only you can enter, perhaps by using an iron door and making sure only you can place or use a lever or button.