I've wanted demo servers for years now, and now that we have a brand new game that's essentially a small part of Defrag made into its own game, maybe I can revisit and improve upon this almost necessary feature.
Basically, a demo server is a server dedicated to playing back demos. The person who has access to the server console would issue the command, "demo demoname", and the demo would start playing back. Once playback has started, any client can connect and watch the demo. The server host, and clients with privileges, should be able to pause, rewind, slow down, and control demo playback however they want.
This is a pretty important thing to have in this kind of game, for examining demos, improving routes, simply getting better at the game and its mechanics. However, there are a few more cool features that could further aid us in our quest for improvement. First, we could play back demos inside a running server, using the, "sdemo demoname" command (rather than, "demo demoname - this would create a server specifically for demo playback). This would create a ghost player, similar to Defrag's ghosts, so anyone can watch the run from third-person, run alongside it, compare their runs, or join the spectators and watch it from first-person.
One final feature would be the ability to join the run from any point - press a button, and you take on the player's viewangles, velocities, and any ammo/health/ability cooldowns(?), or whatever this game will have in terms of in-game features. This would be incredibly useful for learning and practicing very specific parts of a map. I would love this, I've been wanting this in Wolfcam for a long, long time, but it's even more at home in a game that you actually play (Wolfcam is a movie maker's mod, intended to be something like Q3MME for Quake Live, so you don't actually play in it. Hence, a lot of these features would be wasted, with the exception of multiple people being able to watch a demo together).
Gratz @being first not-me to make a thread! ;P
I'm not quite sure what you mean exactly, a server that continuously plays back demos, right?
So it'd change to a map, then play e.g. X different demos there in a row, and people can talk and chit chat while it plays? and eventually it changes to a new map and does new demos?
On the "on top" part, I don't understand exactly either :D
You mean the server runs a demo on replay, as a kind of a "bot client" you can spectate?
The joining where the client was and gaining velocities etc sounds bad in regards to cheating and alike, or am I misunderstanding something?
No, not continuous demo playback. The guy with access to the server console will issue the command, "sdemo demoname", and the server will play it back in my style - create a new "ghost" player from the demo data.
By, "on top", I meant alongside the basic functionality of a demo server (server plays back a demo, multiple human clients can connect and watch the demo together), you could do those cool things.
If you don't like the idea of continuing a run, that's fine, but it would be infinitely useful in testing jumps, comparing routes, and even comparing skill. Maybe have dedicated servers for these types of features, so you can't try and fake runs or whatever.
I might have forgotten to write a paragraph in the middle somewhere...
@continuing, separate servers could work. But let's say you can just move your player along the movement line of the recorded movements. And press like a play button, and you'd start from there with the other players speed, wouldn't that feel qutie a bit wrong? For testing routes etc, in RIK you can adjust your noclip speed completely, to .. almost whatever you want, so you can just hit a place at whatever speed the other person had with the same angle, to test it that way. Doesn't that kind of cover that point?
It's disorienting if you're not trying to do something precise, which is what you would use it for anyway. When I want to test a jump, or a precise route, I need to resort to savepos in a demo, then load up the map and restore pos. This would help with that tedium.
Is doing noclip disorienting? I'm so used to it.. :P
But sounds to me like just having a .. separate view ingame you could resize to fullscreen or adjust as you like while connected to a normal server, would be better, as opposed to being on a demo-only kind of server? or?
Anyways, some awesome demo stuff is on the todo list already, so adding some features like this should be no problem when I start working on the other stuff :)
That's basically Defrag's miniview versus actually spectating the player - they both work (Defrag's miniview kinda sucks, but that's not the point), but being able to actually spectate the player and dedicate all attention to it without sitting afk in the game world is a good thing to have.
Also, the fact that it spawns a player in the game world is a very important point - you could go into freecam and look around, see the route from a bird's eye view, whatever. This is a very large feature that could be used for a lot of different purposes. It's an insanely useful training tool.
Set the status to "confirmed" so yeah, will get most/some of this done when I start working on the fancy movie-making-related features for demos and such :)
I very much like the sound of being able to choose to have a demo played back as a seperate player, that you can either run along side, or spectate.
Being able to do something like /demoghost <name/place in ranking> (ideally there would be a nice non-console way to do this aswell, like a toplist with options when clicking on different entries or so) to spawn a ghost that only appears to the player executing the command. The ghost run would start/restart every time you cross the start line.
Maybe demo playback options could appear while spectating the ghost?
What about some sort of cinema mode? Such as the ones in Garry's Mod. Have multiple big screens in one map, where players are able to play demo's?
Now THAT sounds like a gimmick, and it is. There's no benefit to that over watching the demo yourself, which is a lot better anyway since you can control the demo playback.
For spectating that will be added, so you can spec multiple players same time. Also you can watch your demos while playing. I guess there's no reason to not implement watching multiple demos as well.
That's not at all what he meant though. He meant have a room with a screen you can go into and watch a demo on it. Not PIP, not even close.
To be honest a lot of this is gimmicky :p
It's gimmicky because you still don't see why it would be useful.
Ofc :roll: