20-08-2021 As more and more parts are added, the game is starting to take shape. The player can now choose their hero character when they start a new game and a system of progression was implemented for the enemy units. This allowed (mini) boss units to be added as well.
Choosing your hero
Upon starting a new game the player chooses their starting hero. What the exact differences will be between the three available characters will be fleshed out at a later point. For now, it was more important to put the systems in place that allow the game to save the chosen character and then be able to retrieve this information in a next session. The goal here is to have the game save the necessary data so it can reconstruct the exact state of the game it was saved at.
Some thought was also put into the actual backstory of hero characters and how that plays out in the game. One of the original ideas was to have the player choose from a set of backstories, which in turn determined what the object of that particular game would be. All of these backstories would basically be a variation on a ‘running from something’ theme with a final boss unit or nemesis being the pursuer. The player would have to run from this boss and try to build up their party and become stronger in the meantime. At some point the player could then decide to stop running and face their pursuer. This still seems like a great idea, the difficulty lies in conveying this story to the player without them having to read huge amounts of text. Also, the idea that the player creates their own stories seems to stick as well and perhaps having a pre-written story takes too much away from that. These will be some hard choices to make in the future.
Enemy progression
Each level (or ‘Chapter’ as they are called in-game) the enemies will grow stronger. For this, a point allowance system was created that generates a set amount of points based on the current level. In turn, these points are used to generate enemies and provide them with extra skills and stats.
So, here’s an example of the way it works right now; level 5 gives the enemy party an allowance of 25 points (lvl * lvl = 5 x 5 = 25). Creating a unit costs 10 points plus an amount based on the type of enemy. Stronger enemy types will cost more points. If there are enough points left, another unit will be created, if not, existing units will be assigned skills. The flanker ability for instance costs 4 points, an extra attack costs 8 points. Then, from the remaining points stats (attack and health) will be added until the entire point allowance has been used up. Right now, there are only a few skills, stats and enemy types, so the resulting enemy parties will likely be very similar. Of course, in the future, there will be a lot more different combinations.
(Mini) Boss units
Adding boss units within this system was actually quite easy. Thanks to a simple modulo operation the game can spawn a single boss unit every 5 levels, instead of multiple enemies. All the skills and stats generated from the point allowance will be used to create one huge creature. During preliminary gameplay tests it became apparent that after lvl 25 these boss units will start to become crazy overpowered, so proper balancing needs to be applied here. Likely, skills will be limited for boss units and perhaps adding a skill will also decrease attack or health. So an enemy unit might get the area of effect skill, however this will also lower their attack, making the skill less overpowered.
To differentiate between normal enemies and boss enemies, existing unit graphics were used and altered using shaders. Shaders are a great way to create special effects on any type of in-game graphic. There are shaders that generate moving clouds or perhaps just a simple outline for a character. For boss units a color replacement shader was added and used to create an alternate color scheme for existing enemies. Maybe in the future these bosses will get their own custom graphic, but for now this change in color scheme will suffice.
Extra UI elements for units
Since enemies can now spawn with random skills, it was important to add UI elements to reflect these skills. Without, it would be quite hard to analyse a particular situation and act accordingly. So, the additions were made to the UI element below each character as shown in the image below:
Development changes
Disclaimer: everything stated below is susceptible to changes in the future.
- Players can now choose their starting hero
- With this addition the save file was expanded to also contain saved information about the player’s character.
- A level counter was added to display the current stage the game is at
- Since this game takes place inside a book, levels will be called ‘Chapters’
- Small symbols were added below each character to display their skills:
- Flanker ability: yellow cornered arrow
- Area of effect: red star-like symbol
- Extra attacks: shows the multiplier next to the character’s attack stat
- A rudimentary progression system was added which uses a point allowance for generating enemy units. Each level this point allowance for the enemy party increases, resulting in more skills and stats and thereby stronger enemies.
- Boss fights were added. Every 5 levels the player will encounter a boss unit.
Current state of the game demo
The video below shows the game in its current state. Please be aware that the knight character has its stats boosted purely for demonstration purposes. In the actual game a player will gradually increase these stats between battles. This video mainly shows how the enemy party grows stronger with each level.
Future changes
- More character abilities
- More types of enemies
- Defeated enemies / enemy parties drop loot
- Extra phase in between battles where loot can be used to buff the player party
- Overarching game shell
- Extra on hit graphic effects
- e.g. character is engulfed in flames when hit by the knight’s fire attack
- Mana
- Mana will be represented in the character UI
- Sounds
- Characters will be provided with unique on hit and on death sounds
- More speech bubble events
- Speech bubbles will be randomly shown on attack, hit, death, etc.
- Victory and loss conditions