A few days after Ultra was released on PC I noticed that the new replay system was incredibly broken when it came to saving and playing back replays of matches against the AI.
After I went to watch a replay of a match against the AI that I had just saved I quickly noticed that what I was watching was not the match I remembered playing. I re-watched the replay several times and became aware that it was different every time, despite my inputs being identical every time I watched it. This made for some interesting speculations. For it seemed that the most logical explanation is that Ultra’s replay system simply records all player inputs and plays them back when you choose to view the replay, which makes sense in terms of amount of data stored/efficiency. However, it is obvious that the game isn’t storing the AI’s inputs in the same way it stores the player’s.
The game doesn’t actually look as though it stores the AI’s inputs at all, but rather puts your saved inputs against a fresh AI every time the replay is played back. This would explain why the player’s inputs are identical every time, but the AI’s change in every re-run of the replay. This can make for some drastic differences in terms of the match outcome: where entire rounds will play out with the wrong character winning and then suddenly being fixed by the saved match data when the replay plays the next round. As you can see in the analysis at around 0:55, the AI wins the first round by beating my character because my input stream has run out, but as soon as the next round loads it appears to show that I perfected the AI in the first round [which is what happened in the original match].
With rounds being won by the wrong person the replay can quickly end up showing 3 whole rounds, even if the player won the match in two rounds straight [which is what I did in the original match]. It always seems to correct the first round in the match in accordance with the match data, but if the AI wins the second match then the replay will show a third and final round even if that round never actually happened in the original match. When this happens the player obviously doesn’t have any recorded inputs for this round [as it never existed originally] and so the game just plays the inputs from the previous round again. This can completely ruin the replay because if you originally won the match in round 2 with a super [like I was supposed to do in the second round] it might not actually land due to the AI acting differently, so then in the 3rd round you will most likely not have enough meter to perform another super and thus lose the entire match. So ultimately the winner becomes the AI even if the match data has you recorded as the winner.
I released this video only about a week after I got Ultra [11th of August], but did not think to make a forum post about it. As I’m sure everyone is affected by this problem [unless my game is particularly strange] it seems like a good idea to try and spread the word as much as possible. This problem should definitely be fixed as replays against the AI can sometimes be just as entertaining as player replays.
Hopefully this video will highlight another one of the many important things that need to be fixed in Ultra, but I think it may also teach us more about how the game works fundamentally in terms of storing and playing back input data and match data.