Updates

Expanding The Arsenal / Dev Diary #2

In this article, Deer covers updates regarding optimization efforts happening in Bushi!
Jan 6, 2025 12:28 AM

Cutting To The Chase

The Deer is here, checking in once again to inform you all about the new gameplay and technical changes coming to Bushi. Not only are we introducing PvE content, but we also wanted to refine the core elements of Bushi to serve as a good foundation. We’ve done this by rewriting large portions of the networking, hit detection, and movement code to be more consistent, fast, and seamless during online play. There have also been massive design changes around combat with an overhaul to melee, the addition of an ammo system, and the creation of new items to use in battle. With all of these adjustments, we are hoping that Bushi will better offer a fast-paced arena experience.

The Latent Issues of Latency

Ping is always annoying to deal with no matter how low you may reduce the delay. Sadly there is a speed limit to online communications (thanks physics), thus we must get a bit creative. The most intuitive way is to allow the copy of the game on your computer (i.e. the Client) to predict interactions while the data is sent to the host’s computer (i.e. the Server) to be verified. If the Server detects a mismatch or an incorrect result from the Client, it will send a correction to the Client which is known as rollback. Rollback is often experienced when you “rubber-band” to a previous position, or when you are hit behind cover in a game. The best way to imagine it is to pretend that you and a friend are playing rock, paper, scissors but are in different rooms. You both choose an option of the three choices at the same time. To keep the game moving though, you play several rounds without knowing the outcome. Finally, you then meet together with your friend with a record of what choices you made during the rounds and then determine the outcome from there.

Thankfully, Bushi had already implemented this technique across portions of its code. However there were several interactions that relied on more traditional delay based techniques which would introduce input lag and desync. Massive revisions have been made to these in order to create the most responsive experience possible even with high ping/latency. Bushi is now able to predict most actions ahead of time with minimal rollback. In addition, all of these networked states and actions are now Server-sided. This means that online interactions will be more accurate to what is actually occurring, and cheating/hacking will be much more difficult. There are also numerous other changes that have been made that I won’t bore you with the details, but you can expect Bushi’s online play to be improved overall.

Dude, Where’s My Quiver?

Ranged combat has received a small nerf in the form of a new system, ammo! You will now spawn with limited arrows. If you want more, you’ll have to scavenge dead enemies or respawning pickups from around the map. To help compensate for this new mechanic, fully charged arrows now bounce off of terrain and the slow applied from arrow damage is more aggressive. Hit detection with all projectile weapons should be more reliable now as well.

Shiny New Toys

New items have arrived and will spawn in set locations around the map. Instant ammo and health refills will be scattered about, whereas major item pickups will be located at hotspots closer towards the center. These items include the reworked Healing Gourd and the brand-new Grappling Hook, to name a few. At the heart of each arena will be a coveted item such as the Lightning Spear, a powerful thrown weapon that rivals the bow.

A Sharpened Sword

Melee combat is a large part of Bushi’s identity, but it was severely hindered by technical and design issues. The input and networking code have been rewritten for melee to allow players to execute combos easily and with precision. On top of that, all forms of melee hit detection have been reworked to be more accurate to the arc of the weapon’s swing. In terms of mechanical changes, melee is now generally faster and will provide more controlled movement. In addition, melee attacks can now be performed in almost every movement state such as wall-running. Dash attacks have also benefited from these changes, and they will now function more smoothly for Clients.

The Parry ability has also received some tweaks. Parrying now has a slight startup before becoming active. For the most part this won’t be noticeable, but this will help discourage players from playing passively with a more reactionary playstyle. To compensate for this, the active frames of the parry have been adjusted. Parrying will also extend your character’s hitbox so that melee and projectile attacks are more consistently reflected/redirected, as parrying could sometimes cause you to dip below an attack. The recovery has been increased as well, but you can still cancel it early by performing a dodge.

A Quick Farewell

From our internal testing, we have already seen that these changes allow for a much smoother and dynamic experience. Even with all these in mind, we’re still not done as we are in the process of developing other features and improvements. Although I can’t show them off yet, some features that are currently functional or near completion include a new “Social Wheel” that allows for binding up to eight different emotes/sprays, an overhaul to the Armory system to allow filtering options and loadout selections, and a revive system for elimination based game modes so you can bring your allies back into the fight. We’re excited to show more later, and to get this game update in everyone’s hands as soon as possible. Stay tuned for more, Deer signing off.