Progress
The major focuses this week have been optimization and reliability. We've been working to minimize rubberbanding and make it feel even more reliable than the alpha did. This sprint we really honed in on the previously mentioned networking adjustment and got that feeling the best it ever has, even on lower end machines.
We’ve updated the progress board to better show what stands between where we are currently and the release of the Combat Arena Beta. If you are a Kickstarter backer or if you’ve purchased a base package of the game, you can access the progress board by logging into your account on our website, clicking to “Account Inventory”, and then clicking “Open” on the “Exclusive Access to Progress Board“ item.
Here you’ll find the progress board. If you own a copy of the game or supported us on Kickstarter and you are unable to access the progress board, please contact support@skymill.com and we’ll help you out.
On this board, any cards that have been tagged with orange, yellow, or green tags are directly related to the Combat Arena Beta. For ease of up-keep, some of these cards actually represent several smaller cards behind the scenes. So while this isn’t an exhaustive list of every tiny individual card we’re working on day to day, it does paint a clear picture of what’s left. Once each of these cards has been completed the Beta will be ready to launch.
Keep in mind, different cards require different amounts of time and effort to complete. Some cards will move faster than others. You can click on each card to see a short description of its requirements.
Multiplayer Stability:
Work continues on reducing the size of our networked data. We’re now using smaller data types, removing data that does not need to be networked, and trimming some decimals down to the nearest hundredth or thousandth via quantization before networking them.
We’ve fixed how remote players fire ranged abilities and dash attacks on the server to reduce delay, make ability firing more reliable, and use less networked data.
Further improvements have been made to how our abilities and characters handle stagger and attack canceling. They now more reliably reset their state upon being staggered or canceled by a new attack. This means that abilities and characters will also be better at staying in sync on the client and server. This is important so that players on both sides of the multiplayer match are seeing the characters do the same actions. When things get out of sync, the server version of your character can get into a bugged state, causing you to feel like your inputs aren’t begin recognized and making other cascading issues more likely.
Adjustments were made to our server simulation rate and settings that allow the server to batch several updates into one if the server ever starts to fall behind. This helps the game run more reliably on lower end PCs when they are the host. To support these changes in our settings, we have had to make improvements to our input handling and ability firing, but we are confident that the new adjustments will result in better stability and performance.
Several improvements have been made to the visuals of the alpha arenas. Some distant terrain objects were placed way too close, and a few of the set pieces needed to be aligned with their new ground height. A few changes were also needed for the terrain outside the arenas. There’s still a small amount of work to be done here, but these are all nearly ready now.
Bug Fixes:
Screenshake was not applying in multiplayer.
Some abilities were not always showing their VFX.
Some abilities had their ground impact VFX showing high above the ground.
Quicksand wasn't preventing jumping and dodging.
Righteous Light couldn't be aimed by the remote player. The server was not picking up the remote player's aim inputs to aim the beam on the server.
Homing blast was not correctly setting a homing target when firing as the remote player, causing the projectile to fly in weird directions.
The Fear status was not working correctly with the remote player. The character would become stuck in place for several seconds before suddenly being flung wildly in the direction they were intended to be Feared toward.
Abilities were not resetting their cooldowns and charges between PvP rounds.
Escape Draft was locking up the user after being used for a second time. Also, this ability had too much delay after receiving a swap input. It now allows for instant character swapping after it has been fired, increasing its potential for quick getaways and combos.
LEXICON
The full lexicon can be found here.
Host: (In P2P multiplayer) The player whose device manages the game world and sends data to the other player, making sure everyone is in sync.
Input: Any button press, mouse click, etc. that a player does to tell the game what to do.
Local Client: The player who is experiencing the gameplay with their own inputs (ex. controlling a character with keyboard presses). When you are playing the game, you would consider yourself the local client.
Networking: The process of sending data between machines so that people playing a multiplayer game together experience the same things at the same time.
NPC: A non-player character.
Optimization: Making the code run more efficiently, so it takes less processing power to achieve the same effect.
Quantization: The process of matching a large number (like an infinitely repeating decimal) to something more manageable.
Remote Client: Any player whose data is being networked across the server to simulate a character's actions. When you are playing, you would consider this to be anyone you’re playing with who’s on a different machine.
Sprint: A two week period used for organization. Our newsletters are released on the last day of our sprint.
Thanks for stopping by! We’ll see you for our next newsletter on September 20.