Documentation

Hellish Battle - 2.5D Retro FPS


  • Created: 22 April, 2022
  • Update: 21 Mar, 2024
  • File Size: 110.23 MB
  • Unity Versions: 2021.3.17+
Note: The documentation will get major updates over time that will include changes to better understand how the codes work and allow you to adapt your game more to your liking

Getting Started

Create a new 3D project [to use URP / HDRP you must personally adapt the project to a specific RP].

From the toolbar, select Window -> Package Manager to open the Package Manager

From Droplist Packages: select My Assets and search among the purchased Hellish Battle assets, download and install

Once installed, the assets are ready to be installed


Tags and Layers

If you import the package and it works incorrectly, it may be due to not importing the Package Settings.

Here's How some settings should be set:

  • Tag 0 Enemy
  • Tag 1 HealthBonus
  • Tag 2 ArmorBonus
  • Tag 3 AmmoBonus
  • Tag 4 DamageZone
  • Tag 5 KeyBonus

  • Layer 3 Post Processing
  • Layer 6 Weapon
  • Layer 7 Enemy
  • Layer 8 Missle
  • Layer 9 Player
  • Layer 10 Rocket
  • Layer 11 Interaction

Psychics

Disable this Layer Collision

  • Enemy with Missle
  • Missle with Interaction
  • Player with Rocket

Install Additional Assets

From the toolbar, select Window -> Package Manager to open the Package Manager

From Droplist Packages: select Unity Register and install these Assets

  • Stable Input System
  • Stable 2D SpriteShape
  • Stable Post Processing
  • Stable ProBuilder
  • Stable TextMeshPro
  • Stable Unity UI
  • Prewiev ProGrids

Tutorials




Check This Settings

If you cannot install ProGrid, you must enable this option.

Everything should be working now


Enemy

Opponents in games are the basis and even more so when it comes to shooters, here you will learn how to customize the opponents in your game

Na ten moment jest dostępnych 19 zwykłych przeciwników oraz 3 wyjątkowe bossy


Enemy Script

The Enemy Script is responsible for managing basic statistics of enemies, such as health points, as well as sounds. Additionally, it allows you to modify settings such as: Particle Effect upon receiving damage, Damage Multiplier, Point Multiplier, Dead Body, Loot Drop.

Possible Settings:

  • Enemy Name Displayed Enemy Name
  • Max Health Maximum health amount
    (Can be adjusted through health buffs or nerfs)
  • Enemy UI Health bar displayed above the enemy's head
    (By default, only for regular enemies)
  • Damage Multiplier Multiplier applied to received damage
    (Multiplier combines with EnemyDamageDetector.cs multiplier)
  • Blood List List of FX appearing at the point of impact
  • Floor Blood List List of FX appearing on the floor upon taking damage
  • Score after Death Amount of points awarded after killing the enemy
  • Score Multiplier Multiplier for points awarded based on received damage
  • FX Settings Settings to customize the quantity of FX appearing upon hitting the enemy
  • FX Modifier Setting to modify FX based on received damage
  • Extra FX Additional FX depending on received damage
  • Dead Settings Settings for the appearance of a reward upon the enemy's death
    (Settings may be overridden by Asset Settings)
  • Extra Dead Body Additional settings for the reward appearance based on damage
  • Drop Loot Settings for dropping loot upon the enemy's death
  • Sounds Settings Sound settings used for attacks, receiving damage, and death
  • Extra Sound List Additional sounds depending on received damage
  • On Heal/Damage/Death Here you can assign additional functions to occur under specific conditions

Enemy States Script

The Enemy States script is responsible for managing enemy intelligence settings and enemy attacks.

