Development News #88 — The Art of Proper Weapon Simulation and the Road Forward





(Red nodes - are the sword blade’s primary damage nodes, Orange nodes - are the hilt of the sword and arm of the player) (Red nodes - are the sword blade’s primary damage nodes, Orange nodes - are the hilt of the sword and arm of the player)









Hey, Feudalists!As you may have read in patch notes, we’ve improved our hit detection system to an even better level than it was before. In today’s blog, we’d like to share more about how melee hit detection worked before and how it works now.Each weapon in the game has special nodes on them that represent different parts of the weapon and deal different types, and amounts, of damage. Each server tick we cast a ray (draw a line) between the current position of the node and its position in the past (previous tick). If a line crosses the hitbox of another player, horse, house, etc. - that means the weapon has scored a hit. During the weapon swing animation, a couple of simulation ticks happen so, we get the following information about that swing.During our last optimization patch, we tweaked the tick duration that inadvertently affected the weapon’s node impact simulation too. Thus, the precision of the resulting trajectory of the weapon nodes in some cases suffered from the animation improvements.The solution to this problem was rather simple in theory but was much harder to implement in practice. We had to simulate weapon swinging animation ticks multiple times while leaving the global tick intact. But the good news is, it worked, and as you can see, the trajectories are much more accurate now.We also wanted to share with you that the dust is starting to settle from the early access rush. This means that we can focus with more precision on bug fixes and optimizations while maintaining forward progress from a gameplay perspective. You can expect some major updatessoon™.Stay tuned for more news!– The team