One of the things I want to do going forward is to talk about what I’m working on and what my near-term priorities and plans are…basically I want to put my todo list up on the blog somehow so you all can see what’s coming down the pike for SpyParty. Some indies, like Klei, actually schedule their updates and make an event out of releasing them on a certain day, but I don’t think I have the production competence to hit those kinds of tight dates consistently, so I figure the next best thing is to at least talk about what I’m doing and how it’s going more regularly. While I figure out how to do that effectively here on the blog, here’s another ad hoc post on my current focus, “in-game replays”.
What are replays?
In a skill-based competitive game like SpyParty (or Starcraft or Counter-Strike or Go or Poker…), watching and studying games is an important part of learning and improving your skills. Right now, the only way to watch a game of SpyParty that you’re not participating in as a player is to watch a stream or a video. I stream on the SpyParty twitch.tv channel, and I post videos to the SpyParty YouTube channel, and lots of other beta testers stream and post videos too. You can catch a lot of streams by signing up for the SpyParty Streams Notifier, and you can check out all the Let’s Plays by searching YouTube, but if somebody didn’t capture their game, there’s no way to go back and study it and it’s gone forever. Even if somebody did capture the game to video, if their camera angle wasn’t right, you might miss the thing you want to see.
Replays are the solution to these problems. A replay is a recording of the game, but it’s a recording of the stream of animation commands and events and movements instead of just a stream of images like a video, so you can move around in the replay while it’s playing, freeze it and look at the layout of the party, where the Sniper’s laser is relative to the Spy, and even rewind and study a section from different camera angles. Once replays are in, they’re going to revolutionize the study of elite SpyParty games; the plan is to capture a replay of every game ever played, and add them to a database that can be queried by any beta tester to study any game. About to play in a tournament against kcmmmmm? Study the last 100 of his games against other high level players and try to get a feel for his play style. Heck, you can even sort of play the games from the Sniper’s point-of-view, trying to find the Spy, although since the Spy won’t repond to the laser sight it’s not going to be a real test. I don’t know whether this is going to benefit Spies or Snipers more, but it’s definitely going to raise the level of play across the board.
After I get replays working, the same technology will be used to implement “spectation”, which will allow you to log onto a game in-progress and watch it live, which is like watching a stream, but you can move the camera and see the action from either side, or even from a different camera position. At that point, if you join the lobby and everybody else is playing, you can just go spectate until somebody else joins to play. This will be huge for streaming, since it will allow people to cast other games, and commentate on the play! I’ll even implement mini-tournaments and simple betting within a spectation match, like some of the Starcraft mods do.
First, though, will come raw replays saved locally. You’ll be able to review your games, but to see somebody else’s you’ll have to get the replay file from them. The files should be pretty small, like hopefully one or two megabytes. After the bugs are worked out for that, I’ll get the replay database server up and running, and then spectation.
I really excited about replays, and I think they’ll increase the depth of the meta-game, and help the community share and discuss strategies.
Here’s a video I recorded from last night’s stream for drawnonward‘s 10,000th game (!). I gave a short preview of the current state of the replay system, which is still buggy but the hard part (rewind) is mostly working:
If you’d like to see videos of the terrible things I did to the partygoers as I was getting rewind working, you can check out these two videos: