This is the first PAX Countdown post. I am going to try to do a brief post on our progress daily, or thereabouts. I meant to post this in the morning, but then more animation stuff blew up and we had to figure out a workaround. Whee!!!
I leave for PAX West/Prime/Seattle on August 27th. Today, when I writing this, it’s the 14th. Well, actually, it’s 2:41am on the 15th, but let’s call it the 14th, shall we? That means we have 13 days to go, and a lot of work to do between now and then. I’m going to try to blog (quickly) each day with a status update, and maybe a picture or video of the sometimes inane stuff that one has to do when making video games.
The Goal(s)
Our goal for PAX this year is to have the new High-rise level in the game and working with all new fancy artwork, and have all 10 of the new art characters working in the map. Plus, we want to have the entire UI players see when they sit down at the booth to be new and fancy. Basically, I’ve shown the game at PAX for fouryearsnow (!), and I’m very lucky that people still line up to play it, but every year it’s been Beginner vs Beginner Ballroom with the old art. The game has changed a ton over that time, but mostly for experienced players, and so this year I want people who stop by the booth to see a completely new game, and a taste of what the game will look like when it’s finished, some time before the sun expands to engulf the Earth.
Another Goal?
I have an optional secondary goal which I’m still evaluating and haven’t made a decision on yet, which is whether to sell copies of SpyParty at the booth. I have some cool ideas about how to do this, but it’s a lot of extra work, and I’m nervous about taking on that burden when we’re already swamped. I’ll post more about this in the next few days as I make the decision. Print deadlines mean I need to make the call by Monday.
This Is My Life For The Next Two Weeks
Right now, we’ve got all the new animations working on the new characters in Maya, but hooking them up in the game means finding all the tiny little things that can go wrong. There are hundreds of animations already, and small things that need adjusting on a lot of them, and this is before tuning and playtesting them.
ZeroTKA did the video in Maya, but with plain old hardware rendering like the game uses, so they’re not quite in the game yet, but you can see how cool they’re going to look once they are. The plan is to get them in the game in the next few weeks and have them all playable at PAX at the end of August in Seattle. They’ll hit the public beta build shortly after that. Or maybe before, I dunno, depends on how hot we are coming in. More on that soon.
Here’s a pic showing what the animation rig on the characters looks like.
Face rigs always remind me of those old Bionic Woman episodes with the fembots…
Hey all! checker and I decided to try something a little bit different. We had ourselves a conversation about the latest SpyParty features, we recorded it, and then I turned it into a video. We basically stole this idea from the Introversion folks, who do a similar thing for Prison Architect release notes.
We mainly talked about some of the highlights of the past few patches. Below you will find time stamps for all of the topics we discussed as well as the video! If all goes well we want to continue doing these more frequently, except not quite as long. If you have any suggestions let us know in the comments!
This post is a bit of an experiment. I want to show you some mockups of the new game setup user interface (UI), but I also want to try to figure out a bit of the UI I’m stuck on, and I figure explaining it clearly here in this post might either help me figure it out, or somebody like you will have a good idea and post it in the comments. It’s a win either way!
First, let’s look at the old (which is to say, current) game setup UI flow. When you’re in a match with another player, and want to start a new game, you have to choose a bunch of stuff, at least if you’re going to be the Spy. This giant image shows all the steps.1 If you’d like, you can open this image in another window if you want to see it at the same time as you read this text by clicking this handy link.
The current/old game setup ui flow.
Going through these steps, the first two are easy: you pick to be the Spy and you pick the level. At this point, the game knows which game types and missions are available, because those vary by map.
Now the flow splits. If you are picking Any or Known game types, then you have to pick the “selected” missions for your game.2 For something like Any 3 of 5, this means you’re picking the 5 missions that will be selected for the Spy and known by the Sniper. If you choose Known 4, then you pick the 4 missions. It turns out, Known N is just a special case of Any M of N, where M equals N. This is important later. Once you pick the missions for Any or Known, you review them (which is an artifact of the current flow…remember, I’m not defending this, it’s just what we’ve got right now), and then you’re on to Casting.
Rewind back up, and if you choose Pick M of N, then you pick the N selected missions, but you also have to pick the M “picked” missions. These are the missions that you are going to try to accomplish, but the Sniper doesn’t know which M of the N you’re picking. I always think of picking as kind of like when Babe Ruth called his shot, except you’re doing it in secret as the Spy. Maybe you’re writing it on an envelope to be opened after the game. I’m not going to get into it much here, but Pick is much less popular than Any as a game type, which will be important below.
Finally, Casting is the same for all game types, and in the current implementation you scroll through the characters for each cast member you want to select. First you pick the Spy, then the Ambassador, then the Double Agent, etc. After you’ve cast the game, you wait for the Sniper to accept and then you’re playing.
Designing a New Flow
As you can see by the size of that image, that’s a lot of screens, and a lot of clicking. For the longest time there wasn’t even a back button, so if you messed up you had to do it all over again! Each screen is also confusing, because it doesn’t have any surrounding context, and sometimes very similar menus will pop up but with slightly different text, and you’ll often hear newbies who stream their first games of SpyParty say things like, “Didn’t I just pick this?” When casting the party, the title changes, and the portraits on the side fill in, but the screen looks almost identical, so people don’t think clicking even does anything if they don’t notice the subtle title changes.
I want to be clear: the images below are early mockups, and have a lot of problems, and will change, so please don’t consider them final. But, they’re enough to show the direction I’m going, and to elucidate some of the issues I’ll need to overcome, and since I’m all about open development, here we go…
As I said above, you have to pick the level first before the game can know what options are available to you. This presents a small problem, because we really want to get the characters in front of players as early as possible, since they’re the stars of the show. As you can see in the top image of the current flow, I even added a “menu party” with silhouetted characters to try to get some personality into the ugly old art version of the menus. Even that helps a lot, so we’d like to get the characters on screen immediately.
As we were talking about the new UI, John and I came up with the idea that the casting screen should obviously be a single screen, but instead of a grid like a fighting game, we should have the characters in a kind of “group shot” pose, like we’ve shown when we’ve released each batch of new art characters.
Like this, but with twice the characters!
And, of course, they should be animated, and even respond to you when you select them. More on that below.
But as I said, the level selection has to come first, and although the new art levels are pretty, they’re not as cool as the characters, so how to solve this? The first thing I mocked up was to have them in the group shot, but in the background, desaturated, with the level select in front. I need to eventually support 20 characters, so I took the 10 and duplicated and flipped them just to get the density right.
First, level select.
I think this is a bit busy and the layout is bad, but I think a variation of this will work, probably with the level image a bit smaller so there’s more space for the characters. I’ll have to see if it’s too cluttered and distracting once they’re rendered in-game and animating. If I have time, what I’d like to do is have the map start out as an image, but if you stay on the image for a few seconds, it blends to a 3D render of the map that moves around on an attract loop. I want to be very careful about stuff like this that can impact menu performance, because I want the elite players to not have to sit through any additional time. You really don’t care about animations on your 10000th time through a menu.
After you’ve picked your level, I’m going to get all the rest of game setup (except casting) on a single screen. This is where my problem comes in, but I’ll talk about that below. For now, you can check out this image, and imagine that the “Any”, the “3”, and the “5” are dropdowns or something, and you choose the selected missions by clicking on them. I’m going to have the game type the community considers balanced set up by default on this screen (Any 2 of 3 on Balcony, Any 5 of 7 on Veranda, etc.), so it should be much faster than the current flow if you want the current meta.
Second, game type and missions.
Finally, and this should be insanely cool, you get to the casting screen. All of the cast is randomly selected when you get to this screen, so if you want all random choices, you just hit next and you’re done. If you want to manually cast the party, then you just click around on the characters. Much like the Spore creatures did when you stuck an arm on them, the characters will react to you selecting and deselecting them. I haven’t figured out exactly how to handle this yet in a way that works well for both mouse and controller, but elite players usually only use the randomizer to avoid bias, so whatever I do won’t slow them down any.
Finally, picking the cast.
I will spend some real time making sure casting the characters is nice and smooth, not only because newbies love to manually cast the party, but also because the big game design changes I’m going to make this fall to give specific characters specific characteristics (called the “dossiers design”, more on that later) will mean manual casting starts to get important at elite levels as well. Also, I’d like to leave open the possibility of a pick/ban draft phase during casting, where the Spy and Sniper can pick or ban certain characters from the party before the game starts, and I’d like all of that to fit on this single screen. I think it’s doable.
The Pick Problem
Let me reiterate: there are a ton of issues with these mockups. They’re overly busy and cluttered and there’s no unifying motif so it looks hodgepodge, but they’re a start, and they’re way better than the current flow.
However, I’m not worried about those issues, they’re hopefully easily solvable via iteration. I am worried about the issue of how to support Pick, though.
If you notice above, the middle mockup is just showing Any, but it could easily be the same for Known. Pick, however, requires another phase of mission selection, where you narrow your selected missions to you picked missions. I’m not sure how best to support this with the single screen. It seems like I have three options:
Have another listbox that comes up to the side.
Have a tri-state selector for missions.
Kill Pick.
All these options suck.
Option 1 is like the old flow, but just smashed into the screen. Imagine duplicating the Select Missions box on that screen, so when you’re in Pick mode, you get a filtered list of the selected missions in the new box, and you pick a subset of them. This means designing this page so it optionally has another major UI element, which probably means both views will be worse than they need to be. I could have different layouts depending on whether you choose Pick or Any/Known, but now the UI is moving around in response to another UI element, and that’s just terrible. If I have the pick box up all the time but it’s greyed out, then that’s wasting a ton of space, especially since Pick is almost never played right now.
Option 2 is also terrible. By “tri-state” I mean a checkbox or equivalent which has three states, for unselected, selected, and picked. Tri-state UI is pretty non-intuitive and ugly to start with, and there’s an additional issue here where the order they cycle is important. Imagine I use a tri-state checkbox with an X through it, an open box, and the check mark as the three states. Well, if you’re in Any or Known, you just want to cycle between checked and unchecked or it would look weird, so that means unchecked is the visual state for unselected. But then if you’re in Pick mode, it’d be weird to have the open checkbox mean unselected, but the X mean selected but not picked. At least, I think it would be? Maybe I could draw the X so it looks okay, meaning it looks like selected but turned off or something. There are very few standards here, which is always a problem for new UI controls—you really don’t want to innovate in user interface controls—and makes it so the player has to think about it. Also, if I’m using checkboxes, that means I shouldn’t use the highlight for selection that’s in the mockup, and should use checkboxes all the time for consistency, but that’s ugly and unnecessary most of the time due to the current unpopularity of Pick. I could use highlight, lowlight, and strikethrough as the three states, but then that’s even more confusing because strikethrough would mean selected but not picked?
If this was a AAA game, a producer would pick Option 3 before I’d even finished explaining the issue, let alone written a blog post about it. If Pick is unpopular and almost never played, why am I spending all this energy trying to solve this outlier case? Well, I like Pick, and it’s my video game. I think Pick provides some interesting decisions for the Spy at the start of the game. I agree with fans of Any that the ability for the Spy to take advantage of opportunities is great, and it is less meta-gameable than Pick, and I agree that Any should be the main competition mode, but the meta-gaming around Pick is interesting and it’s a nice way to handicap less than an entire mission (Pick M of N is slightly harder for the Spy than Any M of N, but not as hard as Any M+1 of N). So, I’d rather not remove Pick if I can help it.
So, what’s the right solution to this dilemma? Do my job for me in the comments.
Update: I’m prototyping this in the game right now, here’s an early version of the “pantheon” of characters for casting:
I had to modify the code of my lightbox plugin to work with this big image and do the (somewhat) right thing with scrolling! [↩]
Which are called “available” missions in the old flow, but that’s going to change. [↩]
After a hiatus, we’re back with zerotka posting to the blog! – checker
Information is a valuable thing in all areas of life. The government does a great deal of work to keep ‘sensitive’ information from the public, Coca-Cola has a vault for its secret formula, and there are even rumors of secret societies like the Illuminati. It comes as no surprise to me when this expands into any competition. In baseball you can see the catcher give signals to the pitcher on what pitch they are thinking or you can see coaches touch their hats in certain ways to convey secret messages.
Therefore it should be no secret that SpyParty is exactly…the opposite.
You may have read from a previous blog about the community of SpyParty. The community extends a bit further than that. Not only are they friendly and want to treat everyone with respect, they are also open about their top secret strategies. There are a bunch of discussions on the private beta forums about the different strategies people use. Strategy is also freely discussed between players before, during, and after games. I can recall several days where the chat was filled with “theory crafting” and what strategies would be good.
The nature of SpyParty is that communication is bound to happen. When I was working the booth for PAX 2013, I would constantly see players finish a game and immediately talk to their opponent. They would discuss what they were thinking and what got them shot. Communication is extremely helpful when you are playing and learning the game. You gain a wealth of knowledge from the other person but you may also discover things that you do subconsciously. Communication isn’t just for newer players either, there is a TeamSpeak sever that many veterans use to communicate when they play each other. If you fancy watching streams, you can usually listen in to the players and see what they are saying.
SpyParty isn’t the only game in which you can communicate with your opponent after a match. There are tons of games that allow this and inevitably it seems to bring in some pretty mean spirited people. Valve has done a blog post about its communication ban system for Dota 2 and Riot has a team dedicated to helping correct bad behavior. Is SpyParty different by design or has this just been a lucky streak? The player base for SpyParty isn’t very big, especially when compared to Dota 2 and League of Legends. Both games have millions and millions of players. I have personally invested over 2,400 hours into Dota 2 and probably close to 1,000 into League of Legends. Not once, after a game, has the opponent offered advice on how I could improve, or what mistake(s) caused my downfall(s). Yet, after every game of SpyParty, that’s the first thing that gets talked about regardless of how much you have played. There’s some sort of inclination to just talk–even if it’s just about strategies.
Sharing strategies and game breaking bugs in SpyParty isn’t a recent phenomena, it’s been going on since the beginning. checker has stated that he would like to know about strategies in order to properly balance and tune the 1v1 to ensure a better experience for everyone, and so far the community has been doing just that. I’m sure there are some strategies that are being tested out in private or being tinkered with but players don’t seem to keep strategies secret for long, and there does not seem to be a guaranteed winning strategy.
I reached out to checker and asked him his thoughts on the openness of the community and the future of this phenomena.
Could you explain your thoughts on the openness of the community toward sharing strategies and sharing information so readily?
I think it’s amazing! I have two thoughts about it, which are related but separate. First, at this stage in development it’s really important that I find out about any degenerate strategies as soon as possible so I can fix them, and the folks in the beta seem to agree with that and they quickly report bugs that are exploitable in gameplay, or strategies that seem unbalanced. The really experienced players have even gone to the trouble of ranking the game balance bugs in order of priority in the Bugs forum so I can quickly know which ones to fix first. Second, the players in the beta seem genuinely interested in exploring SpyParty‘s the mechanics to see how deep the game goes, and they’ve publicly talked about how sharing strategies will allow them to go deeper faster. I think that shows a lot of forethought and more than a desire to just play a game now and win, but also to help it reach its potential, for which I am very grateful!
Do you think this trend is going to keep up even as the community grows bigger and bigger?
I really hope so. I think the small size of the community and the relative inaccessibility of the game right now help a lot because everybody currently in the beta is committed to the game, for sure. However, I do think (hope?) the design of the game helps with this a bunch too. First, as you mention above, the way the games in a match play out, there’s a clear break time between the games where it just makes sense to ask “Why’d you shoot me?”, and the way the replays are integrated into the game results also encourages analysis and conversation about the game you just played. But another important aspect of the game design that’s different from a lot of other competitive games is the intimacy of an individual game, where you’re playing a close subtle game of hide and seek with a single other human, rather than being on a team of people killing each other repeatedly. The team dynamic in a lot of MOBAs means it’s easy to take credit for victories and blame others for defeats, which doesn’t really work in SpyParty, so I think players approach it from a more humble vantage point from the start, which is good for honest communication. I mean, unless you’re nice and ask, you might never know why the Sniper shot you, so it behooves you to be friendly and exchange information.
Eventually you will run into someone who is trolling or just having a bad day and become a hamper to the community. Is the process that takes care of ‘bad apples’ going to be primarily community driven or some sort of automated reporting system or perhaps a combination?
It remains to be seen, I’m not sure yet what will be necessary. So far, it’s seldom come up, and usually a quick PM in the beta forums solves the problem. As the game grows, I assume we’ll need some kind of reporting system, but I hope to never have to write some kind of algorithm that bans people or whatever. I’m an optimist, even about people on the internet!
Finally, I have heard rumors that the community loves you. Do you have a response to that?
SpyParty is a spy game about human behavior, performance, perception, and deception. While most espionage games have you spend your time shooting stuff, blowing stuff up, and driving fast, SpyParty has you hide in plain sight, deceive your opponent, and detect subtle behavioral tells to achieve your objectives. Unlike the suave and confident spies you might find in films or books, most spies in spy games are more like super powered commandos--more Rambo than James Bond. By contrast, SpyParty is a new and quite different game about the more interesting and deeper aspects of being a spy.
Can I play it?
Yes, at least in beta form! Head over to the Early-Access Beta Page for details!
SpyParty is currently in active development, but there is no ship date yet, and there won't be for a while, because I want to make it perfect! All of the art you see on this website is placeholder art for the gameplay prototype! This blog documents the game's progress. Feel free to leave questions and comments, and I'll try to reply.
Also please tell your friends about the game, and follow the game on Twitter or Facebook. Indie games like SpyParty depend on fans to spread the word. Thanks!