Custom bosses!
Here you can learn about special commands when using a custom boss
There is also several youtube videos availiable that can help
Read about dialogs commands here
For a full tutorial on how to set up a custom sprite, see the Creating Hat guy tutorial.
Creating Your Custom Boss
Welcome to the custom boss creation guide! Follow the steps below to create your own boss, customize attacks, set up dialogs, and more.
This page aims to help you create your own custom boss for Battletale!
Step 1: Setting Up the Boss
In this section, you'll learn how to configure the basic settings of your custom boss. This setup includes defining the boss's identity, difficulty, visual appearance, and behavior during the battle.
Basic Settings
The basic settings define the core attributes of your boss:
- Creator Name: You can set your name as the creator of the boss.
- Boss Name: Choose a name that fits your boss’s theme and personality.
- Description: Provide a brief description of your boss. This could include backstory, personality traits, or special features.
- Difficulty (1-5): Set the difficulty level from 1 (easiest) to 5 (hardest) to indicate how challenging the boss will be.
Health and Audio
These settings control the boss's health and the audio environment during the battle:
- HP for the Boss: Set the health points for the boss to determine how resilient it is. The player deal between 200-400 damage so you can use this to calculate how many turns you want the boss to last
- Music: Choose background music that plays during the battle. This can be selected from existing tracks or imported from a FILE/URL.
- Background: Select the visual background for the battle scene to match your boss’s style. This can be selected from existing backgrounds or imported from a FILE/URL.
Mode Settings
Mode settings allow you to adjust the difficulty of the boss's attacks, player health, and sprite appearance:
- Mode Attacks: Set whether existing attacks should use easy, normal, or hard mode.
- Mode HP: Choose how much health the player will have during the battle (e.g., 100(hard), 200(normal), or 500(easy) HP).
- Sprite Mode: Define the visual style of the boss’s sprite. Options include normal (black and white), colored, or alien mode.
Sprite and Interaction
Customize how your boss looks and reacts to player actions:
- Skin: Choose the sprite that represents your boss. This can be selected from existing Sprites or imported from a FILE/URL (more on this later).
- Hit Mode: Decide what happens when the boss is attacked: options include shake, dodge, immune, or block.
- Voice: Assign a sound effect or voice that plays during dialog sequences with the boss.
Optional Score Settings
These optional settings allow you to add a scoring system to your battle:
- Scoreboard: Display a scoreboard during the battle.
- Score Per Update: Set a score that increments every frame to reward continuous play.
- Score Per Attack: Increase the score when the player lands a successful attack on the boss.
Step 2: Adding Dialogs
Dialogs are the text messages that the boss says before starting their attacks. They set the tone and provide context to the battle, enhancing the player’s experience. Follow the steps below to add, edit, and manage dialogs for your boss.
Adding Dialogs to Your Boss
To add a dialog, type your text in the text box and press the "Add" button. This will add your dialog to the list below, where you can manage all your boss's dialogs.
- Adding a Dialog: Enter the text in the text box and click the Add button. Your dialog will appear in the list.
- Editing a Dialog: To edit an existing dialog, click on the dialog you want to change in the list, modify the text in the text box above, and press the Update button. If you change your mind, press the Cancel button.
- Removing a Dialog: Swipe right or left on a dialog in the list to remove it.
- Reordering Dialogs: Press and hold on a dialog item in the list to move it to a new position.
Advanced Dialog Commands
Dialogs support advanced commands that allow you to control how the text is displayed. These commands help create dynamic interactions, control the flow of text, and trigger special effects.
- Text Formatting: Use special characters to manage text flow, such as adding new lines, pauses, or clearing the text box.
- Custom Game Commands: Include commands that affect gameplay, like changing music, adjusting the boss's behavior, or triggering effects during the dialog.
For a complete list of available commands and their usage, please refer to the Dialog Commands Help Page.
Examples
Here are some examples of how dialogs can be used:
- "You dare challenge me? Prepare yourself!" – A simple introduction line before the boss starts attacking.
- "{music-set-5} Time for the real battle!" – Changes the music track as the boss dialogue progresses.
- "... ]3 You really think you can win?" – Adds a dramatic pause for effect.
- "{boss-set-hp-percentage=100} Haha my power is restored!" – Heal the boss back to 100% hp.
Step 3: Customizing the Sprite
Creating a unique sprite for your boss adds a personal touch to the battle. You can use an existing sprite or add your own to make your boss truly stand out.
Using Single Sprites
A sprite is a single image that represents your boss during the battle. Unlike a sprite sheet, which contains multiple images, a single sprite only displays one static image.
- Image Requirements: Your sprite image should be a single file where the transparent areas
are set to the color
#FF66FF
(a bright pink color used as transparency). - Size Recommendations: Boss sprites are usually no larger than 200x200 pixels. This size keeps the image detailed enough to be recognizable without overwhelming the screen.
- Testing Your Sprite: To test your sprite, select "File" as the sprite type and click the Load button to upload your image.
Using Sprite Sheets
A sprite sheet is a single image file that contains multiple smaller images, or "frames," arranged in a grid. Each frame represents a different part of the boss, such as the head, body, or arms, and can be animated or moved independently.
- Concept: Sprite sheets allow for more complex designs, such as animated parts or modular designs. For example, one section of the sprite sheet could be the head, another the body, and another the arms.
- After Uploading: Once you have selected your sprite sheet, press the Advanced button to access further customization options for your sprite parts.
Advanced Sprite Part Customization
After loading your sprite sheet, you can add individual skin parts, preview how they will appear, and set up advanced features such as animations and movements.
- Clear List: Clears all current sprite parts, allowing you to start fresh.
- Add New Skin Part: Add a new sprite section by specifying the part's name, starting coordinates, size, and other properties.
- Preview Options: Use the Preview button to start the boss and see how the parts look, or Preview with Dialog to test dialog commands on your sprite parts.
- Debug Info: The Show Parts Debug Info option displays the x and y positions of each part with their offsets, helping you position parts accurately.
Defining a Skin Part
- Part Name: A unique name for the sprite part, like "Head" or "Left Arm."
- Starting X/Y: The coordinates on the sprite sheet where the part starts (top-left corner of the part).
- Width/Height: The size of the part in pixels.
- Scaling: Adjusts the size of the sprite part relative to its original dimensions.
- Position X/Y: Offset values used to adjust the part's position on the screen (negative for left/up, positive for right/down).
- Custom Attack Switch: Enable this if you want the skin part to be used as a custom projectile in attacks.
Movement, Animation, and Rotation
You can add dynamic effects to your sprite parts using movement, animation, and rotation settings:
Movement Settings
- Move Direction: Sets the movement direction in degrees (0-360), where 0 is down.
- Move Duration: Specifies how long it takes for the sprite to complete one movement cycle.
- Move Distance: The distance the part moves, useful for effects like breathing.
Animation Settings
Animation settings allow multiple images in the sprite sheet to be displayed sequentially, creating an animation effect.
- Animation Set: Defines the frames of an animation. Frames should be laid out left-to-right and top-to-bottom, with a 1-pixel separation between frames.
- Animation Parts: The total number of frames in the animation.
- Parts Per Row: Number of frames per row in the sprite sheet.
- Animation Delay: The time between frame changes (lower values mean faster animation).
- Animation Loop: Whether the animation should repeat when it reaches the end.
- Animation Reverse: If enabled, the animation will reverse direction at the end instead of looping directly back.
Rotation Settings
- Rotation Speed: The speed at which the sprite part rotates.
- Min/Max Angle: Set the minimum and maximum rotation angles (0-360 degrees). Adjust these to prevent a full circle if desired.
- Rotation X/Y Offset: Adjusts the center of rotation for the part, shifting it relative to the part's position.
Visibility and Command Settings
Control when your sprite parts are visible and how they can be shown or hidden during gameplay:
- Visibility Options: Choose when the part is visible (idle, attacking, or being attacked).
- Show/Hide Commands: Set commands that can be used in dialogs to show or hide parts. For
example, use a command like
{phase2}
to reveal a hidden part during a specific dialog.
For a full tutorial on how to set up a custom sprite, see the Creating Hat guy tutorial.
Step 4: Adding Attacks
Choose from existing attacks or create your own custom attack for your boss.
Going to attacks is where you add what attacks the boss should use
Select from most of the existing attacks from all the bosses or create your own.
- Select from which boss you want to use attacks
- Select the attack you want to use
- Press the 'add' button to add it to the list
- Removing an attack: Swipe right or left on an attack in the list to remove it.
- Reordering attack: Press and hold on a attack item in the list to move it to a new position.
The attacks will come in the order they are added unless 'random order' is selected
Settings
- Random order: the attacks order is randomized
- Boss attacks first: the boss will attack without giving the player a turn
- Karma: the attacks will deal karma (poison) attacks, dealing a small bit of damage over time
- Auto attack on: This will skip the players turn and the boss will keep attacking
Special attacks
In the boss list there are special 'bosses'
- Other: Contains some special attacks
- Only talk: No attack, just dialog
- End in Victory: the boss ends with victory
- End in Gameover: the boss ends with gameover
- Cut scene: like only talk but removes UI elements
- Modifier: Contains some special commands that affect the battle
- Next upside down: makes the next attack be upside down
- Activate Al: Activates the Al drone from Neo 2 battle
- Destroy Al: Destroy the Al drone from Neo 2 battle
- Al missile: Makes the Al drone shoot missile
- Al bullets: Makes the Al drone shoot bullets
- Al saws: Makes the Al drone shoot saws
- Orange instead of red: replaces red soul with orange
- Red instead of orange: replaces orange soul with red
- Auto attack on: turn auto attacking on
- Auto attack off: turn auto attacking off
- Custom: If you have any custom attacks they will appear here
Step 5: Creating a Custom Attack
For more information go Here
Details on configuring custom attacks, including spawners and projectile behaviors.
The first part of a custom attacks is the Attack itself, this contains basic information like name, ending time etc.
Buttons
- Save: It is important to save when you make changes, it will not autosave
- Export: Export the attack as a file, to share or use with other bosses
- Preview: Start the battle with this attack only
- Spawners: Opens the page for managing Spawners
Attributes
- Attack name: The name of the attack, shows in the list and makes it easier to find
- End when finished: Will try to end the attack if all the spawners are finished(might not work for all scenarios)
- End in seconds: After how many seconds the attack should end
- Soul color: What color the soul should start in
- Box Width: Set the size of the box
- Box Height: Set the size of the box
Step 6: Setting Up Spawners
An attack can have multiple spawners, a spawner is something that creates(spawn) something other. Most of the time it creates projectiles
In the most simple attacks you will have 1 spawner which creates a simple projectile like a fireball, but it more advanced attacks you might have several spawners creating different types of projectiles. Like Fireballs and Gaster Blasters
IMPORTANT!: Always save after you have made some changes
Attributes
- Spawner name: Set this to easier find what spawner is doing what
- Disabled: if the spawner should be disabled from the start
- Start time: seconds before the spawner starts acting
- Position X: The start position of the spawner
- Position Y: The start position of the spawner
- Spawn position X: Where projectiles will be spawned(If not set the Position X will be used)
- Spawn position Y: Where projectiles will be spawned(If not set the Position Y will be used)
- Drawings: Add draw behaviors to the spawner
- Movement: Add move behaviors to the spawner
- Behaviors: Add other behaviors to the spawner
- Type:
- Simple: Spawn a projectile every x frames
- Timeline(advanced): Fine tune behaviors, projectiles and other things where you specify the time on a timeline
Lets explain spawner types a bit
Simple
A simple spawner creates a single type of projectile every x frame
- Rate: Every x frame a projectile will be created
- Waves: How many projectiles the spawner can create
- Projectile: Setup the projectile that the spawner will create
Timeline
A timeline is an advanced and powerful spawner where you can create fine tuned patterns. When you add something to the timeline you will set a time when the object will be created
You can add 3 types of things to the timeline
- Projectile: A normal projectile
- Spawner: You can add another spawner
- Behavior: To make something happen, like playing a sound effect
After an item have been placed on the timeline you can see them in the list in the order that they will be executed
In the list you can click on them to edit them, or LONG PRESS to clone them (this makes it easy to copy an item and set a new time for the copy)
Attributes
- Debug: Will show you the timeline when playing.
- Autostart: Will start the timeline immediately
- Loop count: If the timeline should loop, -1 for infinite loops, 0 for no loops and 1 or more for x number of loops
Step 7: Setting Up Projectiles
Set up projectiles with behaviors, conditions, and colliders to enhance your boss's attacks.
A projectile is something that is usually used to hurt the player, it can be flying, moving, or just existing. It can for example be a fireball, a bone, or a wall. Possibilities are endless
Attributes
- Name: name your projectile
- Damage: Set the damage the projectile deals
- Color: Set the color of the projectile.
- Default: Normal deal damage on hit
- Green: Heals the player
- Blue: Player needs to stand still to avoid damage
- Orange: Player needs to move to avoid damage
- Projectile type:
- Custom: Create your own projectile
- Existing: choose from some existing projectiles
Existing projectile
The simplest way to get started, select one of the existing projectile like Gaster blaster, bones and add some parameters
The parameters that you can select depends on the projectile that you select, if you do not set parameters then a default value will be used
Custom
This is where the fun begins, create the projectile yourself gives you the ability to create something truly unique, a projectile is built on behaviors and defining those will shape how it behaves
Attributes
- Starting rotation: Set the start rotation
- Sprite rotation: Rotates the sprite, might be needed for alignments
- Alpha:Starting alpha value
- Drawings: Add drawing behaviors
- Movement: Add movement behaviors
- Colliders: Add colliders
- Behaviors: Add other behaviors
Documentation
- General Settings
- Dialogs and Commands
- Sprites and Animations
- Attacks and Spawners
- Variables
- Drawing behaviors
- Movement behaviors
- Other behaviors
- Colliders
- Conditions