Newsletter 08/01/2022
Rollback Netcode
Jon and Corey started out our test for netcode, we really wanted to set up rollback. If you don’t know what rollback netcode is, it’s a system that allows playing the game to feel instant regardless of your opponent’s connection.
It simulates on both machines what should happen based on controller/keyboard inputs (both locally and those that are sent over the network). It does this by predicting the opponent’s inputs and reverting and simulating the whole game state (positions of every object, physics calculations, etc.) if the inputs that are received don’t match the prediction.
To set up rollback, everything needs to be deterministic meaning values have to be 100% accurate if given the same inputs. Unity’s native physics system does not support this, meaning we had to code a whole separate physics system, have our own way of dealing with position data, and a whole slew of other things that I won’t get into for the sake of time.
All of this is to say we’ve had some tests within our rollback system that show that we are on the right path! We still run into some desyncs now and again that we are in the process of debugging, but it should allow for a very smooth online experience once you all are able to get your hands on it!
I’ll include a link to a short playtest below so you can see it in action, we currently only are using 2 attacks and basic movement just to test the system with hitboxes and hurtboxes. That's also why you’ll see yellow and red bubbles on the characters. In our next newsletter, we’ll go over a bit of how our Fighter Editor works!
Please note this is a work in progress development build and thus has programer art, art made by programmers for testing purposes only inside of it.
Progress
-
The past two months have been focused on the finalization of the vertical slice, and gearing up for our Combat Alpha.
-
Jon worked on a ton of updates to the rollback netcode system along with Corey. Has cleaned up the Bond Up UI and the Activity UI to help enhance the game feel for players when bonding with Mythren and doing activities in the game. He’s also fixed a few leftover bugs in the VS build for Zone 1. He created the start of a UI Animation Library, where you can have a bunch of different parameters that can be set up within it for procedural animation in UI rather than using Unity’s animator.
-
Corey has fixed gameobject lifecycle for rollback (objects that should be created/destroyed during rollback aren't handled correctly). To do so, he worked on setting up an object Pooling System, setting up a system for "Instantiation" of new game objects. Set up a position data queue to detect desyncs in the rollback system, and has been working to help navigate network issues while playing the game online.
-
Drake created Gracoon Slash Effects for Jab 1 and Created Concept References for Kaiya’s Dialog Portraits.
-
Hallie researched JIRA and helped move our project management from Click up to JIRA
-
Javon has been adjusting the worldbuilding document for Yuuke Tahn
-
Ice has been working on Calendar & Page Turn Sound effects
-
Aidan worked on finalizing the Sliding System Updates, he switched contents to all use values. He fixed the movement debug tools, all of them assumed that gravity was a constant throughout the whole arch and we had Kaiya and Gracoon not appearing where they should have been.
Aidan has also been working on a system for Scouting Mythren. Mythren will have passive skills- some you will be able to ride, some you will be able to glide, etc. Scouting is a skill that allows Mythren to find random items. Currently, his main focus is finalizing the last details of the scouting system.
-
Rob worked on Raddapus combat jab sequence, and creating the transition from the combat idle pose that goes into the attack
- Zane worked on multiple design documents to start scaling up the game past the vertical slice build. This includes updates to game design for our Home Island including all minigames, Wild Isle Level Designs and Gameplay Systems, and a start to our City’s Level Design consideration.
Community
Eternal Exodus: Monster Taming JRPG with crafting and fusion
Pokemon-like gameplay meets Final Fantasy-like story/worldbuilding. Catch demons to survive in the afterlife. http://kck.st/3ckJmtR