This project is a recreation of the classic fixed shooter arcade game known as Centipede, originally released in 1981. This solo project was developed in Unity using C# as part of my minigames series where I utilize various resources to remake simple games in order to further my learning as well as to have fun!
Centipede consists of a field of mushrooms, in which the Player is constrained to the bottom 'home zone' section of the play area. For each wave, the Player's goal is to defeat the centipede which makes its way down the field from the top of the screen. Each centipede segment that is shot turns into a mushroom, and shooting a centipede in the middle segment will cause it to split into two separate centipedes. Along the way, the Player will also encounter other enemies such as the spider, each with their own unique purpose/role in the game... Blast away and have fun seeing how long you survive!
In order to play this version of Centipede, follow the link to a in-browser WebGL build (No download required!).
A brief description of all of the classes is as follows:
- The
AudioManagerclass is responsible for the playing of various sound effects such as shooting, dying, etc. - The
Blasterclass handles player movement as well as the state of the Player/Blaster. - The
Centipedeclass handles the overall state & spawning of the centipede. - The
CentipedeDeathAnimationclass handles the death explosion animation used by the centipede + flea + scorpion. - The
CentipedeSegmentclass handles the movement + animation logic for each segment of the centipede as well as tracking its state. - The
Dartclass handles the player input & movement of the dart projectile. - The
Fleaclass handles the logic of the flea enemy, which includes falling from top of screen & spawning mushrooms. - The
FleaAnimationclass handles the animation of the flea. - The
GameManageris the game's main class, and keeps track of the state of the game as well as spawning enemies. - The
Mushroomclass represents each mushroom on the board, and keeps track of its health as well as whether it is infected. - The
MushroomFieldclass keeps track of all active mushrooms, and is responsible for generating/healing them. - The
MushroomRepairAnimclass is responsible for the repair animation done on a damaged mushroom when resetting a round. - The
Scorpionclass handles the logic of the scorpion enemy, which includes moving across the screen & infecting mushrooms. - The
Spiderclass handles the logic of the spider enemy, which includes moving across the home zone & eating mushrooms. - The
SpiderAnimationclass handles the animation of the spider's movement. - The
SpiderDeathAnimationclass handles the animation of the spider's death, as well as displaying the score earned. - The
UIManagerclass updates the state/color of all of the UI, as well as tracking high score.
- Unity
- Visual Studio
- GitHub
- GitHub Desktop
- Credit goes to Zigurous for the helpful base game tutorial!
- I made use of Unity PlayerPrefs for saving stats
- Gameplay reference
- Game rules guide
- Characters + animation reference
This game, like many of the others I have worked on, is completely free and made for fun and learning! If you would like to support what I do, you can donate at my metamask wallet address: 0x32d04487a141277Bb100F4b6AdAfbFED38810F40. Thank you very much!
