- April 12, 2016 at 7:11 pm #7080
In another thread there was talk about the ability to record everything, not just what is visible/hearable to one entity in the game. Valve has something like this called replays, initially for TF2 http://store.steampowered.com/news/5416/
I’ve found an informative video about it here
One of the source port branches (Descent->D1X->DXX->Retro) has something sort of similar with the observer mode, such as in this playlist
Though apparently while most events/items are recorded, some distant events might be left out, and there’s only ‘one take from a replay’.
Basically give the ability to fly a camera around freely in and outside of the map while playing a demo recording. Perhaps with the ability to latch onto any entity (player or robot) to see the action from its point of view (first person or third person mode.) As VR is an option, perhaps allow one to latch onto a player’s ship or onto a player’s head within that ship in the demo recording (when latched onto the ship perhaps have the ability to see where the pilot’s head is looking, or see if they’re head banging to some tunes!)
Being able to see everything that occurs in a game via a replay demo recording is pretty cool! Then from a ‘replay’ recording one can create various ‘takes’ from it to post on video sharing sites.April 12, 2016 at 7:54 pm #7083d3jakeKickstarter BackerTopics: 3
I would suspect that demo recording could keep track of all player/weapon/powerup locations, and infer any others, regardless of level size. With the size of harddrives, keeping track of the data (even for entire levels) would be trivial, compared to 1994 when hard drives were far smaller.
I think it would be great to have a demo->video generator to spit out un/compressed video.April 12, 2016 at 8:05 pm #7084
Both ‘replays’ and ‘takes from replays’ would both be basically databases of what was where and when. Alot of compression methods can be used to make replay files even smaller (and ya larger harddrives do help), such as record a powerup once rather than every frame as it doesn’t move, and note velocity of projectiles.
When converting ‘takes’ to video I’d use something like Nvidia’s ShadowPlay which is hardware accelerated and can record real time, works best using another dedicated hard drive. In that replay editor video it converted to video painfully slow, but that was before the likes of ShadowPlay hit the scene.
EDIT: a ‘take’ could simply be position,orientation,FOV of the camera at various times, and you’d use that and the ‘replay’ to determine what to display. A flying camera I think is more interesting than static cameras though.April 13, 2016 at 6:59 am #7091
Do most games today still feature demo recording?April 13, 2016 at 9:07 am #7092
No they don’t, not much point in having the past sort of demo recordings (which were basically just one take of a replay) with the advent of technology such as Nvidia’s ShadowPlay.
However replays that record all of the action on the map is a really cool new feature for 3D games, I believe TF2 was the first in 2011 (I think the original 1998 Starcraft had it, but that was 2D), allowing you to later see any action on the entire map afterward from any vantage point and any camera orientation. It could be used for single player and coop as well. The server records it then you later download it. Hmm, or perhaps as another option a replay could be streamed to the client, sort of an interactive movie you connect to.April 14, 2016 at 9:06 am #7121WingnutParticipantTopics: 2
i can see how as demo recording would have a certain utility to folks, like the benchmarking crowd, who benefit from being able to run a given game scene consistently. but i would agree that overall direct-to-video recording (fraps, obs/twitch, shadowplay) is more useful to more people more often.
come to think of it, aside from TF2, the last game i played with traditional demo recording would probably either have been starsiege tribes or quake3. the starwars x-wing series had a recording feature (oddly prone becoming desynchronized).
nothing on this side of the turn of the century at any rate (gotta love the late 90’s)
Wingnut: “GAHOOGAH!”April 14, 2016 at 9:33 am #7122
Perhaps the thread title was a mistake. The traditional demo recording only recorded events that are visible/hearable from one entity (client side.) What I’m suggesting is record all events on the entire map, and save that to a replay file (server side.) Then one can make any number of takes on that replay file, a take basically being a camera path for that replay. A take can then be rasterized to a video file if desired to share on sites such as YouTube.April 14, 2016 at 3:03 pm #7139
I was kind of hinting at maybe backtracking a bit and first confirming that demo recording would be an included feature.April 14, 2016 at 4:00 pm #7140MarleyMooParticipantTopics: 0
Recording is a pretty common feature in modern racing simulators (Project CARS, Assetto Corsa, iRacing…). They’re just called replays, and you can see anything from anywhere.
In single player games, it’s enough to just record 100% of the player inputs. The game engine should be able to play back everything, provided the game logic is deterministic and independent of frame rate. The old X-Wing games used this. That it sometimes went out of sync was because there were some buggy non-determinism in the game.
In multiplayer games, the server can record all the client packets. That would allow reconstructing everything. I believe the client side can also receive enough packets to reconstruct everything, but that depends on the client’s internet quality.
Funny anecdote: When LucasArts was making XvT, the multiplayer X-Wing game, they actually fixed all of the non-determinism in their engine, and just shared 100% of each player’s input stream for other players to play back.April 14, 2016 at 7:50 pm #7142
While deterministic is a great way to compress, it is dependent on everything reacting to input exactly the same way every time. Apparently Doom had such a system http://doomwiki.org/wiki/Demo Though Doom didn’t have truly random numbers, which helped.
I wouldn’t send over all of the events real time, rather just download them later as a replay file, like in TF2. For one it would be alot of unnecessary bandwidth. I’d like to see high precision 60fps ship data sent now that internet connections are many orders of magnitude faster than before. Imagine many players at the same time requesting all of the events real time, that’ll be too much! Also sending real time data about events you’re not supposed to be able to see from your point of view could open up the opportunity for cheating in competitive play.
Forget saving/loading games, that’s old skool! Instead if you’re unhappy about how the last few seconds have unfolded (damn those drillers!), just rewind time to any point you want, then play on and create a new future past that point on the replay file. No more ‘dang it, I didn’t save recently!’
Imagine sharing replays with others where not only can you move a camera freely throughout and see action anywhere on the map, but also have the ability to take over the controls of the ship at any point during the replay. Supporting ‘takeovers’ would be a bit more involved than ‘takes’ though, you’d have to make sure you track all game-states, such as robot health.
I wouldn’t expect anything this fancy to be on the first release, but it would be neat to have it on a stretch goal sometime in the future, assuming there’s enough interest in it of course.April 15, 2016 at 4:49 am #7152
No computer system has truly random numbers. The original Descent games also synched their PRNGs to hard coded seed values when certain events happened (eg. a ship exploded and dropped something) to ensure all players would see the same “random” outcomes.April 18, 2016 at 10:01 pm #7208Crazy9000Kickstarter BackerTopics: 0
The point of a demo recording isn’t to make it so you don’t have to run recording software. It’s so that you can make a video with different camera angles, and because they typically have little to no performance impact. It also lets someone looking to make a community compilation video take a bunch of easy to download .dem files from everyone, then record them all in something his editing software likes… instead of having them converted into a video file (to be sent by the person who did the gameplay), then converted again in to what he needs to edit, then again for the final product, making it low quality.
This video is a pretty good example. The demo file lets him do all sorts of effects, instead of just looking at what the player could see. It makes it a lot more entertaining. Not to mention a lot of CSS players play with low settings, and the demo file lets you crank them up to record.April 19, 2016 at 8:00 am #7227
Storing the action in a database form is not only more compact than keeping it in a rasterized form (video), but as you’ve mentioned you could then later rasterize it in any in way you wanted at a later time. You could take a demo file from the original Descent recorded in 1995 and rasterize them at the 3840×2160 year 2015 resolution instead of the 320×240 year 1995 resolution. One could also render it stereoscopically.
Rasterized form (video) also is stuck with one viewpoint. With a replay you can fully manipulate the camera’s position (to anywhere on the map), orientation, and FOV to create a take. Then the take can be rasterized for video sharing sites, or watched in the game as is.
Demo files in the past were simply takes, and the replay of all of the map’s activity was never saved, only snapshots of a replay were (saved games.) Memory constraints might have made recording replays impractical in the past, though using compression techniques it shouldn’t be a problem nowadays.
Forums are currently locked.
Previous Topic: Prepare for Descent Next Topic: Damn It…