Paragon replay system

Hello,

For my game I want sonething similar to Paragon’s replay system. I know this can be achieved using sequencer within the editor. But I have found no documentation nor tutorials about doing such thing on runtime.

Anyone have any ideas? Because I couldn’t find anything about this.

can i know what specific thing you are talking about? Paragon Guide - Replay System - YouTube

The whole thing basically. Being able replay a match, follow different players and even flycam(although that bit shouldn’t be hard). Literally re-enact what was done. Events fired, variables changed etc. I want to rewatch it from different angles, slow it down and speed it up etc. Ideally I’d be able to record and dump it to a video file but I’m fine with Shadowplay for now.

Any ideas?

Rama has done something like that. It requires a modified net driver afaik. It just captures all the network traffic and then replays it. You need to do this on your dedicated server tho, because clients may have lag.

It’s called network replay. You will have to call the StartRecordingReplay function from the GameInstance class to start recording gameplay. You could also set bHandleDedicatedServerReplays to true in your gamemode class to automatically record gameplay when the match starts.

Thanks! Are there any tutorials on how to save the recordings and replay them?

@Rama had a system that did something like this if I recall correctly.

Hi there!

Here are the various console commands you can use, my own notes take over several engine versions.

I reported a crash that Epic has now fixed in 4.12 that prevent ability to play a recording via Execute Console Command in BP.

So you should be able to run all these console commands, either via console or via ExecuteConsoleCommand BP node.

Enjoooy!

:heart:

Rama



Demo Console Commands

DemoPlay <filename>
DemoRec <filename>
DemoStop

4.12

 Added "demo.minrecordhz" cvar to set a floor on replay recording rate per actor.

~~~

4.111

New: Added the following console commands related to replays:

demoscrub : jumps to the given time in seconds in the replay

demospeed : sets the playback speed for the replay. As an example, demospeed 1.5 sets the speed of the replay to 1.5 times the normal speed.

demopause: pauses the replay if it is paused, or unpauses if it is already paused.

~~~

Check out DemoNetDriver.cpp for more info!

//Override time dilation during demo playback (-1 = don't override)
demo.TimeDilation <float>

//Skip fixed amount of network replay time (in seconds)
demo.SkipTime <float>

//jump to a particular time
demo.GoToTimeInSeconds <float>

//Number of demo frames recorded per second
demo.RecordHz <float> 			(default is 10)


Wow that was quick. Thanks for sharing! =)