2015/07/20, 19:23 by checker

I have been working on the latest big update for too long now, and I’m back from most of my summer travels, and I think it’s time to do my least-favorite thing in the entire world: publicly commit to a release date.

The Spectation Update is coming Friday, July 24th!

There, I did it. It’s not clear to me why I’m so averse to committing to dates, but it’s something I need to get more comfortable with because I’m going to try moving to a tiny-team-baby-steps version of the “big named updates” release strategy that Valve pioneered on Team Fortress 2 and the Awesomenauts folks have written about as well. More on that later.

So, what exactly is in this upcoming update?

There are two really big features: Spectation and Replay Sniper Mode

Spectation

SpyParty is a 1v1-only game (for now) with no meaningful single-player mode, so if you go in to the lobby to play somebody, and you happen to be the odd person out, you are a sad agent of espionage:

Currently, you have no recourse but to wait for somebody else to join. There is text on the lobby screen telling players to hang out, but a) nobody reads text, and b) even if you do read the text, who wants to just sit there and wait for another player? I made it so you can minimize SpyParty and it doesn’t use much CPU, and it’ll beep and flash the window when you’re invited, but still, what a drag. Often the wait is only a minute or so, but there are way too many cases of one player logging in, waiting a few minutes, and then logging out, and then literally seconds later another player joins, and the cycle repeats.

Another related problem is that recently people have been joining the beta in pairs, so they both log in together and usually only play each other, so if you’re sitting there waiting, then two people will join and immediately go into a game together. I’m not sure why this has been happening more recently than in the past, because I haven’t yet done any of my plans to actually encourage this, like discounts on two copies, spawn copies, gifts, and the like, but it anecdotally seems to have increased over the past few months. Maybe it’s that a lot of the big streamers and youtubers always play with friends, so people who learn about the game that way start out with the goal of playing with a friend, but who really knows? I should probably ask people how they heard about the game when they sign up…

Obviously not being able to get a game when you want one is a big problem for multiplayer games, especially indie ones, where building and maintaining some kind of healthy player community is vital to the experience.

I have a lot of different plans to help solve these “lobby stickiness” problems, and the spectation feature is a big one. After this update, when you log in, you will see this:

Now you have something to do in the lobby! You can watch the ongoing match, and if others are watching it you can chat with them, and you can even “play Sniper” in the match as you’ll see below!

Spectating a game looks just like watching a replay, with all the same controls, so while you’re spectating you can pause, switch cameras, rewind, slowmo, whatever. Here are two clients spectating a match, all running on my laptop:

Spectation is obviously awesome for casters, because now they’ll be able to live-stream tournament games without requiring individual contestants to stream, which isn’t possible for some folks due to performance or network issues. Spectation shouldn’t cost the people playing any performance at all.

Plus, the way I implemented it, the server is now recording all games, and so it is the beginnings of a complete “Replay Database” of every SpyParty game played. Exposing that awesomeness to players to download and analyze is going to take some thought and time, but for now, the games are going to be collected on my side.

It’s just going to be the basics of spectation at first, but there are a ton of things I want to add, including the ability to do quick round-robin tournaments and ladders, maybe even fake betting, and I’m sure the community will have tons of ideas and post them in the Beta Forums.

So, spectation is pretty cool. However, I think players might think this is even cooler…

Replay Sniper Mode

Whenever I mention “single-player SpyParty“, the first thought most people have is, “Hey, why not set it up so the Sniper can play against old replays?” I include myself in “most people” and thought this was a great idea until I realized the feedback from the Sniper’s laser position and angle to the Spy drastically changes the Spy’s behavior, and I plan to add more ways for the Sniper to have feedback into the game in the near future. So, I went from thinking playing replays was a clean and easy solution to half of the single-player problem to thinking it’d be kinda neat but not very useful.

Well, I’m back on the It’s Awesome train again. When I got spectation working, I figured it’d be worth the day or two to throw in the ability to play as a Sniper against the Spy you were spectating since it would give waiting players more stuff to do, and it turns out it’s way more interesting and real-Sniper-feeling than I thought it would be! And once I realized it was working, a whole bunch of new cool variants came to mind.

The way it works now is it looks like you’re playing a regular Sniper game. You can highlight and lowlight, zoom, and you see the (hopefully) exact same information you’d see if you were really playing Sniper. If you shoot somebody, they obviously don’t die since you aren’t in the actual match, but the game tells you if you shot the right person, and if you didn’t, it keeps going.

If you are totally lost, you can switch to normal spectation/replay mode by hitting ctrl-shift-tab, or by trying to shoot everybody until you get the Spy, at which point it will switch over automatically.

This works on normal replays as well, so you can practice offline against a given opponent as Spy if you know you’re going to be playing them soon. You can even practice against yourself, by playing replays where you were Spy!

Now things get crazy…the server is going to (eventually) have curated lists of replays of games that make for good Replay Sniping, and it will be able to stream those to you while you’re waiting in the lobby. So, imagine you log in, and people are already playing, and you can play a set of 10 replays picked by another player called “Bugtastic” where you know the Spy will always bug, and you see if you can catch them, or play Sniper against the finals match from the last tournament to see how you match up? I can imagine a zillion variants here, including curated sets by difficulty, player, maps, game modes, ranking, etc.

I’m not sure I’ll be able to get the streaming games thing in for this initial build, but Replay Sniper Mode will at least work live while spectating and from your own replays, and hopefully I can at least get something simple in for streaming to get things started.

What’s Left To Do

I still have some big things left to do before I can release, so I’m going to need to crank this week. The list currently looks like this ( strikethrough means done):

Should I start a new room for a spectated match or not?

Right now, you stay in the lobby while you’re spectating, so you can keep chatting. I support players being in multiple rooms, so I think I’m going to start a new room for a match, and then add players to that room, so they’ll still be in the main Headquarters room, but also will be in the match room. It needs a bit more thought.

Right now, you stay in the lobby while you’re spectating, so you can keep chatting. I support players being in multiple rooms, so I think I’m going to start a new room for a match, and then add players to that room, so they’ll still be in the main Headquarters room, but also will be in the match room. It needs a bit more thought. Store the Replay Sniper laser movement and events to the server.

I’d like to archive all the Replay Sniper games as well, and that way I could do visualizations of all the lasers moving around the room simultaneously, which would be awesome, plus I could do analysis on them.

I’d like to archive all the Replay Sniper games as well, and that way I could do visualizations of all the lasers moving around the room simultaneously, which would be awesome, plus I could do analysis on them. Update the loadtest robots to test all this stuff.

Spectation adds load to the server, since it manages all the streams. It’s not much, but I really should test it at scale before releasing it. Really, I should.

Spectation adds load to the server, since it manages all the streams. It’s not much, but I really should test it at scale before releasing it. Really, I should. Actually implement streaming games for Replay Sniper.

All that cool stuff above about curated lists of games being streamed to you in the lobby doesn’t exist yet. I need to figure out if I can do a baby-steps version of that to get things started.

All that cool stuff above about curated lists of games being streamed to you in the lobby doesn’t exist yet. I need to figure out if I can do a baby-steps version of that to get things started. Bugs, bugs, bugs.

There are lots of bugs.

Those are the big things, and they’re all relatively optional, meaning the current thing works pretty well, but they’re things I’d like to have, so I’m going to try for them. Wish me luck!

I will probably stream development of some of this stuff this week at http://twitch.tv/spyparty