Again, thank you all very much for the feedback on last weeks development blog.
We really do appreciate any thoughts from the community, and hope to continue to receive your input.
This weeks development blog is going a bit more in depth than usual, seeing as we have mostly been working on some technical parts of the ToB and other new additions.
But before we begin, first the same disclaimer as last week: the content highlighted in these blogs might not end up in the game.
They are a direct reflection of what we as developers are working on, although these might not be in line with what Rapsey and Mike think is good for the game.
After all, they get to decide which features end up in the game and which will not.
This (hopefully) will not always be the case though, and we aim to develop content that is in line with their vision.
Theatre of Blood: The Maiden of Sugadinti
I am proud to announce that work on The Maiden of Sugadinti is done.
One of the problems we have been facing with the Blood Spawns (which was the remaining part of the boss), was that our pathing is quite different from OSRS’.
For those unfamiliar with how the Blood Spawns work; there is a chance of the Maiden throwing blood towards all the players.
This blood has a chance of turning into a Blood Spawn npc, which wanders around the arena and leaves a trail of blood behind.
Standing on this trail of blood will damage you. You’re able to freeze and kill these spawns to prevent your arena from being completely covered in blood.
However, the problem arises when trying to make the Blood Spawns randomly wander around the arena.
Our current ‘random walk’ for an NPC is basically just choosing a random direction to move towards, every X ticks.
This results in a criss-cross of steps, not really moving around the arena, but just moving around the spawn tile, with a small chance of wandering a bit further off.
For this we wanted some more player-like walking: determining a tile, walking there, and choosing a new tile when arriving.
This would leave a trail that would actually be more spread out over the arena, than just in and around a tile.
However, that being said, we underestimated how complicated this solution would be.
Several aspects came to light, like collision, player-pathing and determining when to choose which tiles.
Eventually we managed to develop a working solution, tackling all the problems we faced.
And here we are now, finishing the first of the 6 bosses of the ToB.
We are able to say that developing this boss has given us more insight in how Npcs work, and how to develop more advanced bosses.
Atleast, I personally have learned a lot. Things I wish I knew back when developing Skotizo or the Lizardman Shaman.
So, next on the agenda: the Pestilent Bloat. With all things discovered while coding the Maiden, I can safely say that we are now more prepared to work out this boss.
We aim to finish it in the upcoming few weeks, so look forward to that!
Kill Count Log
Something suggested time and time again, are things like the Slayer Kill Log and the ingame killcount for bosses.
While it might look like a simple addition, the problem with this is the way our killcount is currently being stored.
To give you a simple explanation: instead of our killcount being stored with the player (where things like the items, experience and friends are stored), they are actually stored inside the Player Owned House.
Which makes perfect sense, seeing as our killcount is only accessible through opening a Mahogany Bookcase.
However, this blocks us from quickly showing your current KC like suggested.
This would require the server to load in a complete POH to just check the KC, and unload it directly afterwards.
This would be terrible for server performance, not to mention be ridiculous for just a chat-message.
To achieve something as suggested, would require us to heavily rewrite a lot of the existing code and completely change the way our kill count is being stored.
And so we did.
With this new system in place, the kill count is being stored with the player.
Which makes it so it can easily be displayed and updated whenever we want.
Not only that, but it’s designed to save a lot of storage space, by combining data and only saving information for Npcs that have been killed by the player.
Alongside that, tracking new Npcs will only require the addition of a single line of code for each Npc- which makes it more accessible to include new monsters (or even add in some of our slayer monsters).
To visualize the kill count, a book is obtainable from the Mahogany Bookcase in your Player Owned House, which shows all your current kill count when clicked on.
It’s possible for the player to sort the entries on this list by amount or alphabetically.
Also, you are able to hide all the npcs that do not have any KC (yet). This is how it looks:
Also, each of the lines are clickable and have their own settings.
It’s possible to enable or disable the chat-messages for each npc separately (and the bosses will be on by default).
So you can decide which npcs are of interest to you and which not so much.
We are also looking into the possibility of creating some sorts of (ingame) highscores, but that is not for certain.
The Npcs that are currently being tracked are:
The biggest problem now will be to format the existing KC to the new system.
Also, keep in mind that kill count for the Npcs that have not been tracked up till now will start from zero.
_________________________________
In other news
We have recently been discussing some aspects of rebalancing the ingame equipment.
Especially with the release of ToB, we really want to have a balanced spectrum of equipment before then.
Things like Nex armour, Chaotics, PvP equipment, Customs and even the Morph Ring might be tweaked in the upcoming feature.
We, however, do want to discuss this indepth with the community- to get input and take this into account.
And that’s all for today! If you have any questions, feedback or suggestions, let me know below.
I’d love to discuss ideas and input from you guys! Alternatively, feel free to shoot me a PM or a message through Discord.
Thanks, and have a wonderful day!