IKL – Reimplementing EXP

Last week we had a meeting about what we still need to do till we can release the beta version of the game. There is still of course a lot of polish as stated in the last blog post. However today I want to write about why we decided to reintroduce exp in the game.

We implemented an experience system a while ago in the game but ultimately decided to disable it due to balancing issues with how you progress in the game.

Since then a lot has changed in the game and we rebuilt it nearly entirely which led to the decision to reintegrate the experience / level system in order to have a clear progression for the player.

There is another reason why we think that a level system is a great addition to the game. In the last blogpost I talked about runes. We decided that runes will be rewarded the player when the player reaches specific levels thus we have full control over when we give the player these runes.

Level System UI integration in Idle Knight Legends.

Besides using the level as a measurement when to reward the player with runes we will use the level in the highscore list, too. Before adding exp we used the accumulated prestige points in the highscore to rank players. We think that using the level is more easy to understand.

Experience Points can be rewarded from different kinds of gameplay actions such as opening a reward chest, using prestige or from other rewards.

From an implementation side of things it was pretty easy to re-implement the level system since I just had to remove the obsolete attribute and re-add the function calls in the subsystems. There is still some work todo with new systems we added, but this is nothing more than adding something along these lines:

Observer.Trigger(CommandType.Player_GiveExp, 12.0f);
An icon that is used to show the player that he received exp.

There now is still some UI work todo such as adding the icon in the screenshot shown above and adding animations.