Improve "record"

Issue #33 new
created an issue

Copied from bug number 12 in old bug database.

grelminar: This is a catch-all bug for improvements to the "record" module. Notes copied from my TODO file:

consider using dedicated arenas for playback, in order to solve some problems with flags and balls saving and restoring their regular state. note that all problems still can't be solved with the arena packet hook, since flags have state on the client. balls would probably be set with the APH and dedicated arenas, though, except for score annoucements. ...

make chat pass arena messages to the chatmsg callback so recorder can get them. update: this will be harder than expected.

think about brickid problem. probably best to use custom event for bricks so they can go through game and entering people will see them correctly. hmm... if we want entering people to see things correctly, maybe flags have to go through flag too.

think about timing accuacy issues with ppks and others.

Comments (5)

  1. Justin Schwartz

    Don't require using a dedicated arena for replay. One should be able to provide instant replay like Hockey/Football Zone does, which doesn't have any problems but does require a custom implementation. There should be a clean way to preserve the current state of the arena and players in the arena, run the playback, then restore the old state.

    Using some clever continuum tricking, you could erase bricks currently on the map, putting them back without resetting their timer is probably impossible. This should be acceptable as any arena using bricks probably won't be interrupting serious game play on purpose to run playback.

  2. numpf

    You should talk to stag shot, or I should get him here. He made massive changes to record to get it to work for powerball, and added a fastforward command.

  3. Justin Schwartz

    HZ has also made significant changes to record (kept as a separate module at this point) for powerballs, and minimal LVZ support. After talking with Stag it seems like an even better idea to just design a new module/infrastructure that truly can capture all events, with the capacity to filter out certain events or certain types of events (like nospec/nochat currently, but allow modules to pick their own filters as well.) asss as a whole should be modified a bit so this module could do its job better.

    After talking with doc a bit, I guess you could put bricks on the map that would actually go away at the end of the replay (or sooner if you desire.) So there's one obstacle (hah) out of the way.

    Does fast-forward = going to a future point, or speeding up? I hope it's the former, the former sounds like it'd work not so well with powerballs and other things. :p

  4. Log in to comment