I've seen quite a few complaints about how there's no rewind feature on the battle recorder's playback. After finally being able to play with some .demo files, I figured out why and thought I would share my insight:
It seems to me that unlike most recorders the BF2 BR doesn't simply record position, facing, and velosity. Rather, it stores all client commands and re-feeds them to a fully running local instance of the game. More simply stated: It remembers what everyone did by feeding the same information that it got from all players during the game and re-runs it.
This means that it's no simple task to rewind. It would require a WHOLE LOT of number crunching to go back since inverting those commands would require some very complex and specialized math. I doubt it could be done in a way that would be rock solid either. If you know anything about degradation of computation, it's obvious that it would be next to impossible to be able to rewind without introducing variance.
Again, to put it in more simple terms; The math involved in rewinding is so complex that you would find that the playback would be all messed up after rewinding. You'd get slight distortion in events that would build up to dramatic errors in playback. All it would take is one bullet missing when it originally hit and your demo would be futzed (someone didn't die when they should have, now he's still alive but getting information from a client that had respawned).
However, after some thought, I think I've come up with a possible solution that would help the movie making crowed out (Are ya listening Dice? NM, I'll e-mail this ta ya later
).
As an option in the playback, you could set "flash points". Basicly you would save all locations, states, facings, and volocities of everything in the game at the current point of the demo. You would also need to save exactly what point in the client information steam you are curently at. This would allow you to go back to that specific point by realoading the level and all the saved information.
Yeah, it's a hack, but it could be made to work.
Anyway, now that you know that the problems involved are, let's not hear anymore "Just make the battle recorder rewind" or "Dice suckes because they can't rewind a demo" complaining, a'ight?
It seems to me that unlike most recorders the BF2 BR doesn't simply record position, facing, and velosity. Rather, it stores all client commands and re-feeds them to a fully running local instance of the game. More simply stated: It remembers what everyone did by feeding the same information that it got from all players during the game and re-runs it.
This means that it's no simple task to rewind. It would require a WHOLE LOT of number crunching to go back since inverting those commands would require some very complex and specialized math. I doubt it could be done in a way that would be rock solid either. If you know anything about degradation of computation, it's obvious that it would be next to impossible to be able to rewind without introducing variance.
Again, to put it in more simple terms; The math involved in rewinding is so complex that you would find that the playback would be all messed up after rewinding. You'd get slight distortion in events that would build up to dramatic errors in playback. All it would take is one bullet missing when it originally hit and your demo would be futzed (someone didn't die when they should have, now he's still alive but getting information from a client that had respawned).
However, after some thought, I think I've come up with a possible solution that would help the movie making crowed out (Are ya listening Dice? NM, I'll e-mail this ta ya later
).As an option in the playback, you could set "flash points". Basicly you would save all locations, states, facings, and volocities of everything in the game at the current point of the demo. You would also need to save exactly what point in the client information steam you are curently at. This would allow you to go back to that specific point by realoading the level and all the saved information.
Yeah, it's a hack, but it could be made to work.
Anyway, now that you know that the problems involved are, let's not hear anymore "Just make the battle recorder rewind" or "Dice suckes because they can't rewind a demo" complaining, a'ight?
Comment