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.

IKL – Polishing & Runes

Today there isn’t alot of new things that got into Idle Knight Legends, but I did something that is equally as important – polish. What do I mean with polish? For me polish can be everything from adding new finished graphics assets, add effects / animations to convey better feedback to the player or adjusting the way how it feels to press a button, scroll a list and so on.

Giving the game that extra touch and statisfaction the player can make the difference how the game feels at the end. Polishing can be a bit boring from time to time since adjusting values over and over again till you found the sweet spot can be very mundane.

Today I received some more final graphics that added a bit more of eye candy to the existing user interface. Furthermore I had to restructure the rune window. This window shows all available runes the player collected showing I mostly revamped a window that displays all available runes to the player. To make it more statisfying to open the window I added an existing slide up animation when opening the window (I’m not yet statisfied and might revisit later). Since the style of the window changed a bit I had to resize some of the window elements.

As you can see there is still some polish todo for example translation strings to be added and some other placements, icons to add. These runes aren’t the final ones and thus are missing information about what they do.