The Arcade Space Shooter Template is a feature-complete game template made in 100% Blueprints that allows you to create a 3D space shooter, similar to games like Starfox.
The template includes the following:
Gameplay Modes:
Track Mode - Player follows a spline-based track through the level. Can customize Player forward speed, as well as offsets in the Y and Z directions. Ability to have multiple paths unlocked based on triggers overlapped or enemies killed.
All-Range Mode - Player can fly anywhere in the map.
Choose your Perspective:
Includes a third-person camera, first-person camera, and a backwards-looking camera.
The third-person camera has a Fixed Mode (follows the Ship but does not inherit rotations), and Static Mode (follows the Player’s rotations and movement)
Abilities:
Roll - Roll to 90 degrees to either side and keep the rotation as long as you hold the button
Barrel Roll - double-tap the roll button to barrel roll to either side
Boost - Short burst forward. Speed increase and time of increase can be customized
Brake - Slows down for a short period of time. Time of decrease and final speed can be customized
Somersault - Speed and trajectory can be customized with a Timeline curve
UTurn - Speed and trajectory can be customized with a Timeline curve
Weapons
Weapons included - Laser, Homing Charge Shot, Fireball, Bomb
Includes a simple weapon switching system that allows you to cycle through weapons. Can easily add new weapon types
The damage per weapon is easily customizable
Pickups
Pickups parent class comes with a variety of settings, such as whether you want the pickup to stick to the Player, or rotate around the Player, and for how long
Pickups included - Health, Shield, Points, Points Cache, Laser Upgrade (double laser), and Bombs!
Actor Components
Template comes with 10 actor components to quickly add functionality to any actor in your scene!
Functionality includes simulate physics on hit, add actor to radar system, convert HISM actor into a fully destructible actor (destruction per instance), and more!
Obstacles
Template comes with several blueprints that help you create obstacles in your level
Take any mesh and make it move or rotate in specific patterns, or add moving debris to your level
Two door blueprints that open on proximity or when hit by the Player
HUD System
Complete HUD system includes Player’s Health, Shield, Weapon equipped, ability timer, and bombs available.
HUD can display alert messages and it notifies Player when a checkpoint is saved
Menu System
Complete menu system with a Main Menu and Pause Menu
Pause Menu comes with options to resume to the game, restart the level, save the game, access options, go to the main menu, and quit the game
Options include - Gameplay Options (such as adjusting difficulty) and Graphics Quality Settings
Save and Load functionality included for 3 save slots!
Enemy AI
Comprehensive enemy AI is included - AI moves in 6DOF and has obstacle avoidance
Comes with 3 Idle Behaviors and 6 Combat Behaviors.
Each instance of the AI gets a variety of parameters from its pawn allowing you to customize the AI behavior on individual enemies!
Comes with 2 sample bosses - one in All-Range Mode and one in Track Mode
Level-Building Tools
**Procedural Debris **- creates a destructible asteroid field using ISM. You can specify the instance’s health and its behavior once destroyed. Can use a culling volume to create a path for the Player through the asteroid field
**Road Builder **- Simple tool used to create spline-based roads. Easily change the mesh and materials to suit your needs. Automatically create bridge sections - the supports adjust to the terrain in realtime
**Corridor Builder **- create your indoor scenes in minutes with this blueprint. Comes with 4 connector types and the ability to chain several blueprints together to create indoor sections.
Other
Bonus Modes: Survival Mode and Time Attack Mode
Level-linking system allows you to create your level sequence in minutes. You can also specify the level music and other parameters
Checkpoint system
Difficulty Manager - change the game’s difficulty at runtime - it changes each enemy’s stats based on difficulty. Easily extendible to your other systems!
Debug tools allows you to skip to any part of the level while on track mode, as well as debug point and radial damage
Comes with sample meshes (ship, enemies, building) and particle systems (explosions, smoke)
The template has been submitted to Epic. While its pending approval, I will start working on more detailed documentation and video tutorials founds on my Youtube Channel
***Art assets are meant for demonstration purposes and are not optimized for production
*Template does not come with the music or sound effects seen on the videos
Improved the Procedural Debris BP - asteroids now breaks apart easier when shot by Player (the chunks fly away farther instead of sticking together)
Fixed bug that caused the editor to crash on UE 4.19 on some machines
Fixed bug that caused enemies destroyed using Apex destruction to continue shooting at the Player until the debris despawned
Improved enemy death code to immediately remove the destroyed enemy from Player radar even while destruction sequence is still playing
Release 1.1.3
Added loading screen functionality to the Level-Linking System
Included Child BP to the BP_PlayerShip to show example of how to extend base ship BP
Included macro library that can be used to add ThirdPerson character entering and exiting the ship (tutorial request)
Release 1.1
Refactored the Track Code to allow for continuously curved tracks - now you have more flexibility in the types of tracks you can create!
Added custom sounds to the template - created with BFXR and acquired online with a CC-0 license
Added BP_StageClear - a Blueprint that allows you to end the level without fighting a Boss. It can be as simple as overlapping a trigger, or killing a certain amount of enemies before being active
Added a **new tool **to align actors to your track easily!
New Game Mode - Thrust Mode. Now you can toggle between moving and staying stationary to allow for more classic gameplay. I included a sample level to showcase this mode
New Obstacle Course level added - it showcases the new track code and the different types of obstacles you can easily create with the template
A host of bug fixes that I caught along the way
Starting with this update the template will support Unreal Engine 4.18 + (4.17.2 has a terrible bug with ISMs that crash the editor)
Thank you for your interest! I haven’t tested it on mobile but I believe everything I’m doing should be OK on a mobile device. The two changes needed are modifying the controls to display buttons on screen and use the Gyro and scaling the UI to its visible on the small screen
Its an interesting idea and I’ve had others suggest it as well. I may do a mobile update in the future
Thank you so much for your support! I did a little research and it looks like you have to purchase the pack from the Marketplace for it to appear in the Vault. I even tried copying the files to the Vault Cache (C:\Program Files (x86)\Epic Games\Launcher\VaultCache) but the Launcher doesn’t recognize it.
However, I got another solution - the template has been approved by Epic and will be published early next week in the Marketplace. Once that happens I can email the Marketplace team and ask them to give you the pack, as you already bought it somewhere else. I haven’t tried it, but heard that other creators have done it. I will PM you to get more details and get this done next week.
In the meantime, If you unzip the file from Itch.io and double click on “ArcadeSpaceShooter” (with the Unreal logo), it will open the editor and add the project to your “My Projects” section in the launcher.
In addition, the template has its first major update - release 1.1 that has the following:
Refactored the Track Code to allow for continuously curved tracks - now you have more flexibility in the types of tracks you can create!
Added custom sounds to the template - created with BFXR and acquired online with a CC-0 license
Added BP_StageClear - a Blueprint that allows you to end the level without fighting a Boss. It can be as simple as overlapping a trigger, or killing a certain amount of enemies before being active
Added a **new tool **to align actors to your track easily!
New Game Mode - Thrust Mode. Now you can toggle between moving and staying stationary to allow for more classic gameplay. I included a sample level to showcase this mode
New Obstacle Course level added - it showcases the new track code and the different types of obstacles you can easily create with the template
As a huge Fan of Arcade Games. I really like what you have done with this Template. With some Proc Gen, this would perfect for an Advanced Endless Runner (Template)!
I’ve had other people also ask about procedural / infinite levels. Its a really cool idea that will explore in the future
The template already comes with an infinite track mode, so you can already have an endless track. What’s missing is handling enemy and obstacle spawning and origin rebasing. I’ll definite add this to my future list of features!
As far as multiplayer- its a long term goal. I havent done any networking in Unreal, so i cant give you an ETA. Fortunately, all flying enemies use the Character Movement component, which I’ve read comes with easy replication.
Let me know if you have any other questions or suggestions!
@CoquiGames Thank You for the response. Infinity Track mode is awesome. I’m currently brainstorming a method of Procedural Generation for Enemies and Obstacles based on Music Rhythm. I design, develop, and test blueprints in multiplayer. My current idea for implementation is to use replicated spawner(s) that spawn Enemy and Obstacles on demand. The spawners align to the landscape (on land) or free-style/patterns (in space) leading ahead of the players at specified distance based on difficulty and travelspeed. These Enemies, Projectiles, Obstacles etc are destroyed shortly after the player has passed.
I like your approach a lot and I’m intrigued about generation based on music rhythm!
The template comes with an enemy spawner and the ability to randomize enemy attributes like weapon type and damage type. If I could have the spawners replicated with the same random parameters (maybe use a seed?), then the procedural enemy spawns would be taken care of.
All enemies also have built-in functionality to auto-destroy after the player has passed (you can customize the distance on an enemy instance level).
Something similar could be done about obstacles as well, though I dont have an obstacle spawner yet.
What would be interesting is to see how the AI reacts to world origin rebasing on the fly lol - something to look into for sure
To Replicate a Random generated Value you have the option of using RandomStreams, replicating the seed, or replicate random generated value on the server to the clients via replicated variable + Rep Notify. You may not need to replicate the random values at all as their damage/collision is validated and managed on the server anyways. But I assume visual feedback is needed for the players. If Obstacles are self-contained Actors, the Obstacle Spawner is practically completed.