Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recording/playback of gameplay sessions #10

Open
NovaSquirrel opened this issue Nov 13, 2016 · 3 comments
Open

Recording/playback of gameplay sessions #10

NovaSquirrel opened this issue Nov 13, 2016 · 3 comments

Comments

@NovaSquirrel
Copy link
Owner

Record keypresses and let you watch gameplay again. Maybe offer to save a recording after a battle with someone.

@pinobatch
Copy link

This will absolutely be needed for online multiplayer, as each player's view of the other players' playfields is essentially a movie.

@NovaSquirrel
Copy link
Owner Author

I was thinking that a player would send updates to the playfield to the other player, since sending keys sounds like too big an opportunity to desync. Would take up a lot less bandwidth if I can just send keys though.

@pinobatch
Copy link

I fear that sending playfield updates could make cheating too easy. That's why I decided to tie it to this bug.

FCEUX movies are a saved state followed by a stream of keypresses. Thus desync shouldn't happen so long as

  • The player and recorder use the same game physics. This means in multiplayer, all players are running the same version of the client.
  • Game physics use data types whose behavior is well defined by applicable C or C++ standards, of which unsigned integers are most tightly defined and leave the least up to implementation.
  • Keys are sent and received timely, in order, and without error.

If you can get movies to stay synced, multiplayer should also.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants