Download

Best Way to Record Real-Time Footage

Hey there, I’ve been over several post from the answer-hub and forums, and I’ve found that you can record AVI footage with Matinee.

We have a fighting game however, and I want to give the option for players to record their matches. What is the best, and preferably most lightweight way, to let them record their match?

All depends if your game is deterministic or with random element.
Well even for random element if you use random stream with seed you should get same “Random” results for same seed.

I would try first to record very accurately input from player, or maybe not input but triggered actions and their timestamps.
This should work, you just need to code it in game from beginning.

So you need to make “middle man” blueprint that hooks to same event dispatchers as your animation and actions in game.
Then play it and hope its accurate replay.

Well, are you familiar with Call of Duty games? If you are, you may know of the ability to switch to theater mode and replay games. The reason it is able to do this so quickly without reloading a file is that it doesn’t actually record into a video format. It basically keeps a log of all player locations, who’s shooting, who’s dead, etc… And essentially ‘plays’ the game over again with the same variables, but just disables user input. What you could do is make an array for each player, and each frame, set the array element to their location, and bone locations, or even just what move they made, etc… Then when you want to have them watch it, just use that same array that you recorded to, and set the locations to whatever that frame’s index is. Recording to an AVI also seems like it would be rather expensive for a player with a less capable CPU/GPU combo.

I had a feeling it was something like this. We thought being able to record the matches would make QA allot easier. If there is a bug, they would be able to play it back. I will look into this option, though a direct out to H.26 would be awesome as well.

I know there is a feature coming out in 4.8 which will do something around recording details for a set amount of time but they haven’t spoken too much about what it is and I haven’t looked at it’s capabilities yet but could be worth your time to check out their twitch stream and the preview build of 4.8

We are eagerly awaiting the 4.8 release, as we hope it will iron out some of the inconsistencies in PIE. I will look into that. Thanks for the tip.