Workshop.codes
Create

Replay System

Contents

  • Intro
  • Guide
    • 0. stuff you should know
      • 0.a) requirements to save recordings
      • 0.b) general tips
    • 1. add bots
    • 2. record
    • 3. edit recordings
    • 4. save/load/import/export
  • Footnotes
    • notes on features
    • notes on workshop
    • notes on determinism
    • notes on bot-player discrepancies
    • author note

Intro

Mode for lonely people to record and replay their actions. Feature list:

  • autosaves
  • importing and exporting
  • tick perfect recordings*
  • multiple bots
  • recording editing
  • 1,000,000 tick max length recordings (~ 4 hrs 30 min)**
  • timelines and data viewers
  • tooltips
  • adjustable replay and record settings
  • free pizza
  • more

* **check the notes section

Guide

0.a) Requirements to save recordings

If you are on console, you cannot save recordings. You can, however, save a match replay to watch back or film. If want to have a replay to film, after loading the code,

  1. Enable the mode in custom game settings that has the map you want to record on. Do not record on Skirmish, record on a main gamemode.
  2. Start the gamemode, make sure it isn't in waiting for players.
  3. After doing your recording, turn off show data before replaying to hide the bot facing and throttle indicators.
  4. Play the recording. Make sure you aren't in the shot; if you want to record using the match replay tools, make sure you aren't photobombing the recorded bots if you don't want yourself to be present.
  5. Play through the game; make sure the game ends naturally by one team's victory, or timeout if you want to wait that long...

If you want to save the recording to edit or load later, make sure that:

  • You are on PC
  • You have Python 3 and know how to run a python file
  • You have inspector logs to file on in your Overwatch settings
  • You can find the folder where workshop logs to files (somewhere around C:/users/<user>/documents/overwatch/Workshop/ by default)
  • Inspector logs are being logged while the mode is open. You can do this by loading into the mode, then checking if there is a file there that was created around the same time you started the gamemode that says something like \[00:00:00\] m MAP_NAME.
  • The lobby is invite only. People joining the game may override bots and cause trouble in the autosave. You can edit the saved file to see when trouble is caused and undo bot deletion due to a player joining.

0.b) General tips

  • If you need to hold to activate a menu item, it probably overwrites or deletes some data. The hold is there so you don't make a mistake.
  • Hold direction keys to change values/menu items faster
  • Check the tooltip on the left in orange for the current item
  • Account for input delay to recordings approximately equal to your ping or half your ping? i forget..
  • Set the record and replay speeds as you wish; you don't have to always record at 10% speed or playback at 100%
  • Perform undos by removing entries in the log savefile but make sure you know what you are doing if you want to do this.
  • Make sure to watch bot replays after recording & often; they may not match up exactly (not my fault, probably?)
  • Make sure every bot uses deterministic abilities in records, or randomized abilities that dont matter (see notes for more info)
  • Have fun. Playing Overwatch. Somehow. or not

1. Add Bots

Open the menu by holding interact (usually f on PC). Add some bots with the menu with the add bot menu options. Swap through the bots by moving to the bot menu value and going left or right. Change the selected bot's hero with change bot hero.

2. Record

Use the tp bot here option to place a bot where you are standing. Use record from current position to start a fresh recording. This option will overwrite the bot's previous recording, so beware. Perform some actions. Hold interact and reload to stop the recording. If you don't want slomo, change the record speed at the bottom of the menu. Use the replay option to replay the recording.

3. Edit Recordings

Watch the recording to the frame you want to edit from. You can see the frame in the texts on the right side (make sure show data is on). If you want slomo in replay, change the replay speed at the bottom of the menu. You can get the replay to slomo after some number of frames by changing the selected frame and selecting replay at frame. You can use the timeline and show button data to get a better idea of what is happening when.

Move the selected frame to that frame by going down to it in the menu and pressing/holding left or right to go to the frame you want to edit from. Activate the record from frame option. The recording will then replay to that given frame and slow it down just before. You can hold any button from before the point where the recording starts to get the bot to immediately press the button or to continue holding it.

4. Save/Load/Import/Export (optional)

Make sure you have Python 3 installed. If you don't have it, go look up how to get it. Go to the listed github page. Clone the repo (download it). Run chunkTASData.py with Python 3. Paste in the latest log file in your logs folder (rummage around, default is like C:/users/user/Overwatch/Workshop/). Copy the output. Probably want to use piping to make it easier (look it up idk).

To load, load this mode to a lobby. Paste the output at the end. Change the map to the map the recording was made on (if you don't know, just start the match and it'll tell you if tis wrong). Start the match. Your recording should be there.

Remember to enable inspector logs to file in your settings for savefile before starting the gamemode. Use that github, convert and paste back.
https://github.com/SpadeInTheDirt/OW-TAS-savefile-converter

Footnotes

just nerd shit here, go away if you dont care

notes on features

*for some reason beyond me, records will sometimes just not be the same as the replay by miniscule amounts which can throw the whole replay off from the recording. replays are consistent from replay to replay though, so if you want a recording, rerecord over the inconsistency.

