Button presses in demo

Discuss Nexuiz gameplay here.

Moderators: Nexuiz Moderators, Moderators

Fri Feb 16, 2007 11:34 pm

  • I would like to see the ability to display the buttons that are pressed during the demo. That way it would be easier to learn about what exactly is going on. This would help with learning some of the tricks that some advanced people pull off.

    Below is the way that I imagined it.

    You get the basic idea. You could have standard buttons on the left and the custom binds along the top. I didn't bother putting those in the mockup. I just wanted to show the basic concept I was thinking about. Just food for thought. Feel free to expand on the idea.

    Image
    Dokujisan
    Forum addon
     
    Posts: 1199
    Joined: Sat Oct 07, 2006 4:31 pm
    Location: Louisville, Kentucky

Sat Feb 17, 2007 12:12 am

Sat Feb 17, 2007 12:20 am

  • That's not my screenshot. I grabbed it from somewhere else on the forum.

    Yeah, I was definitely thinking it would be optional. Some people wouldn't want to see that stuff. I don't really know how (from a technical standpoint) demos are recorded so I'm not sure if it would be an option when doing the recording or when doing the playback.
    Dokujisan
    Forum addon
     
    Posts: 1199
    Joined: Sat Oct 07, 2006 4:31 pm
    Location: Louisville, Kentucky

Sat Feb 17, 2007 3:29 am

Sat Feb 17, 2007 4:52 am

  • Can anyone identify the map?

    Also, while an interesting idea, I don't know that it's something that would be included as a regular feature as its functionality is pretty limited. It might be nice for someone to make a video tutorial, though, and use the editing tools to add stuff like that in.
    Shoe
    Keyboard killer
     
    Posts: 517
    Joined: Wed Mar 08, 2006 2:18 am

Sat Feb 17, 2007 6:10 am

  • omg, I think that would be impossible to do manually. You would have to guess thousands of button pushes during one game. It seems reasonable that the demo recording process itself would be able to record the keypresses. I don't really know what the demo recording process entails. Does it record frames of action in a video format? Or does it record data for rendering a scene in the game engine? If it is the latter, then it should be doable to make the replay of that data display the button presses. Curious what the devs say about this. Maybe this should've been under "Nexuiz-Development".
    Dokujisan
    Forum addon
     
    Posts: 1199
    Joined: Sat Oct 07, 2006 4:31 pm
    Location: Louisville, Kentucky

Sat Feb 17, 2007 2:08 pm

  • IMO the whole idea is kinda of stupid. But I don't know what other people might think, though if this even take a little effort to make I bet the devs won't even bother as if they would do that they would need to do an option whether you allow the buttons to be shown when pressed while recording a demo. For instance, what if a player doesn't want to show what he was doing but wants to share his/her demo's. Then there would need to be an option for them that buttons didn't record.
    And also, this could also be treated as a security risk too. If buttons are recorded then they are stored somewhere and who knows what people can do with that code with this or other games, or even standard applications. People are smart and creative that's a fact.
    User avatar
    ai
    Forum addon
     
    Posts: 2131
    Joined: Sun Mar 05, 2006 3:54 pm
    Location: Behind you

Sat Feb 17, 2007 4:20 pm

  • Shoe wrote:Can anyone identify the map?


    Sure I can ;) It's the CTF training map's gate leading out from a medieval castle-like room to the grapple training field.
    "One should strive to achieve; not sit in bitter regret."
    WE ARE NEXUIZ.
    Image
    Image
    User avatar
    C.Brutail
    Laidback mapper
     
    Posts: 2357
    Joined: Tue Feb 28, 2006 7:26 pm
    Location: Ironforge

Sat Feb 17, 2007 4:24 pm

  • Dokujisan wrote: Curious what the devs say about this. Maybe this should've been under "Nexuiz-Development".


    A quake demo is actually only the "happenings" listed on a map: who done what, gone where. That's why it's so small. When you play a demo, you load the map, and the engine just spawns the entities/models on the map and moves them by the intructions of the dem file ;)
    "One should strive to achieve; not sit in bitter regret."
    WE ARE NEXUIZ.
    Image
    Image
    User avatar
    C.Brutail
    Laidback mapper
     
    Posts: 2357
    Joined: Tue Feb 28, 2006 7:26 pm
    Location: Ironforge