Possible Settings:

  • Patrol Settings Choose one of 4 modes for patrolling the environment.
    (If you select Numerically or Random and don't assign waypoints, the mode will automatically change to Procedural.)
  • Patrol Range The range from which an enemy can detect the player.
  • Procedural
    Waypoint Range
    Distance for Generating Waypoints.
    (Only in Procedural Mode)
  • Attack Settings Choose the types of attacks the enemy can use.
  • Melee Attack List of melee attacks.
    (Customize Damage, Range, Delay)
  • Range Attack List of ranged attacks.
    (Customize Damage, Range, Speed, Delay, Projectile, Gilded Option)
  • Vision Object Child object containing Vision.cs.
  • View Angle The enemy's field of view angle.
    (Value should not be less than 10 or greater than 180)

Enemy Ability Script

The Enemy Ability allows you to set abilities such as regeneration, buffs, rage, spawning minions, and more.

Possible Settings:

  • Regeneration Enemy regeneration at specified time intervals.
  • Summon Minions Spawn a specified number of minions every X seconds.
  • Rage If health falls below a certain level, statistics are increased.
    (Operates separately from Enemy Phase)
  • Random Buffs Enemy has a chance to receive a bonus within a specified range.
    (Bonuses are granted upon enemy spawn)

Enemy Phase Script

Allows for changing statistics and enabling new abilities based on the enemy's health level.

The script checks the enemy's health status and determines which phase it fits into by applying all multipliers and unlocking all options.
(When the enemy regains health and no longer fits the current phase, the script checks for an earlier phase and adjusts the enemy to that particular phase)


Gamemodes

To change the Game Mode you need to enter the Level Manager in the Scene, find Gamemode Type and change to the selected Mode


Deadly Race Mode

Survive as long as possible despite the enemies appearing in the area


Wave Mode

Survive as many incoming waves of enemies as possible


Arcade Mode

It works like Classic Mode but the most important thing is to collect points


Chapter Manager



You can find Chapter Manager Settings in Project Settings -> Hellish Battle -> Campaing


Add New Chapter

  • 1. Click "Add New Chapter Button on top"
  • 2. Fill in the first localization key field

Add New Scene

  • 1. Click the "Add New Level" button in the selected chapter
  • 2. Fill in the first localization key field
  • 3. Enter the name of the scene in the second field

Weapons

At this Moment Hellish battle has 3 types of Weapons: Ranged Weapon, Melle Weapon and Throwable Weapon

Range Weapon

Melle Weapon

Throwable Weapon


Upgrade System

The Upgrade System allows the creation of enhancements for weapons that can be obtained using points earned during gameplay. It enables the modification of weapon statistics and the alteration of the weapon's appearance (if no skin is selected).


Skin System

The Skin System allows you to choose the appearance for your weapon that you like the most and transform the mundane default look into something extraordinary. Skins can be purchased using points collected during gameplay.


Inventory



As of the 2.0.0 update, a new inventory system is available, allowing for dynamic inventory management and better customisation for each player's needs


Choose Inventory Type

To change the inventory type you have to go to Project Settings -> Hellish Battle -> Asset Settingscode> and change the Inventory Type value


Start Weapon Settings

In order to change the initial weapon in the scene, you need to find the Level Manager element in which the LevelManager.cs script contains the fields responsible for the player's initial weapon.


Category Slot

The number of available slots can be changed under Project Settings -> Hellish battle -> Asset Settings in the Inventory Slot Count tab.


Save System

TinySaveSystem works in a similar way to PlayerPrefs, and it is indeed an improved version of this system.

Supported File Types

  • Integer Int
  • Floating Float
  • Char String
  • Boolean Bool
  • Structure Vector2
  • Structure Vector3
  • Structure Vector4
  • Structure Quaternion
  • Structure Color
  • Custom Trophy
  • Custom Player Save

Use in Code

Save and Load Value

Example shown for an int value

            // Save Int Value
TinySaveSystem.SetInt("Value_Name",  1234);
  
// Load Int Value
public int  int_value = TinySaveSystem.GetInt("Value_Name");

          

Save Values to File

            // Save All Values to File
TinySaveSystem.SaveToDisk();

          

Change Save File Name

In each scene there is an Audio Manager object that contains the TinySaveManager.cs script and the FIle Name value must be changed in it

Note: The entered value must consist of FILENAME.EXTENSION it is required for the proper operation of the system I do not recommend choosing existing extensions, I recommend that you create your own or use one of the following .tss | .save | .hb | .memory

Tiny Save Editor

Allows you to view existing records, control their changes and delete specific records


Localization System

You can find Localization System Settings in Project Settings -> Hellish Battle -> Localization


Base Settings

By default, Hellish Battle includes translations into 4 languages:

  • Manual 75% English
  • Manual Polish
  • Translator Spanish
  • Translator Ukrainian

Add new Language

1. Open Project Settings -> Hellish Battle -> Localization

2. You have to click the plus icon next to Additional Language and select a language from the list

Note: It will not break the game, but remember not to repeat the added languages

3. Now you have to add a value for each Localization in accordance with the added language

Note: Localization files are located in the folder Classic FPS -> Localization -> Localize


Ability



At this Moment Hellish battle has 3 types of Weapons: Ranged Weapon, Melle Weapon and Throwable Weapon

Ability

Passive Skill


Cheats



With Cheats you can test new features, they make your life easier


Cheat Console

To open the console you need to press F9 (Default Settings)

  • kill_enemy - Kill all Enemy on Level
  • max_health - Restores the player's maximum amount of health
  • max_armor - Restores the player's maximum amount of armor
  • max_ammo - Gives the player the maximum amount of Ammo
  • spawn_all_weapon - Spawn All Avaiable Weapon
  • set_health - Allows you to set any number of lives from 0 to the maximum level
  • set_armor - Allows you to set any number of armor from 0 to the maximum level

Fly Cheats

The script keeps the buttons pressed for 2 seconds, if nothing is entered, the data is reset. If the pressed buttons agree with the possible commands, it is executed

  • FULLCLIP - Gives the player the maximum amount of Ammo
  • IWASGOD - Restores the player's maximum amount of health and armor

Custom Attribute

You can improve your inspector with custom attributes like Line Attribute and Show If Atribute


Line Attribute

Sample Code

        // Line without Text
[Line()] public int Count1;

// Green Line without Text
[Line(VirtualColor.Green)] public int Count2;

// Line with Text
[Line("Line Text")] public int Count3;

// Line with Multi-Line
[Line("Line Text", "Line Text", "Line Text")] public int Count4;

// Purple Line with Text
[Line(VirtualColor.Purple, "Line Text")] public int Count5;

// Red Line with Multi-Line
[Line(VirtualColor.Red, "Line Text", "Line Text", "Line Text")] public int Count6;

      

Show If Attribute

Sample Code

        // Example Enum
public CustomEnum Enums;

// Example Bool
public bool enable;

// Show If Bool
[ShowIf("enable")] public int enableWhenBool;

// Show if enums == CustomEnum.B
[ShowIf("Enums", 1)] public int enableWhenEnumB;

// Show if enums == CustomEnum.C
[ShowIf("Enums", (int)CustomEnum.C)] public int enableWhenEnumC;

// Enable if enums == CustomEnum.D
[ShowIf("Enums", (int)CustomEnum.D, false)] public int enableWhenEnumD;

// Example Enum Code
public enum CustomEnum
{
    A = 0,
    B = 1,
    C = 2,
    D = 4
}

      

Hide If Attribute

Sample Code

        // Example Enum
public CustomEnum Enums;

// Example Bool
public bool enable;

// Hide If Bool
[HideIf("enable")] public int disableWhenBool;

// Hide if enums == CustomEnum.B
[HideIf("Enums", 1)] public int disableWhenEnumB;

// Hide if enums == CustomEnum.C
[HideIf("Enums", (int)CustomEnum.C)] public int disableWhenEnumC;

// Hide if enums == CustomEnum.D
[HideIf("Enums", (int)CustomEnum.D, false)] public int disableWhenEnumD;

// Example Enum Code
public enum CustomEnum
{
    A = 0,
    B = 1,
    C = 2,
    D = 4
}

      

Suffix Attribute

Sample Code

        // Suffix Ints to Int value
[Suffix("Ints")] public int suffixInt;

// Suffix Floats to Float value
[Suffix("Floats")] public int suffixFloat;

// Suffix Strings to String value
[Suffix("Strings")] public int suffixString;

      

Help Box Attribute

Sample Code

        // Info Help Box Structure
[HelpBox("Info Text", HelpBoxEnum.Info)] public int HelpBox_Info;

// Warning Help Box Structure
[HelpBox("Warning Text", HelpBoxEnum.Warning)] public int HelpBox_Warning;

// Error Help Box Structure
[HelpBox("Error Text", HelpBoxEnum.Error)] public int HelpBox_Error;

// Multiline Help Box Structure
[HelpBox("Help Box\nWithout\nIcon", HelpBoxEnum..None)] public int HelpBox_None;

      

Meet and Talk -Dialogue System

Hellish Battle supports the basic version and the free version

The only thing you need to do to integrate Meet and Talk and Hellish Battle, you need to install Meet and Talk in the Project where Hellish Battle is located

Setup Dialog

To add a dialogue to the scene, you must set WhenInteraction() in the Interaction Script to assign a new event and find the InteractionScript.StartDialogue() function and assign the appropriate Dialogue file to it


Video Tutorials


More Templates


Changelog

See what has been added, changed in updates.

Do you want to check what will be in the next update? check it out for the always up-to-date roadmap: Trello

Version 2.4.0a 21 March, 2024

  • Added Safe System
  • Added Keypad System
  • Added Lockpicking System
  • Added In-Game Buttons
  • Added In-Game Family Buttons
  • Added Multi Option Switch
  • Added Teleports
  • Added In-Game Notes
  • Updated Commands & CHeats Improved
  • Updated Chest Improved
  • Updated Interaction UI Templates
  • Updated Tiny GUI Editor
  • Updated Multiple Updates Editors
  • Integration Update Built-In Loot Table to Version 2.0.0
  • Fix Weapon Coroutine Errors

Version 2.3.1a 23 January, 2024

  • Added 25 Weapon Skins
  • Added 18 Weapon Upgrades (With Skins)
  • Added Weapon Upgrade Functionality
  • Fix many Bugs Fixes

Version 2.3.0a 11 December, 2023

  • Added Weapon Inspection
  • Added Weapon Speed Reduction
  • Added Range Firerate Curve
  • Added Bullet Force
  • Added Skin System
  • Added Upgrade System
  • Added 4 New Weapon (Bow, Minigun, Molotov, Kunai)
  • Added 2 Weapon Upgrade (Preview Upgrade System)
  • Added 6 Weapon Skin
  • Updated Improved Weapon Sprites
  • Updated Improved Range Weapon Script
  • Updated Improved Melle Weapon Script
  • Rework Rework Throwable Weapon Script

Version 2.2.0a 15 September, 2023

  • Updated Movement System
  • Added Dash System
  • Added Crouch
  • Added Stamina System
  • Added Fall Damage
  • Added Multi Jump
  • Added Ladder System
  • Added Player FX
  • Added 10 New Passive
  • Updated Ability Improve

Version 2.1.0a 23 August, 2023

  • Added Body Part Collision
  • Added Multiple Enemy Attack
  • Added Blood Effects
  • Added Damage Multipliers
  • Added Summon Minion
  • Added Guided Missles
  • Added EditorGUI Extension
  • Updated Improve Enemy UI
  • Updated Healing Zone
  • Rework Damage System

Version 2.0.1a 25 July, 2023

  • Added Classic Inventory Type
  • Added Audio Settings
  • Updated Complete Story Mode System
  • Fix Feedback System Error in Unity 2022+
  • Fix Load on Next Map Errors
  • Fix Level Manager Errors
  • Fix Fix Other 25+ Bugs

Version 2.0.0a 07 July, 2023

  • Added Story Mode System
  • Added Player Save Progress
  • Added Weapon Type Class
  • Added Start Weapon Pool
  • Added Player Face Animation
  • Added 4 New Maps
  • Added Flash Enemy when Take Damage
  • Added Over 100 New Textures
  • Added Feedback Report System
  • Updated Pick-Up System
  • Updated New User Interface
  • Updated Improve Old Maps
  • Updated Improve Over 35 Scripts
  • Rework Inventory System
  • Rework Rework Settings Manager
  • Rework Rework 5 Scripts

Version 1.10.0a 07 April, 2023

  • Integration Meet and Talk - Dialogue System
  • Rework Better Interaction System
  • Added No Weapon Area
  • Added Unlockable Points
  • Added Ability / Skill Unlockable
  • Added Enemy Phase
  • Added Crosshair Customization
  • Added Descructible Object
  • Added New Game Features

Version 1.9.0a 01 March, 2023

  • Added Difficulty Level
  • Added Player Ability System
  • Added Passive Skill (Regeneration, Vampirism and More...)
  • Added Ability (Supply Drop, Seismic Explosion and More...)
  • Added UI Popup Text
  • Added Chest System
  • Added Localization Edition Popup
  • Added Better Debug.Log
  • rework Rebuild Campaign Manager

Version 1.8.0a 07 February, 2023

  • Migrate Migrate to Unity 2021.3f17
  • Added Convert to New Input System
  • Added Key Binding
  • Added Controller Support (DualShock, DualSense, Xbox Controller etc.)
  • Added New Weapon Shot: Laser
  • Added New Weapon Shot: Charge
  • Added Dual Wielding Gun
  • Added 3 New Pre-Build Weapon (Dual Revolver, Laser Gun, Charge Rocket Lancher)
  • Added HideIf Attribute
  • Added New Localization Property
  • Added Hierarchy Separator
  • Added Requirement Package Window
  • Integration Update Loot Table to 1.1.0a
  • Fix Fix Mobile Controller

Version 1.7.0a 20 January, 2023

  • Added New Settings Option (Show UI, Post-Processing, V-Sync, Show FPS and More...)
  • Added In Game Patch Notes (Local/Online)
  • Added Version Checker
  • Added Enemy Health Bar
  • Added Traps
  • Added Damage Indicators
  • Added Fly Cheats
  • Added Cheat Console
  • Added Game Feature Manager
  • Rework Rebuild Demo Scene

Version 1.6.0a 21 November, 2022

  • Added Gamemode System
  • Added 3 New Gamemode: Deadly Race, Wave, Arcade
  • Added Score Points
  • Rework Trophy System Rework
  • Added 2 New Trophy: None, Diamond
  • Added Different requirements can be added to each level
  • Added Help Box Attribute
  • Added Gamemode UI
  • Added Enemy Grave Toggle
  • Added New Gamemode Map Death Ring
  • Integration Loot Table - Universal Loot System

Version 1.5.0a 05 October, 2022

  • Added Boss System
  • Added Enemy Ability
  • Added Pickable Ammo Box
  • Updated Better Interaction System
  • Added Enemy Sounds
  • Added Enemy Drop Loot
  • Added More Enemy Presets
  • Updated Enemy AI

Version 1.4.0c 01 September, 2022

  • Fix Few Cricital Bugs

Version 1.4.0b 31 August, 2022

  • Fix No Player Detection by Opponents
  • Updated Better Enemy Vision
  • Updated Suffix Attribute

Version 1.4.0a 29 August, 2022

  • Rework Rebuild Weapon System Universal Script to All Range Weapons
  • Added New Fire Mode: Burst
  • Added Ammo Cost pre Shot to Range Weapon
  • Added One Shot Multi Bullet "Shotgun Effect" to Range Weapon
  • Added Weapon Spread
  • Added Weapon Name
  • Added Melle Weapon: Normal Attack, Alternative Attack, Block
  • Added Throwable Weapon: Normal Throw, Alternative Throw
  • Added Custom Editor Attribute: Line Attribute, Show If "Bool or Enum" Attribute
  • Added Save System: Vector2, Vector3, Vector4, Color, Quanterion, Custom Class: Trophy

Version 1.3.0b 04 August, 2022

  • Fix Display 1 no camera rendering

Version 1.3.0a 27 July, 2022

  • Added Mobile Control
  • Added Trophy System
  • Added Popup Info
  • Added Animation Tiles
  • Added Explosion Damage Curves
  • Added Chapter Manager
  • Updated Documentation
  • Updated Locaization System: Audio, Texture, Sprite
  • Updated Save System: Vector2, Vector3, Vector4, Color, Quanterion, Custom Class: Trophy
  • Updated Improve Organization

Version 1.2.0a 23 June, 2022

  • Added Localization System: String
  • Added Save System: Int, Float, String, Bool
  • Added Camera Shake
  • Added Self-Damage
  • Added Door Key
  • Added Switch
  • Added Secrets
  • Added Base Settings
  • Added Finished Level
  • Added Elevator

Version 1.1.0a 17 May, 2022

  • Added Weapon Animation
  • Added New Weapon Mode: Automatic, Aim
  • Added Enemy AI: Alert, Attack, Chase, Patrol
  • Added Danger Zone
  • Added Explosion Barrel
  • Added Change Fov
  • Added Pause Screen
  • Updated 80+ Level Texture

Version 1.0.0a 22 April, 2022

  • Added Movement System
  • Added Health & Armor System
  • Added 2 Weapon Type: Hitscan, Projectile
  • Added Ammo Pools & Pick-Up Bonus
  • Added 4 Template Weapon
  • Added Simple Door System
  • Added Dummy Enemy
  • Added 50+ Level Texture