**super long (idk how long tbh) recordings with alot of activity can cause heavy load, which may cause the lobby to crash. loading the save back may not be possible at this point, depends on how much you were moving around and shaking your camera during recordings. watch the server load in the hud and watch your network connection when running actions to see if gamemode is about to explode. If server load is just sitting at 255 and you are losing a ton of packets you might want to consider wrapping up.

notes on ow workshop being a %@$!#%@

For some reason, spawning a bot in their team's spawn room will make them just not pick a hero. You can't teleport them in this state nor change their hero. You have to force their hero to get them to exist, credit to PharingWell for letting me know.

For some reason, D.Va loses gravity and goes invisible when she uses her ult after I swap her hero back and forth in some time interval or something I can't be bothered to figure out. So all bots swap their hero to another one and back at the beginning of the replay to reset all the deployables, structures, statuses, ability charges, whatever, everything, except D.Va because I can't be bothered to be Blizzard's free QA slave.

notes on determinism

An ability is deterministic if it does the same thing every time you use it; it has no random elements. For example, Doomfist's slam (however bug ridden it may be) will do the same thing over and over again if the same actions are repeated exactly. Tracer pistols, shotguns, wrecking ball mines are examples of abilities with random elements - inddeterministic. Here are some possible sources of indeterminism in Overwatch. It is (probably) not complete, (possibly) not accurate and/or (definitely) not up to date.

  • mei wall
  • ashe hipfire
  • bastion assault form?
  • cass fan the hammer
  • orisa gun?
  • pharah barrage (i think this might be set actually)?
  • reaper ult? (who knows)
  • sojourn m1
  • sombra m1
  • tracer m1
  • widow m1
  • ball m1
  • ball mines
  • map objects, ex railings, boxes, volskaya platforms, busan walls
  • shotugns
  • mei m1 ?? (do the particles go in spread? idk)
  • zarya grav forces
  • wifeleaver thorn volley (wep2/m2?)

You may not think Mei wall is randomized, but it isn't. Mei wall consists of several pillars. Every pillar is rotated a random amount when wall is used (presumably to not make the wall look the same each time). If their colliders were perfect cyllinders, Mei's wall would be deterministic, but they are actually prisms. This means they will have ever so slightly random variations, so the wall has a slightly different shape every time Mei uses it, enough to significantly throw off any other recording if a bot interacts with or touches it. This matters (from my painful exerience) if you want accurate recording after Mei uses her wall.

notes on disparities between bots and players

Bots are controlled with Workshop. This means they can do impossible things sometimes, like flipping 180 while in the wind-up for Reinhardt charges or doing Doomfist turn punches at angles past 90 degrees.

However, bots are controlled with Workshop, meaning they are controlled on a server tick by server tick basis. This means they cannot do some things players can do, such as subtick movement. This includes Genji triple jumps (before they were patched) and (i think??) ghost dashes. Since players have sub-server tick movement, bots record in this gamemode by shadowing your inputs tick by tick with you attached to them like a full scale puppeteer.

This is why there is such a long input lag while recording; that is due to the time it takes for your client to send inputs to the server for workshop to pick up. This delay should be like half your ping i think. If the mode didn't do this, recordings would be completely different from replays.

author note

so yeaj this is my magnum opus or something. i probably wont support it unless its majorly required ie. critical bugs that many people care about/depend on; literally noone uses this mode and it works fine enough ergo no support. this is also probably my last mode cause i uninstalled ow cause it stinks like P.U!!1!! feel free to smoke marlboro cigarette sponsored by exxon-mobil

i might as well just channel the useless energy i spent on these modes that noone cares about beyond their mere existence into something else. why would i make a crap mode like this that 5 people see when i could make a shit website that 3 people will see (me and idk some crap hiring manager and my mom).

idk do whatever the hell you want license ~~feel free to smoke camel cigarette sponsored by lockheed-martin~~
feel free to use in anything, videos, pictures, audio podcast, cake, wedding, funeral, etc. just credit and link please

Players | 1 - 1
Categories: Tools
Heroes: D.va, Doomfist, Junker Queen, Mauga, Orisa, and 34 more...
Created at:
Last updated:
Current version: 2.1.1

Controls

Interact
Hold to open/press to close menu
Interact + Reload
Stop activity (stop replay, stop record, etc)
Jump
Hold/press to run menu item
Forward/Back
Change menu items
Left/Right
Change values
Hold to open/press to close menu
+
Stop activity (stop replay, stop record, etc)
Hold/press to run menu item
Forward/Back
Change menu items
Left/Right
Change values
Hold to open/press to close menu
+
Stop activity (stop replay, stop record, etc)
Hold/press to run menu item
Forward/Back
Change menu items
Left/Right
Change values
Hold to open/press to close menu
+
Stop activity (stop replay, stop record, etc)
Hold/press to run menu item
Forward/Back
Change menu items
Left/Right
Change values
Hold to open/press to close menu
+
Stop activity (stop replay, stop record, etc)
Hold/press to run menu item
Forward/Back
Change menu items
Left/Right
Change values

Snippet

Loading...

Users Also Like

Similar Codes

Workshop.codes
Join the Workshop.codes Discord