Sat Feb 17, 2007 4:48 pm

  • More exactly, a demo is a raw network dump of whatever the server sent. However, with each such packet, the current view angles are also stored as these are handled by the client. Actually, you could almost record client demos on the server or any other machine the packets pass through - just the view angles are not contained. One can easily read a pcap dump (created by tcpdump) and convert it to a demo file where the player's view always points in the same direction - and with some more work, you can make a working demo of the server's view of what the player did (that is, with lagged input).

    So from what is IN the demo, you can't infer which keys were actually pressed. And adding that to demos would not be possible without making a new demo format.
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sat Feb 17, 2007 6:46 pm

  • divVerent wrote:So from what is IN the demo, you can't infer which keys were actually pressed. And adding that to demos would not be possible without making a new demo format.


    Would it need to be completely different? Or just have additional packets added to the stream for the button information? If a dem player did not recognize the extra packets (like an older version of Nexuiz), it would just ignore them.

    It seems like it would be an option during the record process, so if someone were making a demo and did not want the buttons to be displayed, they would have that option. So ai's point would not be an issue.
    Dokujisan
    Forum addon
     
    Posts: 1199
    Joined: Sat Oct 07, 2006 4:31 pm
    Location: Louisville, Kentucky

Sat Feb 17, 2007 6:47 pm

  • ai wrote:IMO the whole idea is kinda of stupid.


    I'm not sure why you think that. On another thread, you were suggesting the idea of a demo tutorial for learning Nexuiz tricks. This would go perfectly with that idea, wouldn't it?
    Dokujisan
    Forum addon
     
    Posts: 1199
    Joined: Sat Oct 07, 2006 4:31 pm
    Location: Louisville, Kentucky

Sat Feb 17, 2007 7:10 pm

  • Dokujisan wrote:Would it need to be completely different? Or just have additional packets added to the stream for the button information? If a dem player did not recognize the extra packets (like an older version of Nexuiz), it would just ignore them.


    No, Quake family protocols do not work like that. If any unsupported command is part of a packet, this is a fatal error and causes a disconnect (or in case of a demo, stop of playback). It can't be done in a better way without adding a length word to each command, which would cause quite some more traffic (about 10% to 30% more).
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sat Feb 17, 2007 7:34 pm

  • Is this even possible in theory??? Not all have the same bindings. Some might not even use mouse. And what if I have bound several keys to +forward etc???
    But I must confess I have thought about this idea before (months ago)... but never shared it to anyone :P
    User avatar
    morfar
    Site Admin
     
    Posts: 938
    Joined: Tue Feb 28, 2006 6:08 pm
    Location: The Island

Sat Feb 17, 2007 7:39 pm

  • Actually, I never thought about recording the actual KEYS, but just the functions (like "strafe left", "secondary fire", "jump").
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Sat Feb 17, 2007 7:45 pm

  • divVerent wrote:Actually, I never thought about recording the actual KEYS, but just the functions (like "strafe left", "secondary fire", "jump").

    Yeah, that seems more sane to me. And display arrows on screen for the movement. I think I saw this in Quake3 or CPMA.
    User avatar
    morfar
    Site Admin
     
    Posts: 938
    Joined: Tue Feb 28, 2006 6:08 pm
    Location: The Island

Sat Feb 17, 2007 9:29 pm

Sat Feb 17, 2007 10:09 pm

Sun Feb 18, 2007 1:31 am

  • Well such a thing was useful in quake3 / cpma as it had quite complicated movement and that feature could show beginners what buttons to press and WHEN. With the current more simple movement in Nexuiz i fail to see this as a useful feature.
    If you just want it to CREATE a demo you could use aliases:
    alias +myforward "echo pressed FORWARD; +forward"
    alias -myforward "echo released FORWARD; -forward"
    and similar ones.
    User avatar
    esteel
    Site admin and forum addon
     
    Posts: 3924
    Joined: Wed Mar 01, 2006 8:27 am



Return to Nexuiz - Gameplay




Information
  • Who is online
  • Users browsing this forum: No registered users and 1 guest