Play Demo | Demo Video | Version 1.0.0 | Documentation
The Turn-Based Shooter Kit is an easy to use template for creating first-person turn-based shooter type of games!
While the kit uses sprite visuals and a shooter setting, the logic can easily be applied to 3D models and a fantasy setting.
Supports PC and Web.
Created using Blueprints, fully documented and easy to customize.
The player has to battle enemies in turns while collecting several pickups (e.g. weapons, ammo, keys).
The game includes multiple types of enemies, which can be easily extended.
The kit contains easy to understand systems for health, ammo, stats, inventory, leveling, save/load functionality and more.
The template is maintained and open for suggestions. Feel free to get in touch!
Features included in this kit:
- Dialogue Component: Allows any actor (e.g. terminals, NPCs) to have dialogue lines
- Stats Component: Define stats and their influence on damage dealt and taken, for example: accuracy, defense and agility
- Health Component: Defines the actor's health and armor stats. Handles health regeneration and death state
- Grid-based movement and rotation
- Weapon selection and fire requests
- Object interaction
- Experience Component: Defines player experience and level
- Interaction Component: Allows the player to interact with terminals, NPCs, doors etcetera
- Inventory Component: Handles the player items and weapons. Defines types, amounts and max amounts
- Item Component: Allows the player to use items
- Vision Component: Defines the player's current vision (what is in front of the player)
- Each weapon is easy to set up using the customization options: burst size, weapon range, damage and damage radius, fire delays, accuracy and more
- AmmoComponent: Handles the ammo for the weapon. Defines the ammo per shot, ammo type and whether it weapon has unlimited ammo
- Easily define more enemies by inheriting from the BaseEnemy class and overriding the component values
- EnemyActivationComponent: Handles the activation state and defines the activation radius
- EnemyAttackComponent: Defines the enemy attack using stats like attack range, attacks per turn, damage and damage radius
- EnemyMoveComponent: Defines the enemy moves using stats like move time and moves per turn
- Predefined health and armor items as examples
- Generic SimpleItem that can be modified for most use cases (e.g. giving ammo)
- Weapon items to unlock weapons on pick-up
- Interactive objects such as sliding doors, terminals, and exits to other levels
- Exploding barrels and level decoration
- Allow the player to choose their archetype
- Selection of 3 archetypes available
Save load system
- Save and load any time during the game
- Keeps track of player, enemy and object status using component data
- Easily extendible
- Saves the data per level
- Current health / Maximum health
- Current armor / Maximum armor
- Health and armor packs
- Current turn
- Vision of the player
- Log of the recent events
- Game over screen
Art by Drummyfish:
Big Asset Pack
Music and SFX by Juhani Junkala:
512 Sound Effects