Announcement

Collapse
No announcement yet.

Technical: Caster/Replay/Spectate system

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Technical: Caster/Replay/Spectate system

    This thread is intended for discussions on a system whereby if you are spectating a match, you are granted the ability to seek back in time (whenever you like) to a previous position in the match (so long as you were connected for it).

    I'm curious to know:

    Is this feasible in a first person shooter? If it's not, why?

    Should this allow server-side seeking if it is technically feasible? (join as spectator at minute 15 of a 20 minute game, seek back to minute 1 and 'fast forward' to watch the game in triple speed to catch up to current as an example)

    Would this be a better option than interrupting game-play?


    Downsides:

    Performance penalty on servers with this enabled. I would say this would be an expensive task CPU wise, as such it will be disabled by default.

    Costing significant extra bandwidth if server-side time seeking is allowed (spectator joins and seeks to minute 0).

    Implementation time (As much as I would love to do this personally, I don't have that kind of talent)



    Upsides:

    Being able to re-play a 'wow, holy ****' moment 5 seconds after it happened.

    Giving casters an incredible amount of control over the content they cast, giving casters the ability to play back "the moment" from MULTIPLE PoV while discussing what just happened

    allowing new players to watch things a couple of times after they happen so that they can learn how, and why the player did what they did (dependent on a UI that makes this VERY EASY to do)

    edit: additional upside: AI-type system that auto-tracks camera to an area where combat is going on in relation to an objective (assault node, CTF flag, warfare node, duel powerup, etc)
    Last edited by raxxy; 08-22-2014, 12:48 AM.

    #2
    As far as I understand how DOTA2 does it (and I may be wildly wrong), it's essentially writing information to a file about position, skills used, weapons fired, etc all with timestamps. Then when you seek back in time, it's just finding a timestamp and then resuming your client simulation. Your client is recording what the server is sending during the match, so the bulk of the work is done on client side. Even if you go "back in time" and then choose to rejoin "Live" it has just been recording the stream the entire time, even when you went back. So there's no demand on the server, other than of course the information it has to send about how the match is progressing. DOTA2's recent spec system changes are pretty amazing, it's basically a DVR for a video game. Pause, Rewind, Fast Forward. Speed up, Slow Down, Rejoin Live.

    It's camera system is slick too. 1) Free Camera, 2) Follow a Player, 3) Player View, 4) Shoutcaster (if applicable), 5) Auto-Action. #5 is based on the gaming having a ranking system of important events (a kill, an objective, etc), and the camera will transition to wherever the current highest rank is (e.g. b/c 5 people are within a small radius and low health is present, the camera moves to there to watch what is likely to be a kill). So for CTF it would understand that either having a flag, being within a radius of grabbing a flag, etc., are all important events to watch. Or having a flag carrier low on health with people in proximity.

    It also allows shoutcasters to "draw" in the game, think of using link secondary to draw X's and O's in real 3d space (much like how its decal does). This means a caster can pause, circle in 3d the relevant area, and then resume. Really slick stuff, it helps with the following:

    - Shoutcasters have amazing control over what to show, how to show it, and best present it to an audience.
    - Players wanting to learn can watch a match of good players at their own pace, live or after the fact (download a replay). Pause, rewind if you want to watch how something was done.
    - Events can publish those replays/casts and really extend the audience of who watches a particular event.
    Last edited by skeptika; 08-22-2014, 01:22 AM.
    __
    Sr. Product Manager @ PopCap (EA)
    aka danimal for my oldschool Unreal peeps

    Comment


      #3
      This is a great Idea, It would allow for pauses after flag caps without interrupting the players flow, maybe something the casters could control. They can look at the cap or a crazy return and then go back and resume from the pause. I don't see how the delay from this would cause an issue and it keeps both sides happy. Makes for a good game to watch and a fun game to play.

      Comment


        #4
        Without focusing on the downsides of this (the server overhead and bandwidth) i'll give my thoughts.

        We've talked about this a few times and Unreal Tournament, in all of its games, has lacked in the spectator aspect of the game. Previous UT games have been buggy and lacking features for example UT99's inability to do a fluid first person view, UT3 bugs with weapon showing to name but a few. So it's certainly something that has to improve in Unreal Tournament.

        The ability to use a replay feature would be very very exciting indeed. It's something never seen before in a FPS and it would give game coverage an entire new level. To be able to switch back or even put a 'stub' in a slider so that point of time can be reverted to at any given time is fantastic. It would allow coverage of key moments, and brilliant frags, for casters to cover during 'downtime' periods of matches.

        Muli-Pov would be very interesting indeed. You can cover the POV of two duelers at any one time and give the audience a much greater view of what each player is doing at any time and being able to predict next encounters. It would very much assist helping the audience with what's going on in the game. One of the major problems in watching arena based fps games for new players (you see it alot at covered esports events) is that they have no idea what's going on and why they're doing it. Multi Pov would make it alot easier to explain.

        The ability to use it as a training tool for players to examine higher skilled player movement and decisions would again keep new players interested. We've also talked about a 'ghost' system to allow players to review games in that way, perhaps this could be implemented also.

        All in all, if it's feasible to do this kind of in depth spectator mode, it should be very highly considered.
        http://www.twitch.tv/chumbo_

        Comment


          #5
          Originally posted by chumb0 View Post
          Muli-Pov would be very interesting indeed. You can cover the POV of two duelers at any one time and give the audience a much greater view of what each player is doing at any time and being able to predict next encounters. It would very much assist helping the audience with what's going on in the game. One of the major problems in watching arena based fps games for new players (you see it alot at covered esports events) is that they have no idea what's going on and why they're doing it. Multi Pov would make it alot easier to explain.
          Related to this idea would be having multiple AI driven spectator cameras, easy to switch between live (or back in time), and highly configurable.

          Adding to this idea, possibly an automatic multiple POV replay from any AI cameras that caught the action from good angles in addition to first person / manually driven spectator. Just something to make life easier for everyone..

          Comment


            #6
            Originally posted by raxxy View Post
            Performance penalty on servers with this enabled. I would say this would be an expensive task CPU wise, as such it will be disabled by default.
            I don't see why. The server just needs to feed the spectator the server-demo instead. The rest can be done client-side.

            Comment


              #7
              I think the idea of multi Pov is great, you can basically have one person watching in "full screen" while the other one sits on top and shows the others persons view. Wonderful for Dueling and such.

              I dont know if realtime playback would be that great, one idea that in chumbos stream came up is to insert markers so you can replay the highlights of the game at the end of the map. From a caster perspective, that would be super effective, since theres no action missed while searching for the great kill that just happened. I think from a viewer(streamviewer)perspective it would be more interesting to see a summary of the game at the end than rather seeing highlights several times in realtime. In games like LoL or Dota this might work, but in UT where action is literally non stop - I dont think its very effective.

              I'd love to see a feature like its currently in CSgo where you can basically see the "borders/ghosts" of the players from everywhere, that would make it much easier to filter out where action is happening and where not.
              Id like to see timers for the important items like DD, Belt, Chest armor.... They could appear 10(or 5) seconds before the items respawn.
              It could also help to have a small overview of the teams somewhere on the screen, with health/armor indicators, K/d/a - that way you wouldnt have to deal with the scoreboard. It also could indicate wich player has belt or DD, highlight the player yellow or purple.
              (Just to clarify, all these features should be optional, everyone should watch the game the way he prefers to)
              Nonemms Music Thread DM-Lea(Youtube Soundcloud )
              Fabian Joosten - composer for media

              Comment


                #8
                Originally posted by Nonemm View Post
                I think the idea of multi Pov is great, you can basically have one person watching in "full screen" while the other one sits on top and shows the others persons view. Wonderful for Dueling and such.

                I dont know if realtime playback would be that great, one idea that in chumbos stream came up is to insert markers so you can replay the highlights of the game at the end of the map. From a caster perspective, that would be super effective, since theres no action missed while searching for the great kill that just happened. I think from a viewer(streamviewer)perspective it would be more interesting to see a summary of the game at the end than rather seeing highlights several times in realtime. In games like LoL or Dota this might work, but in UT where action is literally non stop - I dont think its very effective.

                I'd love to see a feature like its currently in CSgo where you can basically see the "borders/ghosts" of the players from everywhere, that would make it much easier to filter out where action is happening and where not.
                Id like to see timers for the important items like DD, Belt, Chest armor.... They could appear 10(or 5) seconds before the items respawn.
                It could also help to have a small overview of the teams somewhere on the screen, with health/armor indicators, K/d/a - that way you wouldnt have to deal with the scoreboard. It also could indicate wich player has belt or DD, highlight the player yellow or purple.
                (Just to clarify, all these features should be optional, everyone should watch the game the way he prefers to)
                TIMERS!

                Thank you. Timers, knew id forgotten something!
                http://www.twitch.tv/chumbo_

                Comment


                  #9
                  Originally posted by sneh View Post
                  Related to this idea would be having multiple AI driven spectator cameras, easy to switch between live (or back in time), and highly configurable.

                  Adding to this idea, possibly an automatic multiple POV replay from any AI cameras that caught the action from good angles in addition to first person / manually driven spectator. Just something to make life easier for everyone..
                  Ah sneh when i saw the spec cameras that you build i was in love. Considering this is a tournament, it's a great little unique thing to have in the game, and would work well with the multipov stuff.
                  http://www.twitch.tv/chumbo_

                  Comment


                    #10
                    Originally posted by chumb0 View Post
                    TIMERS!

                    Thank you. Timers, knew id forgotten something!
                    Originally posted by chumb0 View Post
                    Ah sneh when i saw the spec cameras that you build i was in love. Considering this is a tournament, it's a great little unique thing to have in the game, and would work well with the multipov stuff.
                    I've started blueprinting a spectator interface with pickup timers..


                    Needs work obviously with the layout and graphics.

                    Thinking of adding scores / player health / other info?


                    Basically the little camera icons appear as cameras are in the vicinity, including player cameras etc..
                    You can click on a camera to jump to it



                    Thoughts / Ideas?

                    Comment


                      #11
                      awesome sneh! They should start hiring some of you guys. Go big, or go home Epic Gaming Company.

                      Comment


                        #12
                        I think you just have to take a close looks at DOTA2 for this. CStrike has some nice extra "live" features.
                        First off drop down menus that display the information you need, each with a shortcut key bound to it.

                        You'd want as few things blocking the actual action as possible.
                        At the same time you would want to instantly switch to information you'll need:

                        For instance you'd want to quickly glance at all the spawnrates, then hide the window again.
                        Or you'd quickly want to list the players with their portraits/names and if the screenshots are anything to go by, camera options.

                        The same would go for the actual replay controls, again you'd want to hide them when you don't need it.

                        Also if you gonna have replay functionality. Action replay...

                        Comment


                          #13
                          There's a legit concern about the badnwith and space recording replays are gonna take up. DOn't think UT has the infrastructure to record every game played and keep them forever.

                          Comment


                            #14
                            a)

                            might not be the next step, but what i'd really like to see are some sport-replays.
                            you could automate some things like
                            POV->FastForward->Slowmotion Kill->FF-> Slomo DoubleKill->FF-> Slomo Triple
                            to show a streak of kills.
                            triggers like that could be added to different events such as kill + flag grab < 10 seconds = kill slomo, ff, grab slomo

                            if an event is happening, the guys spectating should get some kind of broadcast-message and be like
                            "uh something just came up, lets replay that *click*"

                            this would also solve an issue that occures in teamgames, where the spectator has kind of a hard time knowing where the action is, what came up and what happened at the other end of the road.

                            in sports you have x cameras and guys sitting in the central watchin monitors, we can't really have that unless the mapper does cooperate?
                            still such events might help spectators/demo replays


                            b)

                            another thing would be a youtube like timeline that displays things like captures, named events, i dont know.

                            well just ideas

                            Comment


                              #15
                              CTF mockup.. just throwing around ideas

                              Comment

                              Working...
                              X