Playing All My League Makeup Matches Today in a Single Block!

I’m playing a bunch of SpyParty today, starting at 2:30pm US Pacific time and going until around 5:30pm, which means I start in 3 hours from me typing these words! I will livestream these games, internet-willing, at http://twitch.tv/spyparty.

I’ve posted about the SpyParty Competitive League before; it’s a really amazing ongoing competition organized and run by krazycaley with help from other community members.

Well, I’m in the Silver Division, and due to life and work craziness recently, I have a lot of makeup games to play, and through a miracle of scheduling, we are going to make them all up today in a single 3 hour block of SpyParty.

Here’s the schedule, which we probably won’t hit exactly, but is hopefully about right:

Time (US PDT) Opponent (makeup week)
2:30-3:30 lthummus (wks. 3 & 6)
3:30-4:00 fearfulferret (wk. 7)
4:00-4:30 sgnurf (wk. 8)
4:30-5:00 iceman (wk. 9)
5:00-5:30 elvisnake (wk. 10)

So, come watch the fate of Silver Division turn on a single stream. I should be warmed up by the end, maybe?

The New SpyParty UI Reveal Video is up!

Last night I did a stream revealing and discussing the new in-progress SpyParty user interface. It seemed to go pretty well1 and people in twitch chat seemed to like it. Dig it yourself here on the SpyParty YouTube channel:

I will do a longer post with screenshots and mocksup and whatnot soon!  Feel free to ask questions here if you have them (it’s easier to reply here than the YouTube comments).


  1. Thank you for not going down, comcast! []

Finally Revealing the new SpyParty UI Tuesday the 21st, 7pm US Pacific!

I have put this off long enough…I’m going to reveal the new SpyParty user interface tomorrow, Tuesday, June 21st, at 7pm US Pacific time, on the SpyParty twitch channel, http://twitch.tv/spyparty!

A wire-frame teaser. I wanted to take another teaser screenshot but the game is not currently running or even compiling…uh…wish me luck for Tuesday.

Apparently 7pm PDT is 2am GMT…sorry about that!  I’ll definitely put the video on the SpyParty YouTube channel line after the stream, so subscribe there if you want a notification!

We’ve been working on the new UI for a looong time, and it’s gone through a zillion iterations while we were mocking it up, then I started implementing it in a standalone test mode, and I’ve finally started hooking it up to the real game. My original goal was to not change any of the existing UI flow and just layer the new UI on top of it, but it became clear as we were working through the various issues that a bunch of stuff needed redesigning and smoothing out so it was more clear and simpler for new players, and while doing that it became easy to add a bunch of cool features for experienced players. So, hopefully the new UI will please all the people all the time…that happens sometimes, right?

During the stream, I’ll go through some of the mockups and iterations, I’ll talk about our process and reasons for making UI decisions and how we’re designing and implementing it, and I’ll show where we are so far. Some chunk of it (mostly having to do with game setup/loadout and results screens) should be available for beta testing fairly soon, in fact. The goal is to have a sizable chunk of it done for the Steam Early-Access release coming sometime this year,1 so people who buy SpyParty on Steam will get a video game that actually looks like a video game from the moment you launch it.


  1. I have just about given up on trying to give out time estimates for this… []

SpyParty Competitive League Season 2 Update

The second season of the player-run SpyParty Competitive League (SCL) is well under way, and krazycaley has written an update for all the divisions. Please ignore the part about me losing all my matches this season, I’m sure there’s been some kind of mistake…

Thanks to magician1099 for the intro trailer!

Oh, and If I was better at blogging, you’d already know there are now two live casts for the SCL this season, the regular one Sundays at 5:30pm US Pacific time, and then the new one in a more European friendly timeslot, Saturdays at 10:30am US Pacific.  Both at the official twitch channel http://twitch.tv/spyparty of course!  You can follow the twitch channel, or follow the SpyParty Streams Notifier on http://twitter.com/spypartystreams if you prefer your notifications in the twitter flavor.

Take it away krazycaley

Season 2 of the SpyParty competitive league has just completed its sixth week of regular season play and the playoff races are starting to heat up. Let’s take a look at the standings.

In the new Challenger Division, the strong early performers have been moth and trevor, both of whom have yet to suffer a defeat. trevor has fewer games since he’s been paired up with a couple of the folks who have dropped out, but he’s performed strikingly well in the games he’s played thus far. papers is also looking like a safe bet for inclusion in the end-of-season Challenger division tournament, which includes the top 6 regular season finishers. With three members of the division apparently dropping out, that leaves three more slots in the tournament for four more people. Of these, evilsnake and gmantsang got off to fairly hot starts to the season, but have been slowed down by defeats in recent weeks and will be looking to bounce back. malexmcblat is currently the odd man out of the tournament at this point, but is still very much in the race due to a pair of very scrappy draws. Leading this pack of four is steph, who reverses the story of evilsnake and gmantsang – she started slow, but has been performing strongly in recent weeks, and has a couple of winnable matches against malexmcblat and gmantsang coming up which could propel her into contention for a first-round bye, which requires a 1st or 2nd-place regular season finish.

