How to create a Stage
Learn more details about stages and how to create them.
Preparation
Before you begin, make sure that you read all the previous clauses related to Stage Creator and set up your layout and Room environments accordingly.
Add a new stage
Open the Stage Creator. Under the stages list, press Create

Optional: Set up all settings you like on the left. You can return to this step at any time
Select your newly created stage and press Edit or double-click it.
An empty stage will show up.

Add a room
The newly created stage will automatically have one empty room with one empty wave in it.
When Stage Edit mode is enabled, it creates an empty temporary subscene Room Creator

To place your Environment Room Prefab, simply drag and drop it from your folder

Now, you should see the environment you placed in the scene

Place obstacles
Placing obstacles for the first time is the same as adding a room environment - drag and drop it from your folders
Added obstacle will be placed at the zero coordinates

Now you can add a bunch more obstacles and place them in the scene however you like.
Stage Creator remembers prefab position, scale, and rotation, so you can adjust your obstacles on a per-room basis. This does not work for objects inside a prefab, however.
When you place a prefab inside the Room Creator subscene, it will appear in the Prefabs Palette in the Stage Creator:

So, if you added an obstacle once, it will appear there and can be easily spawned with a click. It will be there as long as it's present anywhere on the stage.
Adjust the spawn point
In the newly created room, you can notice an object that looks like a green sphere with "Spawn Point" text on it - move it wherever you like in every room.

Add waves
There are 3 main types of waves in this project:
Enemy wave
Boss wave
Chest wave
These types are not strict and are not limited. You can create new wave types by adding and spawning custom objects, like a merchant; the only limit is your imagination.
You can simultaneously spawn enemies, chests, and bosses in a single wave if you like.
Each wave has a different purpose. More on that below.
Enemy and Boss waves
Enemy waves are a most commonly used type, they are the main pillar of rogue-like gameplay.
To add an enemy, click on the enemies you want to add on the palette:

When you click on an enemy, it will automatically spawn in the zero coordinates of the Room Creator subscene.
Drag the enemies however you like. Those will be the positions of enemy spawns at the start of the wave.
In the end, it can look like this, for example:

If added from the palette, enemies will display their attack Damage and HP for the current wave. Those values are dynamic and will scale with the progression values you set up in the general Stage settings.
Chest wave
Chest waves are designed to reward the player, and also as a short pause between tense waves.
There are 3 types of chests in the template: Heal (offers healing or buff to Max HP), Good (Gives a high-tier ability selection), and Evil (Offers a valuable ability at a price of your Max HP).
Adding a chest to a wave is the same as for the enemies - simply click on the desired chest from the Palette and place it where you want:

Wave icon
This template offers a carousel in the game UI to warn the player of what's coming next

You can assign a wave icon by selecting one from the Icon Palette:

You can change or add these icons in the Stage Database scriptable.
To do that, go toAssets/The Archer/Scriptables/Stages/Stage Database.asset . When opened, it will show various stage parameters. Icons database is located at the bottom of this file:

Stage flow
Now, when you understand the basics of Rooms and Waves, it's important to imagine the approach you want to go with: 1. Single room with all the waves in it 2. One wave per room 3. Multiple waves per room 4. Hybrid of everything mentioned
Provided stages use a different approach for each: Secret Chambers have a single wave per room, but increasing to 2 per room in the late stage, while Ancient Ruins have only one room with all waves in it.
For the game to feel dynamic, it's good to balance all the wave types. For example, you can create 5 fight waves, then a chest wave, followed by another 5 fight waves, finishing with a boss.
Sorting groups
One of the main pillars of rogue-like and -lite games is randomization. It can give a feeling of freshness and unpredictability even when the player repeatedly plays the same stages.
This is where Sorting Groups come in handy.
By default, all rooms and waves go one after another in a linear fashion, like they are placed in the Stage Creator.
Let's dissect how they work. You can assign a Group ID or both Rooms and Waves.


When multiple Rooms or Waves share the same Group, their order will be randomized once the player enters the first room in that group. This randomization only applies within the group and only if the Rooms or Waves appear consecutively in the Stage Creator.
If a Room or a Wave has a Group ID set to None, it will play normally, without randomization. Lets take a look at the example below:

As you can see, if you want a Room or a Wave to always appear (like a guaranteed heal or a boss fight), you can leave its Group ID at None.
Testing
To quickly test a Room or a Wave, click on the buttons "Test room" or "Test wave" in the Stage Creator.
Alternatively, you can just press the regular Play button in the Editor, and it will play the selected Room or Wave. But keep in mind that it only works when Stage Creator is opened and in focus.
Last updated