Jump to content
  • Advertisement
Sign in to follow this  
anansi

Spectator mode in console games

This topic is 2659 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have been wondering about the mechanics that are involved in spectator mode in console games specifically fighters. An interview with producer of marvel vs capcom 3 has just been released and in it he states the reason that a spectator mode for online matches is not possible is because of the fast pace of the game (compared to Super Street Fighter 4) and it would require transfer of too much data. Now my question is why couldn't the spectators just have a delayed view of the matches with the console recreating the inputs from the two players your watching. What really doesnt make sense is how FPS like call of duty and RTS like starcraft 2 have a lot more going on at the same time and have even more spectators with mvc3 having a potential max of 4 spectators and still function without a lag effect. Any insight into the topic will be greatly appreciated.

Share this post


Link to post
Share on other sites
Advertisement
Its probably just an excuse -- lag is definitely an issue with *playing* fighters online, since a lot of the timings are often frame-perfect -- but that really doesn't pose any problem for spectators. Its possible that their network architecture is peer-to-peer, rather than client-server, which would complicate things since neither player would have an authoritative view of the game (though, if its authoritative enough for actual play, I don't see an issue here either). The fact is, its a feature they could have if they had made it a priority, but they didn't, so it didn't get done.

Its also not necessarily true that FPS games have more going on -- a typical fighter has two characters moving around nearly every frame -- in an FPS you've typically got events which happen once and are then sustained by the server for as long as necessary (eg, player says "I fired a missile", then the server takes over for the missile which doesn't typically change its course/target -- in other words, FPSes have a lot of fire-and-forget messages, while a fighter is almost constantly in a state of flux.)

If I were going to do it, I'd make it more or less like Bungie's game record feature works -- a single, authoritative random number generator exists on the server and any time a random number is needed, it pulls the next one -- the trick is to make sure that the control path is deterministic so that the game never gets into a state where one client (or spectator) gets into a situation where they want to pull extra random numbers -- then the recording of the game is simply the random "seed" value, followed by a long list of actions that were recognized by the server with a timestamp on them. They can be transmitted, stored and replayed easily.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!