Iron Division has been completely dominated by its two leaders. One of these, unsurprisingly, is moriarty, a longtime veteran entering SCL this season and very likely under-placed in Iron. But he is the runner-up as things stand, the surprising story from Iron has been new player havrd, who has 4 wins and a draw, including a win and a draw over moriarty. havrd and moriarty look like a safe bet to be in position for potential promotions at the end of the season. In Iron Division, anyone finishing in 4th or below is in danger of demotion to Challenger, so the remaining players have plenty to fight over even if havrd and moriarty run away with the lead. nanthelas and progamingeithed are in a tight fight for 3rd place, while igounseen has endured a tough winless season so far and is staring down a demotion to Challenger.

It’s a pretty tightly-packed race in Copper Division, where division leader pwndnoob suffered a recent defeat at the hands of at-the-time-5th-place aforgottentune to level the division out. pwndnoob and yeesh are the prime contenders for the divisional championship, but falconhit, catnip, and aforgottentune still all remain in striking distance. falconhit looks to be the most likely of these to challenge the leaders given past results, although aforgottentune has proven to be the bane of division leader pwndnoob, and catnip has put up strong, close results even in her defeats, and is a threat to any opponent in this division.

Bronze Division has seen veteran elite player wodar finally play up to his skill level rather than down to his competition; he is cruising through week 6 with 5 wins and one postponed game. The race for second place is between the strong-performing teetery and potential comeback player of the year rjwut, who are neck and neck for the spot. laplace, perhaps suffering against more experienced competition after being double promoted at the end of last season, looks to be locked into a potential demotion match even if the currently-absent butterscotch does not return.

Silver Division is currently all about the battle for 1st place between elvisnake and fearfulferret. Both are undefeated, and in their lone match so far they drew, but fearfulferret has the division lead on the strength of having more wins against the rest of the field than elvisnake, who’s earned more draws. There are four points between elvisnake and the next contender, iceman. iceman, lthummus, and sgnurf are in the fight to avoid finishing in 5th; iceman has the best score of these, but lthummus has the inside track since his low point count is mostly due to his many postponed matches. SpyParty developer checker looks to be a lock to finish in last as his priorities likely lie with improving the game rather than mastering it right now.

Gold Division has seen the powerful ascension of pires, who has played an astonishing 5600 games since joining the game in December of 2015, an amazing clip of over 1,000 games per month. He and longtime veteran warningtrack went neck and neck with a winning streak to open the season, but when they met in week 3, pires earned a decisive 5-2 victory. pires has let the rest of the field linger by conceding a large number of draws recently, including a week 6 draw against warningtrack, but the division is still his to lose. cameraman, scallions, and warningtrack are all crowded close behind in a tough fight for the 2nd place spot, while james1221 and briguy look likely to finish in 5th and 6th.

Though cleetose looked to be the early favorite in Platinum Division, it is slappydavis who has made a remarkable return to form over the long haul here, and he holds a three point lead over kikar and cleetose, who have also had very strong seasons thus far. sharper, the division’s last-place finisher last year, has enjoyed a resurgence of his own, as he’s in a comfortable 4th place at the moment, only a win away from challenging for the 2nd place spot. varanas is in the more tenuous 5th place spot, though he is only a point behind sharper. royalflush, doubly promoted last season, looks to be suffering the same fate as laplace, as he is struggling against this class of opponents.

The League championship contenders of Diamond Division have a much closer race on their hands than last season, which was dominated by krazycaley and scientist. While krazycaley remains the leader, his lead is a narrow one after a recent defeat at the hands of kcmmmmm. bloom, magician1099, and canadianbacon all trail krazycaley by two points (though magician1099 has one fewer match than the others), while kcmmmmm sits in 5th place, but only three points behind krazycaley himself. It’s been a disappointing season for scientist, who is winless in 6th place, but has plenty of postponed matches to play that could get him back in the picture.

 

Some subtle tells and anti-tells, and some fonts leakage: Release v0.1.4434.0

One of the mechanics SpyParty shares with poker is the concept of a tell. In poker, a tell is when a player has some behavior that gives away information about their hand, like whether they’re bluffing. In SpyParty, we use the word tell to indicate something that implicates a character as the Spy; we have hard tells, which are things like animations only the Spy will do, so if you see one of these, shoot the person, soft tells, which are more deductive, like an audio cue that somebody in a conversation is the Spy, and behavioral tells, which are characters acting in a way that raises suspicion.

