I was challenged to recreate a retro video game from the following list; Pong, Breakout, Space Invaders, Lunar Lander, Battlezone, Centipede, Missile Command, Pac-Man, Defender, Frogger, Dig Dug, and Snake. I chose Space Invaders as I had previously created a version of this game using Unity and felt it would be good experience to create it in Unreal Engine. This project gave me the opportunity to compare methods and features of both engines.
You can play Space Invaders (1978), for free, here. Enjoy!
Features
- Single-player gameplay
- Damageable bunkers
- Bunker regenerations (every 5 levels)
- Extra lives (awarded at 1,500 point intervals)
- Mystery ship (randomised bonus points modifier)
- Pause/Unpause game
- Top score
- Basic settings
- Audio – Music/SFX volume control
- Graphics – Screen resolution
- Persistent data
- Player preferences
- Top score
Development
The project was created using Unreal Engine (4.22). Code was written using Blueprint. The project makes use of many of interfaces, enums, particle systems, sound cues, and user widgets.
Further Development
There are no current plans to further development this project, however, if I were to return to it in the future, the following features would be considered;
- Two-player support
- Difficulty settings
- Bunkers on/off
- Extra lives awarded on/off
- Invader speed
- Gamepad support
- Additional visual effects (paralax background, screenshake, motivators)
- Additional accessibility features
- Improved user-interfaces
- C++ migration
Assets
Assets were used from the Unreal Engine Example Content project (Input Example) for both the player ship and the invaders. I re-purposed the static meshes to create the mystery ship and the bunkers.