NEVER STOP shooting
Create your own Shooting game in record time
Play the game now
Or get the source and build your own custom version
Source Code
General Information
- Included Game modes
- Player characters
- Enemy characters
- Static prefabs
- Moving barriers
- Widgets
- Technical details
The game comes with 2 sample levels that demonstrate two gameplay modes.
To build your own game you need only replace the visuals and tweak the difficulty. All content seen in the free demo is from Epic’s Paragon and InfinityBlade assets.
MANUAL MODE
In the first mode you shoot obstacles that reward you with points. As the points bars fill up you manually choose to spend these points on gaining extra players or upgrading the fire rate for all players. Hindering your progress is a never ending barrage of enemies as well as regular bosses with ever increasing health.
AUTOMATIC MODE
In this mode you can gain points from the infinite stream of points that always flow past you. SImply run into it and see your playable character count increase as your points meter fill up. You can also gain more players by destroying the Give-Or-Take barriers that spawn in between the enemy horde but, as the name suggests, fail to get it into a positive value before it hits you will result in you losing players rather than getting extras.
In both modes it is a case of risk and reward. The more time you spend not shooting the enemy the easier it becomes to shoot the enemy… if you can survive their onslaught after leaving them to get so close, that is…
Never Stop Shooting supports an unlimited number of player characters as well as an unlimited number of skins for each. It includes 2 characters from Epic's Paragon series pre-configured as samples and includes a total of 12 playable characters
New characters can be added by creating a subclass from BP_PlayerBase and following the examples of the other character(s) to see the minimal blueprint setup needed to get the character working.
Skins can be added by creating a child blueprint from your new character and simply changing the mesh. No coding required.
Never Stop Shooting makes use of a Data Asset to store all information about your character in a central location. This includes what blueprint to spawn for your playable character (with coltrols and opening animation etc), which character to spawn during level select (no inputs) and which one to spawn in in-game previews and for your in-game minions.
It also features the icon and posters to associate with your character during level select screens and in-game. All in one place, all just dropboxes to complete, no coding required to setup anything.
Never Stop Shooting includes one pre-configured enemy for the MASS horde and one pre-configured boss with 3 skins for a total of 4 enemy bosses.
New enemies can be added by subclassing BP_EnemyBase and simply changing the skin. As with the player characters, creating new enemies from skins is as simple as creating a subclass from your first enemy and changing the mesh
The rest of their functionality is implemented via their respective animation blueprints and their animations.
Enemies only require 2 animations: Walking and Attacking so their animation blueprints are ridiculously simple. Simply duplicate one of the existing animation blueprints and swap out the two animations that play on them for your new enemy.
Never Stop Shooting includes a boss spawner where you simply add as many boss characters as you want to an array then specify how much their health should increase by with each new boss that gets spawned. Done. No coding required.
Your bosses will now spawn indefinitely, each one stronger than the last and if the player should manage to survive the last boss it will keep spawning indefinitely. Simply add a new entry to the array to add to the difficulty again.
Never Stop Shooting includes a sample crate and a stone block prefab. These can be customised as easily as clicking on the mesh and selecting another skeletal mesh asset.
New obstacles can be created by subclassing the BP_ObstacleBase blueprint and adding a skeletal mesh. No coding required. Then simply specify how many hits it will take to destroy your obstacle and how many points this obstacle awards. Job done.
Simply drag into the scene and you are good to go. You can also tweak these two values in the scene for extra control
Never Stop Shooting comes bundled with three types of moving barriers. All of which can be customized by simply replacing the skeletal mesh(s) inside them. No coding required.
The Moving Static Barrier
This barrier is the same as the static barriers only it has a SimpleMoveForward component added. Simply replace the mesh(s) and drop it in your scene to have it run down the track towards your player
The Give Barrier
Indestructable by projectile fire, simply run into this barrier to receive the specified number of points towards your player spawning tally
The Give-Or-Take barrier
This barrier starts with a negative value and increases in value each time it is hit by the player. If the player runs into it while it has a negative value it will instantly kill off some of the player's extra spawned characters but if it has a positive value then it will spawn extra characters for the player without having to first fill up the player bar
Never Stop Shooting includes a number of widgets:
- A level select widget *1
- A character and skin selection widget *1
- A widget to display the points gathered for spawning new characters or weapon upgrades *2
- A widget to display only the character spawning points progress
- Level failure widget with option to return to the selection screen
- Level victory widget that continues to the next level if any are left or returns to the selection screen
*1 These can be very easily replaced with your own levels/widgets as their sole purpose is to set a value or two inside the GameInstance and nothing more. As long as your custom level/widget sets these values you can customize these as much as you like!
*2 When used with touch devices these widgets function as inputs to spawn new characters or increase weapon fire rates. On other platforms these can be trigered via keyboard or gamepad instead. A virtual gamepad for touch device input is also provided but as a blueprint, not a widget
At a high level overview, this is the core information you need to know:
- The main design goal of Never Stop Shooting was to not require you to do any coding to get a working game up and running
- The system was designed to do it's work in the background C++ while making it as simple as possible to configure via the editor. To this end all meshes you see can be replaced without breaking anything. The only things that need updating is the animation blueprints and some anim notifies that need to be added to some animations. The rest is configured either in the level or by setting values in data asset.
- Character and level selection is done by selecting a number of int values and storing it inside of the GameInstance. These values correspond to the array entries in the pre-configured data assets and then used later on to provide the relevant functionality. This makes it super easy to replace the sample scenes with custom made ones
- The systems uses Enhanced Input so it supports keyboard, gamepad and touch interfaces
- The enemy attack animation needs to include an event notify that signals when to deal damage and when the attack is complete. The included animation blueprint can then be used to trigger the required functionality on the enemy
- The player animation for firing needs to include an event notify that signals when to fire. Fire rate is then applied by speeding up the firing animation