We also have anti-tells, which is what we call things that only an NPC can do, so if you see one of these, you know you can safely lowlight that character. Hard anti-tells are always high-priority bugs that need fixing relatively quickly, because a good Sniper can get a lot of 100% safe lowlights over the course of a game if there is an extant anti-tell.

These tells and anti-tells are usually very subtle, as this post about a walking anti-tell demonstrates. The finder of that anti-tell, canadianbacon, has become known for finding these, and today’s examples are no different.

So Rude!

First up, sometimes when the Spy would talk, and an NPC would interrupt the Spy, the other people in the conversation would not look at the interrupter. What should happen is the latest person to talk always gets looked at, and I was never able to figure this one out completely, but I think I fixed it anyway, along with three other bugs that popped up along the way.

In this example, the Spy is “yellow Danger”, and “Blondo” interrupts while the Spy is talking, but you can see everybody is still looking at the Spy.

interrupt-ignored

In real life you should ignore people who interrupt, but that wasn’t what the code I actually wrote was supposed to be doing. Perhaps it was trying to tell me something about etiquette.

This is the kind of subtlety we’re talking about. In the bug report thread for this anti-tell, even other elite players were impressed by canadianbacon‘s observation skills. Here’s kcmmmmm, one of the top players, commenting in the thread:

kcmmmmm-bug

So I fixed this, and while I was in there, I added a long-requested feature. In live games where you’re the Spy, you get to see arrows in the conversations that tell you who is talking, who the previous talker was, and who is going to be next. This lets you exactly mimic the NPC conversation etiquette. These arrows were not shown in replays, though, which made bugs like these hard to narrow down, and also made closely studying the conversation flow harder, so to help debug this problem while I was doing it, and to help with problems like this in the future, I added the conversation arrows to replays and spectation:

arrows

Everybody waits their turn to talk. Sometimes.

I’m a little nervous this is going to get more Spies shot as players like canadianbacon make a study of NPC conversation behavior, but we shall see…

In adding the arrows, I found and fixed a subtle timestamp bug in the replay events, so hopefully those will be a bit more accurate in the future, it turns out they could drift a bit if a bunch of events happened close together. And then there was another bug where the talk spawned by contacting the Double Agent wasn’t changing the previous talker arrow, and potentially didn’t get recognized as a full talk, and that’s fixed too. I’m sure there are more in there that players will find.

Pick a Direction

The second tell canadianbacon reported recently had to do with differences in the way Spies and NPCs stopped when they weren’t stopping on ground pads, so for example to pick up the briefcase in the middle of the party, or stopping before entering a conversation because it became full while you were walking towards it. The (kind of crappy) SpyParty pathing system uses a grid and characters can only path along the 8 cardinal directions (North, Northeast, East, etc.), but in some circumstances when stopping in the middle of nowhere, or in the middle of a turn, the Spy character could stop non-cardinally, and sometimes NPCs could. Hopefully now everybody will always either use the pad orientation, or adjust to a cardinal direction when they stop. Hopefully.

We Fear Change

Finally, I updated this build to fix these tells and anti-tells, but the main thing I’ve been working on has been the new User Interface update, which is going to be huge and buggy and has a ton of work left to do on it. But I needed to fix these bugs now, so I disabled most of what I’d been doing so I could ship the update.1 I could have branched the code from the previous update, but I don’t like to do that if I can help it, and so some of the new UI work leaked into this new build in the form of the new font system.

You can see it in a few places. First, the action UI has a new look because I needed it to be scalable and anti-aliased. I tried a bunch of different typefaces:

atfonts

A small sampling of the 120+ typefaces I tried.

Choosing typefaces is hard, especially for body text, but I settled on Open Sans Condensed Bold, which is free,2 has really amazingly good hinting for small letter sizes, and has a really pleasant weight. Sadly, it doesn’t have an italics or oblique, but it looks pretty good with synthetic oblique3 so unless I can convince Steve Matteson to make an oblique face, synthetic it is.

New Action Font!

Open Sans Condensed Bold…it still looks a bit weird to me, although now I’m used to it and like it better than the old typeface.

The other place you can see a change is in the game timer. I am using the same typeface for the clock, Digital-7 (mono) by Style-7, but it looks slightly different than before because of the anti-aliasing, and when a “green time-add” splits the clock, I’m temporarily using Open Sans Regular for the “Spy:” and “Sniper:” labels, mostly because the old aliased text looked out of place and was using different measurement units next to the clock. I need to figure out this UI a bit more, but here it is for now:

new-time-font

Yes, I cheated and added time.

Okay, back to making the UI pretty! I will show some screenshots of the new UI design at some point soon!


  1. In truth, I tried to get the build out before the recent Balcony tournament last week, but failed. []
  2. Thank you Google! []
  3. Sorry, typeface snobs! []