As I prepare for demonstrations that have not been scheduled, there have been a lot of outstanding bugs and things to improve. So here’s this week’s efforts:
File system queue..ue?
I’ve been plagued by issues related to the asynchronous nature of cloud saving, and my half-solution was just not cutting it. The way file saving works on the current release version of SSDT is:
Executing game -> save file -> continue executing game
With cloud saving this gets more complex:
Exectuting game -> request file save -> continue executing game, not sure if/when the file actually saved
At some point in the unknown future: File save completed!
So my solution at the time when this was implemented was to put a “busy” flag on my storage class, and if things were busy, the code was supposed to be smart enough to just wait. It kinda worked, most of the time.
It was clear that a series of band-aids of this nature wouldn’t be reliable, so instead I altered the calls to my storage class so that all requests are put in a queue. That means there is a list of requests, and it doesn’t matter if the storage class is still waiting for one request to finish, it can just hold future requests in the queue until it’s ready.
Technically there could be multiple requests at once I guess? But the game was not designed that way. For example, there is code that has to execute after data is loaded, but before the next screen is shown. So I can’t just let everything run parallel, ie loading the data and showing the next screen at the same time. Luckily the file requests are fairly small, so queueing them up doesn’t take very long, and it seems to be working great!
With Fan Points, Coach Clip yappin’, and the post-match season stats, things got really busy fast! Especially when a new player unlock pops in on top of all that. So I moved the unlocks to show during scene transitions, which makes it a lot less busy:
Information for your eyebones
It’s always important to “eat your own dog food” and in my case I was doing so much testing with different Season Mode save slots, I sometimes forgot which was which. If I was confused, players probably could be confused as well. So I decided to write new routines for PC and Xbox to glean some minor data about the saves so you know what is the dealio.
Now you can see your team name, win loss records for the current season, and even which season it is, right on the button.
Sometimes I’m just testing some other thing and see something weird and broken that used to work fine, such as:
In season home games the arena type was showing as “random” but with no text, even though it was supposed to be your home arena, which right now is always Street. It worked in game, but not on screen.
Eventually I got it fixed, the match configuration and pulling the player team’s arena configuration were not lined up.
Other fixes include: end season match stat skipping fix, coach sprite glitch fix, adding lots more relevant and dynamic Sports Pages content, fixing last-second cancel game start edge case, adding more Sports Points awards for winning season and remaining undefeated, cut scene arena and player fixes, sprite font text typing bug fix, and adding new never before heard music to final season match! I’m very excited about that last one.