Land of the Rair Dev Blog #36 - Performance+ Edition

Sep 20, 2024 • Seiyria

Hey everyone! It’s been a few weeks. I don’t think I’m going to post updates weekly, but rather when I get a solid batch of work done. This past batch of work was a few bugfixes and a load of performance improvements - hopefully significant ones! Plus some ModKit work, as always.

Performance Improvements

Probably the most exciting for me, but the least exciting for you: I’ve put in a fair bit of effort to try to improve performance. There were a lot of superfluous updates being sent to clients, oftentimes completely useless updates. These situations got out of hand and amplified in certain maps, like Frostlands, around the brigands. So, this should hopefully be massively improved!

Modkit Improvements

Previously, I had shared about the ModKit being totally rewritten, as well as being hosted for public consumption on https://data.rair.land. Today, you can also view specific things when viewing the modkit. This makes it much easier to share information with other people. For example, I’ve added a new report that allows me to check what the maximum resistance a player could have at a given level looks like, and you can find that report here: https://data.rair.land/?sub=analyze&report=Resistance%20Acquisition

Note: this report does not factor in gems or hand-held items. It’s a solid enough baseline to work off of!

The ModKit will now auto-update, too, if you download the newest version. Given how many small fixes I push to this, this helps quite a bit.

Balance Changes

The entire game has been rebalanced once again. Previously, NPC damage was low-to-nonexistent, except in some very extreme cases. The system previously scaled damageFactor based on the creatures CR, anywhere from -95% to +100% damage from a -10 to +10 CR. This ended up poorly in post-20 content as everything was essentially scaled down to CR -9 or -10 because they did too much damage. New steps have been taken to fix this:

  • CR will now scale stats like offense, defense, armorClass, and loosely damageFactor (-50% to +50% damage)
  • nearly every creature in the game now has a CR of 0, pending balance changes
  • NPCs now have their own unique weapon damage scaling tiers separate from player weapon damage scaling, based on the max HP at a given level for a player
  • NPCs now have their magic damage scaled much more precisely uniquely where applicable - this means their stats and skill levels will vary quite a bit
  • healer NPCs that use DoTs will spend less time using Afflict, and more time using HolyFire, as the DoT damage is absolutely off the charts

Depths of Madness

Nevyn has been helping me pretty signficantly in this regard. We’re tag-teaming this to try to get it done much better than I could do by myself.

Other Fixes & Features

  • you can no longer delete your only active macro bar
  • NPCs can no longer spawn with a ranged weapon in their main hand and non-ammo in their offhand
  • arcanist improvements
  • content validation added for RNG dungeon config, as there were some invalid traits and items in that config file
  • added a new encounter in Risan Mines, somewhere!
  • keys no longer break in the wrong lock, they lose 5000 durability
  • you can now look <dir> at a door to examine the type of key needed for the lock. looking at an interactable in general will give you information about it, too
  • aoe spells work when targetting self again
  • NPCs can now use aoe spells correctly again
  • nicer tooltips for every in game effect, using a spaced name instead of being squished together
  • fixed succor
  • fixed transmute
  • healer succor now gives more than 1oz of succor
  • fixed warrior shield tooltip not showing the potency in the tooltip
  • fixed spellshield targetting
  • NPCs can now once again use thruststrike, blindstrike, multishot, and jumpkick
  • trade enable and you can now drag items onto players to trade them to them!
  • GM now has a @send command to send someone somewhere else
  • mages can once again spend gold on MP
  • avatar events now tell what creature and what map to make finding them easier
  • new prefixes for NPCs (trained - +1 all skills, expert - +2 all skills) - should add some more interesting variety to random creatures
  • hall of heroes NPCs can now hold items.
  • VFX now appears on a higher layer than before - it was previously under the water layer in the turtle dragon fight
  • much better error handling than previously

As always you can find the full changelog here.

What’s Coming Up?

I plan to add achievements. Should be a good amount of fun!

As always you can find the full roadmap here.

Until next time,

  • Seiyria