<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SpyParty - A Spy Game About Subtle Behavior</title>
	<atom:link href="http://www.spyparty.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.spyparty.com</link>
	<description>Chris Hecker&#039;s new espionage game about subtle behavior, deception, performance, and perception.</description>
	<lastBuildDate>Wed, 16 May 2012 19:07:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>SpyParty Beta Fan Fiction</title>
		<link>http://www.spyparty.com/2012/05/15/spyparty-beta-fan-fiction/</link>
		<comments>http://www.spyparty.com/2012/05/15/spyparty-beta-fan-fiction/#comments</comments>
		<pubDate>Wed, 16 May 2012 00:55:04 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[art]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[events]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2332</guid>
		<description><![CDATA[So, uh, I have been a little busy lately.  I know it&#8217;s surprising, but the Early-Access Beta has lots of bugs, needs lots of tuning, and the (slowly) growing community needs lots of questions answered and lots of design decisions explained.1 I haven&#8217;t processed all the numbers yet, but some super simple database queries indicate [...]]]></description>
			<content:encoded><![CDATA[<p>So, uh, I have been a little busy lately.  I know it&#8217;s surprising, but the <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/"><em>Early-Access Beta</em></a> has lots of bugs, needs lots of tuning, and the (slowly) growing community needs lots of questions answered and lots of design decisions explained.<sup><a href="http://www.spyparty.com/2012/05/15/spyparty-beta-fan-fiction/#footnote_0_2332" id="identifier_0_2332" class="footnote-link footnote-identifier-link" title="or irrationally defended">1</a></sup></p>
<p>I haven&#8217;t processed all the numbers yet, but some super simple database queries indicate I&#8217;ve sent something like 762 invitations, 357 people have registered,<sup><a href="http://www.spyparty.com/2012/05/15/spyparty-beta-fan-fiction/#footnote_1_2332" id="identifier_1_2332" class="footnote-link footnote-identifier-link" title="which is 47%, and is very close to my most optimistic estimates of 50%, and I haven&amp;#8217;t even sent retries for these mails yet!">2</a></sup> and 246 people have greater than zero seconds of game time.</p>
<p>These early-early-access people have managed to create a really wonderful community already.  As I&#8217;ve <a title="The Near-Term Early-Access Beta Rollout Plan" href="http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/">said before</a>, the main reason I&#8217;m not just inviting all 13047 of you<sup><a href="http://www.spyparty.com/2012/05/15/spyparty-beta-fan-fiction/#footnote_2_2332" id="identifier_2_2332" class="footnote-link footnote-identifier-link" title="as of this post">3</a></sup> into the beta right now is the game&#8217;s lobby server and backend technology is not scalable yet, so everything would just melt.  However, there&#8217;s a secondary reason, and it may be even more important in the long run: growing a healthy community is a difficult and delicate thing to do, and a good community is incredibly important, especially for a game as different as <strong>SpyParty</strong>. Because there&#8217;s no in-game support yet for mentoring, or ranking, or cheat protection, or replays, or tutorials, or any of the important stuff that tries to keep player-skill game communities on the interenet from hating each other instantly, I&#8217;m counting on the beta testers themselves to be good people, help newbies, and teach each other to play better.  They are doing a fantastic job, exceeding even my very high expectations.  But, like growing a company, it&#8217;s important to introduce new people into the culture slowly so as not to overwhelm it. As the beta progresses, I will be posting lots of stuff from the private beta forums, including strategy guides, data analysis, opinions about tuning and balancing, and all that serious stuff.</p>
<p>This post is a little different.</p>
<p>Beta tester zerotka (otherwise known as Keith here on the blog and <a href="http://facebook.com/SpyParty">facebook</a>) has been called the <a href="http://en.wikipedia.org/wiki/Jane_Goodall">Jane Goodall</a> of <strong>SpyParty</strong>, because he studies the NPCs<sup><a href="http://www.spyparty.com/2012/05/15/spyparty-beta-fan-fiction/#footnote_3_2332" id="identifier_3_2332" class="footnote-link footnote-identifier-link" title="buxx immediately said &amp;#8220;NPCs in the Mist&amp;#8221; when this idea went around the lobby">4</a></sup> and then writes about their behavior, sometimes uncovering serious bugs in my code in the process.  However, because he stares at the party so long&#8230;well, better to use his own words:</p>
<blockquote>
<p><strong>zerotka: </strong> I had recently decided to go into practice mode and watch how the AI partied. I decided to start off with watching the waiter and how party members would react after getting a drink. I was hoping to find some tells so i spent quite a bit of time with it. I think after about the 10th or so game, i had to write a short-story-like-thingy. I had shared it with a couple other testers and they thought i should post it on the forums. I was hesitant at first, but alas, here i am.</p>
<hr />
<p><strong>Toby</strong><br />The other day I had taken a few minutes and watched the waiter, Toby. <br />I watched him from outside the ballroom.<br />He walked about, person to person, and offered drinks.<br />The guests had no respect for Toby in anyway.<br />The more i watched, the more overwhelmed with sadness i had become.</p>
<p>He would approach a guest and extend out his tray<br />And politely wait&#8230;.<br />He received no form of acknowledgement. <br />They all simply ignored him.</p>
<p>If they happened to be thirsty, they&#8217;d turn around,<br />grab a drink from the tray and immediately return to the conversation.<br />Not a &#8220;Thanks&#8221;, Not a, &#8220;How&#8217;s your day&#8221;,<br />Nothing. </p>
<p>Sometimes, a guest would turn around to grab a drink<br />but when they saw it was Toby they would return to the conversation.<br />After i saw that, i..<br />..i lost control of myself.<br />&#8220;Don&#8217;t let them do that to you Toby!&#8221; I had screamed.<br />He was completely invisible to them.<br />They would even run into him!</p>
<p>Several minutes of constant disrespect had drained the life out him.<br />He began to believe what everyone was doing to him&#8211;He believed he was a robot, an AI.<br />If i had enough bullets, I&#8217;d shoot every one of those jerks for you Toby!<br />But i only had one bullet.<br />And even if i had enough to kill all of them, more would spawn to replace them.<br />A tear had formed in my eye.</p>
<p>I had grabbed my sniper and centered Toby in the sights.<br />He had walked toward the window and stared at me.<br />I could tell by his blank expression <br />that his life had somehow spiraled out of control<br />And he knew there was only one way out of it.<br />I switched the safety off. <br />I&#8217;m sorry Toby.</p>
<p>The tear had fallen down my cheek and onto the ground.<br />The glasses on the tray had crashed to the floor,<br />Guests had screamed and cowered in fear. </p>
<p>Even though the spy had gotten away<br />I still felt like it was a small victory.</p>
<p>I hope in digital heaven, they serve <em>you</em> alcohol.</p>
<hr />
<p>The real ending was actually me during the 11th game and shooting the first person who refused a drink from Toby.</p>
</blockquote>
<p> This thread, as you might expect, blossomed. </p>
<blockquote>
<p><strong>sirlaitier:</strong> Here&#8217;s a haiku:</p>
<p>Security Guard<br />Can&#8217;t be bothered to squat down<br />Stands over the dead</p>
<p><strong>zerotka:</strong></p>
<p>I think Chris Hecker<br />Just forgot to put knee caps<br />On the character</p>
</blockquote>
<p> A few builds later, I snuck a little something into the game&#8230;it took a few days for people to notice.</p>
<p><div id="attachment_2352" class="wp-caption aligncenter" style="width: 687px"><img class="size-full wp-image-2352 " title="toby-before-after" src="http://cdn.spyparty.com/wp-content/uploads/2012/05/toby-before-after.jpg" alt="" width="677" height="387" /><p class="wp-caption-text">Before and after fanfic inspiration!</p></div>
<p>The thread continued&#8230;</p>
<blockquote>
<p><strong>quirken:</strong></p>
<p>♫Who&#8217;s the spy?<br />Oh sniper, don&#8217;t shoot me<br />Don&#8217;t shoot me no more<br />Oh, sniper don&#8217;t shoot me<br />Don&#8217;t shoot me no more</p>
<p>Who&#8217;s the spy?<br />Yeah</p>
<p>Oh, I don&#8217;t know why you shot me<br />I gave you no clue, but you didn&#8217;t care<br />So what is right and what is wrong<br />Gimme a sign♫</p>
</blockquote>
<p>&nbsp;</p>
<blockquote>
<p><strong>hunter4hire:</strong></p>
<p><strong>Memoirs of Virginia Vulpes</strong><br />I&#8217;m not a rich person, and I don&#8217;t associate myself with them.<br />but when my best fried Girta, told me she has tickets to a grand opera, I couldn&#8217;t refuse.<br />When the day finally came, I put on my best. My orange Sunday dress.</p>
<p>We arrived at the theater late, and the opera was about to start!<br />how exciting, that it was, but not as exciting as the Intermission.<br />Guests flooded the veranda balcony for cocktails and cigars.<br />we walked through big french doors, and took a fresh breath in.<br />there were fine sculptures and a charming bartender, handing out <br />cocktails and brandy.</p>
<p>Girta and I started chatting about the opera, and a few guests<br />have joined our conversation. That&#8217;s when I noticed something strange.<br />This young gentlemen seemed to have grabbed another gentleman&#8217;s high knee!<br />What was stranger, is that he didn&#8217;t react to it! Later I found he was an Ambassador of some foreign country.<br />Girta saw it too, and we just looked at each other puzzled, and we both knew, something odd was going on.</p>
<p>I strolled over to one of the bookcases, while Girta was fraternizing with a young fellow. <br />I could see she was already infatuated with the young man. <br />I was surprised to the amazing book collection, but then I saw that gentleman from before!<br />he was a few not a foot away from me, as he was looking at a golden statue of some sort of bird.<br />I tried not to stare, when he gave me a wink! and pulled out a similar looking statue from beneath his coat!<br />he quickly swapped the two, and whispered to me, &#8220;If you tell anyone, I will kill you.&#8221;<br />I stood there in shock clutching &#8220;Sun Tsu&#8217;s Art of War&#8221; in my hand.<br />my heart started to beat fast.<br />I took a deep breath and turned around. I saw Girta coming towards me, I couldn&#8217;t wait to tell her what happened, when suddenly a sharp quick sound of a muffled gun fired! </p>
<p>I could swear the following few seconds lasted many minutes.</p>
<p>Girta&#8230; she took one step forward, and fell to her knees.<br />as she fell to the floor, her blood has started to spill..</p>
<p>Dear God&#8230;</p>
<p>My friend..</p>
<p>My best friend..</p>
<p>Who would hurt such an innocent woman!?<br />People started to scream as I saw that nasty man who has stolen the statue, flee inside.</p>
<p>The next day, I packed a few baggs.<br />I swore to myself and to Girta.. may she rest in peace.. that I would find that man.<br />and kill him, for I am certain it was him.</p>
<p>It was my fault&#8230;</p>
<p>He was aiming for me&#8230;</p>
<p>If I hadn&#8217;t gone to the opera, I would have never spot that man, doing his dirty deed.<br />oh Girta&#8230; I&#8217;m so&#8230; so&#8230; sorry.</p>
<p>I&#8217;m off to find your killer. I don&#8217;t know how I will find him.</p>
<p>But I must.</p>
<p>This is my last entry.</p>
</blockquote>
<p>Then it started bleeding into other threads, like the one where people were discussing whether the Sniper should have a personification in the world outside the window, instead of just being a disembodied laser.</p>
<blockquote>
<p><strong>quirken:</strong> The sniper should be the silhouette of the banana suit guy that dances to the PB&amp;J Time song. A bit of a quick mock-up for you all to enjoy. Obviously, the banana is not to scale.</p>
<p><a href="http://cdn.spyparty.com/wp-content/uploads/2012/05/spyparty-sniper.png"><img class="alignnone size-medium wp-image-2341" title="spyparty-sniper" src="http://cdn.spyparty.com/wp-content/uploads/2012/05/spyparty-sniper-257x300.png" alt="" width="257" height="300" /></a></p>
</blockquote>
<p>And the inevitable response&#8230;</p>
<blockquote>
<p><strong>moomanibe:</strong>  &#8230;.The artist in me would not let me ignore this.</p>
<p>I&#8217;m sorry.</p>
<p><a href="http://cdn.spyparty.com/wp-content/uploads/2012/05/Snipernanna.jpg"><img class="alignnone size-medium wp-image-2342" title="Snipernanna" src="http://cdn.spyparty.com/wp-content/uploads/2012/05/Snipernanna-300x300.jpg" alt="" width="300" height="300" /></a></p>
</blockquote>
<p>And a subtle reference back in the original thread&#8230;</p>
<blockquote>
<p><strong>zerotka:</strong> My quick rendition of what families feel like when the darn sniper misses the spy.</p>
<div id="attachment_2339" class="wp-caption alignnone" style="width: 310px"><a href="http://cdn.spyparty.com/wp-content/uploads/2012/05/Claire.jpg"><img class="size-medium wp-image-2339" title="Claire" src="http://cdn.spyparty.com/wp-content/uploads/2012/05/Claire-300x139.jpg" alt="" width="300" height="139" /></a><p class="wp-caption-text">Make sure you click to read the article.</p></div></blockquote>
<p>Okay, back to trying to figure out why the lobbyserver is leaking 130kb when it times out dead clients.</p>
<hr/><ol class="footnotes"><li id="footnote_0_2332" class="footnote">or irrationally defended</li><li id="footnote_1_2332" class="footnote">which is 47%, and is very close to my most optimistic estimates of 50%, and I haven&#8217;t even sent retries for these mails yet!</li><li id="footnote_2_2332" class="footnote">as of this post</li><li id="footnote_3_2332" class="footnote">buxx immediately said &#8220;NPCs in the Mist&#8221; when this idea went around the lobby</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/05/15/spyparty-beta-fan-fiction/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>A Beta Chat Log and The Current Leaderboard</title>
		<link>http://www.spyparty.com/2012/04/22/a-beta-chat-log-and-the-current-leaderboard/</link>
		<comments>http://www.spyparty.com/2012/04/22/a-beta-chat-log-and-the-current-leaderboard/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 07:27:44 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[beta]]></category>
		<category><![CDATA[metrics]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2296</guid>
		<description><![CDATA[One of the best things about finally having regular players in your game&#8217;s beta is you get to watch the server logs for bugs, or just snoop on your players chatting with each other before and after games.  In fact, this is so addictive, and you learn so much about how your game really works [...]]]></description>
			<content:encoded><![CDATA[<p>One of the best things about finally having regular players in your <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/">game&#8217;s beta</a> is you get to watch the server logs for bugs, or just snoop on your players chatting with each other before and after games.  In fact, this is so addictive, and you learn so much about how your game really works with players by doing this, that I had to basically stop myself because I was sitting there all day watching the logs scroll by rather than, you know, fixing bugs.</p>
<p>That said, I thought you&#8217;d like a taste of this server voyeurism yourself, so I asked arbaard and dbfclark if I could repost their chats from a series of games a few nights ago.  These chats are great, because they show two very good players (both were at <a title="PAX, Day 1" href="http://www.spyparty.com/2010/09/04/pax-day-1/">PAX 2010</a> when I first showed the game, arbaard was in the <a title="PAX, Day 3, ZOMG" href="http://www.spyparty.com/2010/09/06/pax-day-3-zomg/">tournament</a>, and dbfclark is the person who noticed that the line watching the games was getting implicit Sniper practice).  You can see them helping each other after each round, discussing what went right and what went wrong, changing the game types as they handicap the games, and sharing information so they both can improve.  Plus, they&#8217;re funny.</p>
<table class="graph" align="center" width="400px">
<tbody>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>hey</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>hia</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>*hiya</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>what would you like to play?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>anything&#8217;s fine</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>have you played much?</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>yeah; you?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>yeah a bunch</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>should be interesting</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>saw the tell</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>alas</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>got me!</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>what tipped you off? time dilation?</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>I was pretty sure when you time dialated</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>haha</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>5/6 is really, really hard!</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>feeling lucky?</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>sorry, what did you do? gotta make it fair</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>5 of 6, right?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>yeah I did any 5/6. I was just playing around though</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>I don&#8217;t think it&#8217;s very balanced for even skill levels</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>ok, off we go</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>I was playing that with my friend who just started playing.</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>alrighty</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>heh</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>sigh</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>what tipped you?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>you were very interested in sculpture.</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>yeah</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>it was either that or seduction.</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>5/6 is a little too hard for spy, methinks</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>well done</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>thought you had me when I bugged the amabassador</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>you were definitely a top suspect, but I didn&#8217;t have my eye on</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>you enough</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>not nearly as sneaky as I should have been.</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>damn it</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>I thought it was that black guy</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>thought I was doing so well there</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>were you purposely trying to get me to shoot him?</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>no</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>you got real close, making me think the AI glitched out on him and was just</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>invading his space</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>so I thought he was the guy</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>banana bread just killed me? was it two double agents in convo?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>because both you and him walked away from the window after I noticed we were at 4:00</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>ah</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>greed</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>that&#8217;ll do it</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>no you were talking to the only double agent in a convo</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>ah</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>plus, you were marked high suspicion</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>god I love being fat.</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>argh</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>being fat and a spy</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>thought I saw a bug go down, didn&#8217;t</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>huge plus</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>hides those animations so well!</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>what did the yellow guy do?</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>ok, something wonky is happening; my sound is gone</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>uh oh</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>gonna restart</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>restart?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>have you joined the steam group by the way?</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>not really</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>It&#8217;s better than waiting around in the lobby</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>well, I&#8217;m in the steam group, but I don&#8217;t have the overlay set up</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>oh</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>well that&#8217;s fine</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>that was only like a side-not</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>e</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>nope</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>that was super unfortunate</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>caught the tell?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>she ducked while you bugged</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>oh, crap</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>and your hand went in the wrong direction</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>EVERYBODY</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>WAS IN MY WAY</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>I must have bumped into 5 people</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>and that damn waiter&#8230;</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>yeah, but that was the second funny walk twitch I caught</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>that was me cancelling a failed banana bread</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>twice.</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>nicely done.</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>hah!</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>oh darn</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>sorry</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>that wasa supposed to be a perfect banana bread</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>it actually was a pretty good one, I just had my eye on you</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>you ran away</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>haha!</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>nobody picked up on that until now</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>I usually banana and run</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>oh no!</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>no idea where that came from</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>why&#8217;d you shoot him?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td> hunch</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>fair, happens</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>he was marked</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>ah</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>then went blue, statues green</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>haha</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>crap</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>that was intentional.</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>perfect banana</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>when he came in.</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>ah</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>wasn&#8217;t why I shot him</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>oh really?</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>though it helped</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>what did he do?</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>drank too fast, I thought</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>oh, weird!</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>sigh</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>nope</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>changin it up high?</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>fair</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>ugh, so close</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>I should have played it cool for a min</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>that&#8217;s why I shot you ;-)</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>probably</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>yeah but did you see my awesome ambassador bug?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>that was cool</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>gave him the briefcase and a bug.</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>hahaha</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>nice try</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>that was sneaky</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>cheaty cheaty &#8212; it&#8217;s usually a good opening move</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>I was nervous about it &#8212; good to see my ners were justified</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>you just happened to beeline across the empty room.\</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>heh</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>sigh</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>check out how I transferred the microfilm</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>never trusy my instincts</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>you see how I transferred the microfilm?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>as the general?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>it was pretty cool.</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>I&#8217;m not sure I get it</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>(I did the book swap as your char model)</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>oh, I see</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>:)</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>f!</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>jow</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>joy</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>\</td>
</tr>
<tr>
<td colspan="2" height="30px" valign="center" align="center"><b>Saved Game Results.</b></td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>WHY?</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>I WAS JUST SIPPING MY MARTINI!</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>yep. sipping and watch checking</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>sorry</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>that&#8217;s funny, I didn&#8217;t even add time</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>yeah</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>I was just chillin</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>I know</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>the statue mission bugged and I couldn&#8217;t complete it</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>you were chillin&#8217; nervously ;-)</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>I was gonna play it cool</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>ah</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>I also saw the woman with the briefcase go stationary</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>sorry, I gota go do household things</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>alrighty</td>
</tr>
<tr>
<td align="right"><b>arbaard</b></td>
<td>nice playing with you!</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>thanks for the games! I learned a lot</td>
</tr>
<tr>
<td align="right"><b>dbfclark</b></td>
<td>another time</td>
</tr>
</tbody>
</table>
<p>I&#8217;ll do more posts from the beta soon!  I&#8217;m slowly inviting folks from the <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/">beta sign-up</a> in now, and it&#8217;s working out great so far.  Lots of <a title="How to Report Bugs the SpyParty Way" href="http://www.spyparty.com/2012/04/12/how-to-report-bugs-the-spyparty-way/">bugs reported</a>, lots of bugs fixed, and people are playing a ton and seem to be having a great time!  Here&#8217;s the leaderboard as of right now, look at some of the play times and remember a lot of these people have only been in there a few days!</p>
<div id="attachment_2313" class="wp-caption aligncenter" style="width: 416px"><a href="http://cdn.spyparty.com/wp-content/uploads/2012/04/leaderboard-20120422.png"><img class="size-large wp-image-2313" title="leaderboard-20120422" src="http://cdn.spyparty.com/wp-content/uploads/2012/04/leaderboard-20120422-406x600.png" alt="" width="406" height="600" /></a><p class="wp-caption-text">Seventeen and a half hours played in four days!? So. Awesome.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/04/22/a-beta-chat-log-and-the-current-leaderboard/feed/</wfw:commentRss>
		<slash:comments>75</slash:comments>
		</item>
		<item>
		<title>The Welcome Post and Tutorial Video From the Beta Forums</title>
		<link>http://www.spyparty.com/2012/04/17/the-welcome-post-and-tutorial-video-from-the-beta-forums/</link>
		<comments>http://www.spyparty.com/2012/04/17/the-welcome-post-and-tutorial-video-from-the-beta-forums/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 18:33:49 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[beta]]></category>
		<category><![CDATA[playtests]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2277</guid>
		<description><![CDATA[This is the Welcome post for the SpyParty Early-Access Beta forums, including the tutorial video I recorded last night, which will hopefully help the complete newbs I&#8217;m about to invite in from getting frustrated (and shot). Welcome to the SpyParty Early-Access Beta! This welcome post is going to be a living document, which is to say I&#8217;m probably going [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the Welcome post for the <strong>SpyParty</strong> <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/">Early-Access Beta</a> forums, including the tutorial video I recorded last night, which will hopefully help the complete newbs I&#8217;m about to invite in from getting frustrated (and shot).</em></p>
<p><span style="font-size: large;">Welcome to the <strong>SpyParty</strong> <em>Early-Access Beta</em>!</span></p>
<p>This welcome post is going to be a living document, which is to say I&#8217;m probably going to accidentally leave out 97% of the information that should be in here. I&#8217;m going to edit it constantly, hopefully trending eventually towards leaving out only 95% of the information that should be in here!</p>
<p>When you figure out something I should have put in this post, you should reply to it and I&#8217;ll slowly merge the additional information into the post itself.</p>
<p><strong>Getting Started</strong></p>
<p>If you&#8217;re reading this, then you registered and logged into the beta website correctly, so the next thing you should do is download and install <strong>SpyParty</strong>! On your beta homepage you should find a <em>Download Latest <strong>SpyParty</strong> Setup</em> link. If you click that, you will get a download for the latest version of the <strong>SpyParty</strong> installer. Sadly, some newer versions of Google&#8217;s Chrome browser are claiming the file is malicious, which I really don&#8217;t appreciate, but I&#8217;m trying to work it out with them.</p>
<p>After you run this installer, you should have your copy of <strong>SpyParty</strong> installed, along with the PDF of the manual and the README.txt file. You should read those first before playing. Yes, I know, reading about games is boring and playing games is more fun, but <strong>SpyParty</strong> is a very different kind of game—so your previous game experience will not carry over very well—and it&#8217;s <em>very</em> early in development. It has a lot of rough edges and very little online help. So, please read those documents and this post before trying to play, or else I&#8217;m worried you&#8217;ll get really frustrated and not have a very good time, and that would make me sad. Trust me, you&#8217;ll have a much better time if you read the documentation!</p>
<p>After you&#8217;ve read the available docs, you should launch the game and go into Practice mode, and then Practice Spy. This mode has no opponent, and you&#8217;re not playing online, so you can take your time and figure out how to accomplish all the missions.</p>
<p>Here is a tutorial video I recorded going through Practice Spy, Practice Sniper, and Preview Spy Missions. It&#8217;s 15 minutes of me babbling, as if I&#8217;m giving you an in-person tutorial at a conference or playtest, and it assumes you&#8217;ve read the manual and README.txt. If you want to see the Sniper laser, you probably have to englarge it up to see the full 720p resolution, but even then it&#8217;s hard to see with the video compression artifacts.</p>
<p><a href="http://www.spyparty.com/2012/04/17/the-welcome-post-and-tutorial-video-from-the-beta-forums/"><em>Click here to view the embedded video.</em></a></p>
<p>You should make sure you can complete each mission in Practice Spy mode, including the variants on the missions (like Bugging the Ambassador while in a conversation and while walking, or Transferring the Microfilm both inside and outside the book), and do them within the time limit for the map. If you can do this, you have a good chance of winning your first game playing as Spy (against another newbie, of course!).</p>
<p>You should also do a round of Practice Sniper, getting comfortable with the controls, including how to shoot when the time comes. If you&#8217;re new to the game, I would not bother learning highlighting and lowlighting suspects yet, but just concentrate on being aware of who is doing what, looking for suspicious behavior, remembering which statues are in place, and the like.</p>
<p>You can also check out the Preview Missions option in the Practice Menu. This mode will allow you to see all the Spy tells looping forever, so you know what to look for as the Sniper.</p>
<p><strong>Playing Online</strong></p>
<p>When you finally do go on line to play, you should try to play people at your same skill level. There is no matchmaking or ranking yet, so you&#8217;ll have to look at the number of games played in the lobby stats to know who to play. If you have to play somebody way more experienced than you, make sure you ask them to mentor you during play, let you know what you&#8217;re doing wrong, and what you should be looking for. There are also a lot of ways of handicapping different skill levels, which I can talk about in a different thread.</p>
<p>Also, since the beta is still in its early days, there are not a lot of people with active accounts yet, so the lobby is most likely going to be empty if you just randomly log in. You should use the forums to make dates to play with others if you can&#8217;t get a pick-up game going, or use the newly created <a href="http://steamcommunity.com/groups/SpyParty">Steam group</a> to find other matches.</p>
<p>You can also leave <strong>SpyParty</strong> running in the background in the lobby if you want. The default is to beep when a chat comes in and the game is running in the background, so this will notify you if somebody shows up while you&#8217;re waiting. Some of the other early beta testers use this technique!</p>
<p>At some point soon, we&#8217;ll start regular playtests at regular times. I need to figure out the best time for this, and I&#8217;ll probably run a poll here in the forums.</p>
<p><strong>Learning to Play</strong></p>
<p>Beginners should play the Beginner Ballroom map, with its 4 pre-selected missions (Bug Ambassador, Transfer Microfilm, Steal Statue, and Contact Double Agent). You should alternate between Spy and Sniper roles while playing this map. </p>
<p>After 20 games or more of Beginner Ballroom, the Sniper should start winning more than half the games. When this starts happening, the Spy should feel like it&#8217;s becoming impossible to get all the missions done with the Sniper&#8217;s laser on you constantly. You&#8217;re now ready to switch from the Beginner Ballroom to the Ballroom. This is the same room and number of partygoers, but the missions are opened up for selection, and you can start playing the &#8220;subset&#8221; game types. The Spy should choose &#8220;Pick 3 of 4 Missions&#8221; in the Choose Game Type menu, and then make the same 4 missions available as you played in the Beginner Ballroom (meaning, uncheck Inspect Statues and Seduce Target), but then only choose 3 of them on the Choose 3 Missions menu. </p>
<p>The Sniper knows which 4 missions are available, but not which 3 are active for the Spy. This subsetting means the Sniper can no longer camp one of the missions, knowing the Spy will eventually have to attempt it, and instead has to weigh the risks in devoting too much attention to a mission the Spy might not even have picked! Now things are starting to get interesting! Of course the Spy wouldn&#8217;t have picked the Transfer Microfilm mission, it&#8217;s really hard! But, wait, maybe the Spy knows the Sniper will think that, so it becomes the right mission to pick?! This is known as <a href="http://www.sirlin.net/articles/yomi-layer-3-knowing-the-mind-of-the-opponent.html">yomi</a> in game design, and it&#8217;s awesome.</p>
<p>Once you&#8217;ve played the subset game types a bunch, you can feel free to move on to the other maps and the other missions. By now, you&#8217;re ready to help other new beta testers learn how to play!</p>
<p><strong>Talking about SpyParty</strong></p>
<p>You are welcome to talk about <strong>SpyParty</strong> as much as you want in public. You can record videos and post them to youtube, post on your blog, or <a href="http://twitter.com/spyparty">twitter</a>, or <a href="http://facebook.com/SpyParty">facebook</a> about it, comment about it on gaming blogs, or mention it and your beta testing experiences where ever you like. </p>
<p>I&#8217;m even totally comfortable with you talking about it if you don&#8217;t like it, but at least post a link here or send it to support at spyparty.com so I can take a look at your criticisms and learn from them.</p>
<p>These beta forums are private right now so there&#8217;s a place where all the beta testers can hang out with each other, report bugs, and know that everybody else they&#8217;re talking to has access to the game, but they don&#8217;t mean you can&#8217;t talk about the game and your experiences on the internet at large (of course, don&#8217;t repost anything from the private beta forum without the permission of the author, that&#8217;s just good netiquette!). </p>
<p>Indie games need all the help they can get with word-of-mouth, so feel free to talk it up everywhere!</p>
<p>Thanks for joining,<br />Chris</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/04/17/the-welcome-post-and-tutorial-video-from-the-beta-forums/feed/</wfw:commentRss>
		<slash:comments>78</slash:comments>
		</item>
		<item>
		<title>How to Report Bugs the SpyParty Way</title>
		<link>http://www.spyparty.com/2012/04/12/how-to-report-bugs-the-spyparty-way/</link>
		<comments>http://www.spyparty.com/2012/04/12/how-to-report-bugs-the-spyparty-way/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 20:21:10 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[beta]]></category>
		<category><![CDATA[playtests]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2255</guid>
		<description><![CDATA[I just wrote this post for the Bugs subforum on the Early-Access Beta site.  I figured you all would be interested in reading it, since you&#8217;re all going to be invited into the beta soon.1 Finding and reporting bugs is a learnable skill, and you don&#8217;t have to be a programmer or even a particularly [...]]]></description>
			<content:encoded><![CDATA[<p><em>I just wrote this post for the Bugs subforum on the <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/">Early-Access Beta</a> site.  I figured you all would be interested in reading it, since you&#8217;re all going to be invited into the beta soon.</em><sup><a href="http://www.spyparty.com/2012/04/12/how-to-report-bugs-the-spyparty-way/#footnote_0_2255" id="identifier_0_2255" class="footnote-link footnote-identifier-link" title="for a suitable definition of &amp;#8220;soon&amp;#8221;">1</a></sup></p>
<p><div id="attachment_2258" class="wp-caption alignright" style="width: 310px"><a href="http://cdn.spyparty.com/wp-content/uploads/2012/04/j82zE.jpg"><img class="size-medium wp-image-2258" title="j82zE" src="http://cdn.spyparty.com/wp-content/uploads/2012/04/j82zE-300x168.jpg" alt="" width="300" height="168" /></a><p class="wp-caption-text">&quot;he probably would&quot;</p></div>
<p>Finding and reporting bugs is a learnable skill, and you don&#8217;t have to be a programmer or even a particularly technical person to do it right, you just have to be methodical and thoughtful. Reporting bugs the Right Way means I can spend more time making <strong>SpyParty</strong> awesome and less time trying to get a bug to &#8220;repro&#8221; locally.</p>
<p><strong>What is a &#8220;Repro&#8221;?</strong></p>
<p>The goal of a bug report is to describe the steps to <strong>repro</strong>duce the buggy behavior (whether it&#8217;s a crash that deletes your entire hard disk or it&#8217;s a word that&#8217;s not pluralized correctly in the user interface somewhere) well enough that I can step through them on my machine and see the behavior first-hand. A bug that doesn&#8217;t repro is very hard to fix, whereas a bug with a &#8220;good repro&#8221; is usually pretty trivial to fix. It can be the difference between 10 minutes to fix and 10 days to fix, literally. So, when posting a bug report, the key is to do some work on your end to be methodical and give steps to repro the bug as simply and as clearly as you can. It&#8217;s basically a recipe to make the buggy behavior happen for you (and me!).</p>
<p>This does <strong>not</strong> mean you shouldn&#8217;t report bugs that don&#8217;t always happen the same way or happen infrequently, or that you can&#8217;t get a good repro for, but it does mean those bugs will be much harder for me to fix. In other words, it&#8217;s more important to report the bug poorly than it is to not report it at all, but a good repro makes a huge difference.</p>
<p><strong>Bug Reporting Steps</strong></p>
<p>I&#8217;ll be updating these steps as the beta proceeds, and eventually I&#8217;ll switch this part of the forum over to a real bug database, but for now, threads in this forum will have to do. The basic rule is <strong>one thread per distinct bug</strong>.</p>
<ol>
<li>Try to reproduce the buggy behavior on your machine. If you crashed, write down what you were doing right before the crash before you forget it, and then relaunch the game and try to get it to crash again. If you can&#8217;t repro the bug, <strong>you should still report it</strong> with as much description as you can, but as I say above, it&#8217;s way easier to fix bugs with good solid repros. The shorter the recipe for the repro, the better. As Einstein said, you want the simplest possible repro, but no simpler. A bug that repros in Practice Mode is easier to debug than one where I have to connect over the network, for example.</li>
<li>If screenshots look like they&#8217;ll help to repro or describe the bug, feel free to take them (you can do it by hitting F5 when the game is running, or use FRAPS or your favorite screenshot tool). If you hit F5, the screenshot is put in your AppData/Local/SpyParty/screenshots directory, which you can get to by going to the Start menu and typing &#8220;%LOCALAPPDATA%\SpyParty\screenshots&#8221; into the little edit box, and hitting return. I&#8217;ve enabled attachments in the forums, so please attach the images to your bug report (as opposed to using a 3rd party image service, which might delete the images after a while).</li>
<li>Make sure you have the latest <strong>SpyParty</strong> build. The easiest way to do this is to launch the game and hit &#8220;Play&#8221; on the main menu, which will try to take you to the lobby. The lobby will update your build if you&#8217;re out-of-date. If you update, try your repro steps again to make sure they still work.</li>
<li>Search this subforum for similar bugs. If you find the same bug, then read the thread on that bug, and see if there is a workaround, or if I think I&#8217;ve fixed it in an update, etc. If I think I&#8217;ve fixed it in that thread I will mark the subject with &#8221; &#8211; FIXED&#8221;, and I really want to know if you have the same bug again! <strong>This is called a &#8220;regression&#8221; and it means I&#8217;m a bad programmer!</strong></li>
<li>If you find the exact bug, feel free to add more information at the end of the thread. I will try to add a &#8220;vote for posts&#8221; feature so you can simply say &#8220;me too&#8221;, but until then, feel free to add a post if there aren&#8217;t already a bunch of others doing the same, or if you have additional information or slight modifications or a simpler repro that might help debug the problem.</li>
<li>If you don&#8217;t find an exact match in the current bugs, but do find bugs that seem related, keep the links to those threads so you can insert them into your bug report. A real bug database allows you to reference other bugs, so this is our ghetto version of that feature.</li>
<li>Create a new thread in the bugs forum if your bug is a new one. Use a descriptive thread title. &#8220;Game buggy&#8221; is a bad one. &#8220;Main Menu text disappears after window maximized&#8221; is a good one. I might change the title after we&#8217;ve discussed the bug a bit, but starting off with something descriptive will help.</li>
<li>At the top of the post, describe the end state of the bug, meaning what&#8217;s wrong, like &#8220;the game crashes&#8221;, &#8220;the statues are floating in mid-air&#8221;, or whatever. <strong>Describe what you expected to happen, and what happened instead.</strong> Attach an image showing the bug, if appropriate.</li>
<li>Then put your repro recipe in the post, written as clearly and as simply as possible. You can use the bbcode list tags, or just write it out, either works. Attach any more images you have to show how to repro the bug, but you don&#8217;t have to go crazy (saying &#8220;hit Play on the main menu&#8221; is fine, you don&#8217;t need to screenshot the main menu, take it into Photoshop and add an arrow with &#8220;click here&#8221; text unless the exact place to click matters to repro the bug, for example).</li>
<li><strong>SpyParty</strong> writes out a log file every time it runs. You can find these log files in the &#8220;logs&#8221; directory (&#8220;%LOCALAPPDATA%\SpyParty\logs&#8221;). The file name for the log files has the date and time of the playtest session start (e.g. SpyParty-20120412-11-54-49.log). Attach the log file that goes with you reproing the bug with the steps you&#8217;ve posted. Similarly, if your game crashed but said it could <strong>not</strong> upload the crash dump, then attach the correctly dated dmp file from the logs directory. Otherwise, SpyPartyHelper uploaded the dmp file to my server so I can access it, but mention this in the bug report.</li>
<li>If there&#8217;s private information you need to send with the bug report, mention this in the report itself, and then send mail to support at spyparty.com.</li>
<li>If you want to attach a really big file, say over 2MB, please mention this and I&#8217;ll figure out a place for you to put it, please <strong>don&#8217;t</strong> mail giant files to support at spyparty.com.</li>
</ol>
<p>That&#8217;s it for now! Feel free to reply to this post with suggestions of how to improve the bug reporting process and I&#8217;ll edit this post.</p>
<p>Eventually I will add a way to report bugs from inside the game that will take a screenshot and everything automatically. Won&#8217;t that be nice?</p>
<hr/><ol class="footnotes"><li id="footnote_0_2255" class="footnote">for a suitable definition of &#8220;soon&#8221;</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/04/12/how-to-report-bugs-the-spyparty-way/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>A Small Party at GDC for Playtesters and Press</title>
		<link>http://www.spyparty.com/2012/03/19/a-small-party-at-gdc-for-playtesters-and-press/</link>
		<comments>http://www.spyparty.com/2012/03/19/a-small-party-at-gdc-for-playtesters-and-press/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 00:45:43 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[indie games]]></category>
		<category><![CDATA[playtests]]></category>
		<category><![CDATA[press]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2227</guid>
		<description><![CDATA[I decided at pretty close to the last possible minute to have a small &#8220;thank you&#8221; party for the first set of SpyParty beta playtesters, and I invited some friends from the press who have been covering the game for a while.  Scheduling things during the evening at a big tradeshow like GDC is basically [...]]]></description>
			<content:encoded><![CDATA[<p>I decided at pretty close to the last possible minute to have a small &#8220;thank you&#8221; party for the <a title="The Near-Term Early-Access Beta Rollout Plan" href="http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/">first set</a> of <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/">SpyParty beta</a> playtesters, and I invited some friends from the press who have been <a href="http://www.spyparty.com/category/press/">covering the game</a> for a while.  Scheduling things during the evening at a big tradeshow like <a href="http://www.gdconf.com/">GDC</a> is basically impossible&#8230;there are so many other conflicting events and parties and meetings that you have to just pick a date and go with it.  I picked Tuesday night, and tried to make it a short party, scheduled in-between other big events, but in a bizarre twist of fate I still ended up landing <a href="http://kotaku.com/5891267/gdc-notebook-day-2-al-gore-in-deadwood-super-mario-what">right on top of the SimCity 5 launch event</a>, a game being made by all my old friends from Maxis.  Oops.</p>
<p>Anyway, the idea behind this party was to get the hardcore playtesters playing together in-person and say &#8220;Thanks!&#8221; with beer and snacks, but also to get them mentoring the folks from the press, who haven&#8217;t seen much of the mid-game yet because they haven&#8217;t played enough games.  I don&#8217;t know how well the mentoring thing worked out since it was not exactly a quiet contemplative training environment, but everybody seemed to have a good time, and that was the main goal.  Huge thanks to <a href="http://the-witness.net/news/">Jonathan Blow</a> for letting me use his suite for the party, and to <a href="http://artofluis.com/">Luis</a> &amp; Mylene and John &amp; Alice for bringing the food<sup><a href="http://www.spyparty.com/2012/03/19/a-small-party-at-gdc-for-playtesters-and-press/#footnote_0_2227" id="identifier_0_2227" class="footnote-link footnote-identifier-link" title="Mylene&amp;#8217;s homemade guacamole was awesome!">1</a></sup> and drinks!</p>
<p>I took some pictures, maybe you can recognize some playtesters and press&#8230;</p>

<div class="ngg-galleryoverview" id="ngg-gallery-14-2227">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-375" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0506.jpg" title=" " rel="lightbox[set_14]" >
								<img title="I was late setting up, so everybody had to hang out in Jonathan's bedroom for a bit." alt="I was late setting up, so everybody had to hang out in Jonathan's bedroom for a bit." src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0506.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-376" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0507.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0507" alt="dscn0507" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0507.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-377" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0508.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0508" alt="dscn0508" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0508.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-378" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0513.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0513" alt="dscn0513" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0513.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-379" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0514.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0514" alt="dscn0514" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0514.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
				<br style="clear: both" />
	
 		
	<div id="ngg-image-380" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0516.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0516" alt="dscn0516" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0516.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-381" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0517.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0517" alt="dscn0517" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0517.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-382" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0518.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0518" alt="dscn0518" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0518.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-383" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0520.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0520" alt="dscn0520" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0520.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-384" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0521.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0521" alt="dscn0521" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0521.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
				<br style="clear: both" />
	
 		
	<div id="ngg-image-385" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0522.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0522" alt="dscn0522" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0522.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-386" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0523.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0523" alt="dscn0523" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0523.jpg" width="56" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-387" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0525.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0525" alt="dscn0525" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0525.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-388" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0527.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0527" alt="dscn0527" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0527.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-389" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0528.jpg" title=" " rel="lightbox[set_14]" >
								<img title="dscn0528" alt="dscn0528" src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0528.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
				<br style="clear: both" />
	
 		
	<div id="ngg-image-390" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0533.jpg" title=" " rel="lightbox[set_14]" >
								<img title="Alice &amp; John and Mylene &amp; Luis work out their relationship issues with a sniper rifle." alt="Alice &amp; John and Mylene &amp; Luis work out their relationship issues with a sniper rifle." src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0533.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-391" class="ngg-gallery-thumbnail-box" style="width:20%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://cdn.spyparty.com/wp-content/gallery/gdc12/dscn0534.jpg" title=" " rel="lightbox[set_14]" >
								<img title="Winding down, Ian discusses Elite Sniper Play." alt="Winding down, Ian discusses Elite Sniper Play." src="http://cdn.spyparty.com/wp-content/gallery/gdc12/thumbs/thumbs_dscn0534.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class="ngg-clear"></div> 	
</div>


<p>And, now we&#8217;re in the home stretch for the next batch of invites.  I&#8217;m plowing through the list of bugs and feature requests from the first batch, and the next invites are going out really soon™.  Here&#8217;s the current todo list:<br /><del></del></p>
<ul class="tightlist">
<li><del>put portraits up along side for cast characters</del></li>
<ul>
<li><del>also spy!</del></li>
<li><del>how to center text? allow two lines worth of space? uneven spacing?</del></li>
<li><del>have box with ? on side for casting characters – progress status and neat</del></li>
</ul>
<li><del>don’t get that click on guy selects during cast characters</del></li>
<ul>
<li><del>character/level chooser mouse tip for select versus next/prev</del></li>
</ul>
<li><del>mouse overrides cursor keys in menus if over item…don’t override if key change but no mouse change</del></li>
<li><del>why is volume not working on last 30 seconds timer on sniper machine?</del></li>
<li><del>sniper review tells on waiting screens &#8211; sort of</del></li>
<ul>
<li><del>basic infrastructure for this</del></li>
<ul>
<li><del>chooser through animations playing on loop!</del></li>
<li><del>text title and description support</del></li>
</ul>
<li><del>require sniper okay to continue</del></li>
<li><del>bug_ambassador</del></li>
<li><del>double_agent</del></li>
<li><del>inspect_statues</del></li>
<li><del>seduction</del></li>
<li><del>steal_statue</del></li>
<li><del>transfer_book</del></li>
<li>check_watch</li>
</ul>
<li><del>mouse clicks are going to background window on spy side</del></li>
<li><del>does spy side keep mouse cursor on results screen?</del></li>
<li><del>sniper camera moves on results screen</del></li>
<li><del>pgup-&gt;PageUp</del></li>
<li><del>fix statue pad size</del></li>
<li>multiple affordances controls</li>
<ul>
<li>display bumpers/QE/mousewheel?</li>
</ul>
<li><del>update action test text as affordance changes for Signal Double Agent?</del></li>
<ul>
<li><del>or kill it if it&#8217;s not an active affordance, so have to restart?</del></li>
</ul>
<li>document action test is same button?</li>
<ul>
<li>put small icon next to it?</li>
</ul>
<li><del>update while in lobby</del></li>
<ul>
<li><del>Update Failed on download bar&#8230;needs to test more</del></li>
</ul>
<li>remove briefcase verbs? or ignore them?</li>
<li>write forum welcome/intro/faq posts</li>
<ul>
<li>update readme, or just empty it and point to the focum post?</li>
</ul>
<li><del>how to report bugs post</del></li>
<ul>
<li><del>post threads for known bugs</del></li>
</ul>
<li>tutorial video, walk through Spy and Sniper practice mode as if I was showing you how to play at a playtest</li>
<li><del>ctrl-delete delete next word, use ctrl-right code&#8230;uh, and fix that</del></li>
<li><del>updated lobbyserver won&#8217;t accept old connections, even to update, idiot!</del></li>
<li><del>start sniper while other on results -&gt; no -&gt; sniper -&gt; assert(level) &#8211; yay, found it!</del></li>
<ul>
<li><del>needs to zero play id on starting sniper because still current</del></li>
</ul>
<li><del>need to fix gameid/playid thing&#8230;I&#8217;m constantly stomping the gameid</del></li>
<ul>
<li><del>store gameid/playid pairs from server, then look up based on playid</del></li>
<li><del>store playid on server as well</del></li>
</ul>
<li><del>can&#8217;t escape from sniper results after play attempt? IsLobbyGameOver busted</del></li>
<li><del>add string wrap to property parser, or general line continuation?</del></li>
</ul>
<p>I haven&#8217;t decided how many people to invite in the <a title="The Near-Term Early-Access Beta Rollout Plan" href="http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/">next batch</a>, but it&#8217;ll be somewhere between 20 and 50, depending on how confident I&#8217;m feeling.  <em>Yikes, 50 strangers from the internet!</em></p>
<p><em>2012-03-23 15:19:45 &#8211; Crossed some stuff off.  Working on the missions preview code, so people will be able to see what all the tells look like before playing.</em></p>
<p><em>2012-03-30 13:24:10 &#8211; Added a bunch of stuff I&#8217;ve been working on that wasn&#8217;t on the posted list!</em></p>
<p><em>2012-04-03 17:18:30 &#8211; Well, it turns out the mission tell preview took a lot longer than I thought, and I still didn&#8217;t manage to hook it up to the Sniper waiting screens, so it&#8217;s just in the practice menu for now.  I shouldn&#8217;t have done this one now, but once I started I failed to stop working on it.</em></p>
<hr/><ol class="footnotes"><li id="footnote_0_2227" class="footnote">Mylene&#8217;s homemade guacamole was awesome!</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/03/19/a-small-party-at-gdc-for-playtesters-and-press/feed/</wfw:commentRss>
		<slash:comments>112</slash:comments>
		</item>
		<item>
		<title>Beta Bug Fixing Meets Game Design</title>
		<link>http://www.spyparty.com/2012/03/14/beta-bug-fixing-meets-game-design/</link>
		<comments>http://www.spyparty.com/2012/03/14/beta-bug-fixing-meets-game-design/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 22:56:52 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[beta]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[playtests]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2181</guid>
		<description><![CDATA[So, I&#8217;m motoring along through my beta todo lists,1 and I start to investigate a bug Rachel found during a recent playtest:  &#8220;suspected double agent on rollover but no triangles?&#8221; Seems simple enough, and I&#8217;m able to reproduce it quickly.  Allow me to explain the bug, and then the naive fix, and then the real [...]]]></description>
			<content:encoded><![CDATA[<p><div class="wp-caption alignright" style="width: 216px"><img class=" " title="triangle" src="http://cdn.spyparty.com/wp-content/uploads/2012/03/triangle.png" alt="" width="206" height="342" /><p class="wp-caption-text">Cast Character Display</p></div>
<p>So, I&#8217;m motoring along through my beta todo lists,<sup><a href="http://www.spyparty.com/2012/03/14/beta-bug-fixing-meets-game-design/#footnote_0_2181" id="identifier_0_2181" class="footnote-link footnote-identifier-link" title="Yes, sadly, there are multiple todo lists.">1</a></sup> and I start to investigate a bug <a title="More Playtests, More Tasks" href="http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/">Rachel found during a recent playtest</a>: <em> &#8220;suspected double agent on rollover but no triangles?&#8221;</em></p>
<p>Seems simple enough, and I&#8217;m able to reproduce it quickly.  Allow me to explain the bug, and then the naive fix, and then the real fix that doesn&#8217;t mess up the game&#8217;s tuning&#8230;</p>
<a name="Missions%2C+Casting%2C+and+Game+Modes"></a><h3>Missions, Casting, and Game Modes</h3>
<p>First, some missions have <em>cast characters</em>, meaning the Spy (or the code) gets to pick a character at the party to cast into a role, for example the Ambassador, the Seduction Target, or the Double Agent.  These cast characters are displayed to the Spy and Sniper with a triangle over their heads, and the Sniper also gets a bit of <em>rollover text</em> when the target is on the cast character.  You can see an example to the right. </p>
<p>The Sniper sometimes doesn&#8217;t get to see the correct cast character, so while both players get to know which character is the Ambassador, only the Spy gets to know who the Seduction Target is.  For the Contact Double Agent mission, the Spy gets to see the real Double Agent, and the Sniper gets to see multiple Suspected Double Agents, and doesn&#8217;t know which one is really it.<sup><a href="http://www.spyparty.com/2012/03/14/beta-bug-fixing-meets-game-design/#footnote_1_2181" id="identifier_1_2181" class="footnote-link footnote-identifier-link" title="The real Double Agent is always a suspect.&nbsp; The Spy doesn&amp;#8217;t get to know who the other suspects are, just to make things even crazier!&nbsp; Asymmetry everywhere!">2</a></sup></p>
<p>There are also multiple game modes on most maps, and some of the game modes are known as <em>subset modes</em>, where the Spy can select for play a subset of the total available missions for the map, and then optionally enable a subset of the selected missions.  This is for more advanced play, and subsets prevent the Sniper from camping a given mission, or at least make it a very high risk strategy to do so because he or she can&#8217;t be sure the Spy is actually attempting that mission.   The Sniper can see which missions the Spy has selected, but not which he or she has enabled, so in the shot below, you can see the Transfer Microfilm, Swap Statue, Inspect Statues, and Seduce Target missions are selected, but the Spy only has to do 3 out of 4 of them.<sup><a href="http://www.spyparty.com/2012/03/14/beta-bug-fixing-meets-game-design/#footnote_2_2181" id="identifier_2_2181" class="footnote-link footnote-identifier-link" title="There are actually two kinds of subset modes, one where the Spy has to pick which subset he or she will attempt before starting, and another where the Spy can opportunistically attempt the missions at play time.">3</a></sup></p>
<p><div class="wp-caption aligncenter" style="width: 300px"><img class="size-full wp-image-2201 " title="selected-missions-crop" src="http://cdn.spyparty.com/wp-content/uploads/2012/03/selected-missions-crop.png" alt="" width="290" height="143" /><p class="wp-caption-text">The Spy&#39;s Selected (but not necessarily Enabled) Missions</p></div>
<p>&nbsp;</p>
<div id="attachment_2185" class="wp-caption alignright" style="width: 167px"><img class="size-full wp-image-2185 " title="triangle-bug" src="http://cdn.spyparty.com/wp-content/uploads/2012/03/triangle-bug-e1331764052208.png" alt="" width="157" height="207" /><p class="wp-caption-text">The rollover text but no triangle!</p></div>
<a name="The+Bug"></a><h3>The Bug</h3>
<p>The bug reproduces when I deselect the Contact Double Agent mission on the Ballroom map, so there is no real Double Agent.  The mission code still randomly casts the Suspected Double Agents and sends them to the Sniper.  The Sniper code does &#8220;the right thing&#8221; in the code that draws the triangle and checks if the mission is selected, but doesn&#8217;t check in the rollover text code, and so you get the latter but not the former.  It looks like the shot to the right.</p>
<p>I obviously shouldn&#8217;t be displaying the rollover text to the Sniper for Suspected Double Agents when that mission isn&#8217;t selected as available.  Or should I&#8230;</p>
<a name="The+Fix%28es%29"></a><h3>The Fix(es)</h3>
<p>My first thought was the obvious:  check whether the mission is enabled, and if it is, don&#8217;t display the text.  But as I was looking into making that fix, I started thinking about the ramifications of that change.  None of the cast characters can be the Spy (currently), so that eliminates a bunch of people at the party from the Sniper&#8217;s point-of-view, including the Waiter, the Ambassador, the Security Guard, and yes, the Suspected Double Agents.  If I fixed the bug and removed the rollover text, it would actually <em>increase</em> the number of potential Spies at the party, and change the tuning to make things more difficult for the Sniper.  The more partygoers the Sniper has to worry about, the more information he or she has to sift through to find the real Spy.</p>
<p>But, if I go the other direction, and just remove the number of Suspected Double Agents from the party if the mission is not selected, then things get easier for the Sniper, because even if the Sniper knows the suspects can&#8217;t be the Spy, having that density of people in the room increases the cognitive load.</p>
<p>After bouncing this issue off a friend, it seems like the right thing to do in the near term is to still send over the Suspected Double Agents, and display the triangle <em>and</em> the rollover text, even if the mission is not selected.  This way the number of people at the party stays constant regardless of whether that mission is selected, and the game stays tuned correctly.  It&#8217;s actually a kind of interesting solution, because it means the Sniper has just a tiny bit more cognitive load, because the suspects will be at the party, but the Sniper will have to either lowlight them or remember to ignore them if the Contact Double Agent mission is not selected.</p>
<p>Here&#8217;s the fix that actually removes the enabled check on the triangle draw code:</p>
<pre style="font-size: small; background-color: #dddddd; margin-left: 20px; border-style: solid; border-width: 1px; border-color: #000000;">=== modified file 'project/spyparty/code/situations/double_agent/double_agent.cpp'
--- project/spyparty/code/situations/double_agent/double_agent.cpp      2012-02-24 03:13:37 +0000
+++ project/spyparty/code/situations/double_agent/double_agent.cpp      2012-03-14 21:20:46 +0000
@@ -414,8 +414,8 @@
     }
-    if(enabled &amp;&amp; ( (GameMode == MODE_SNIPER) || (GameMode == MODE_DEBUG)) ) {
-        // highlight the suspects
+    if((GameMode == MODE_SNIPER) || (GameMode == MODE_DEBUG)) {
+        // highlight the suspects, even if we're not enabled, else we're affecting the tuning of the map...sigh
         for(uint32 i = 0; i &lt; NumSuspectedAgents; ++i) {
</pre>
<p>Eventually, once I&#8217;ve got enough people <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/">in the beta</a> to get valid statistics, I can experiment with other solutions, like removing the suspects. Another thing I&#8217;m not sure of is whether I need to display the Double Agent on the Spy view in this case&#8230;currently I don&#8217;t. It&#8217;s hard to see how that would matter since the Spy&#8217;s gameplay is so different, but I&#8217;m not quite sure.</p>
<p>This was not the blog post I was planning on making today, but I found it interesting that such a simple bug could have subtle tuning impact like this, and decided to share.  I firmly believe basically all game programming is game design, and the little decisions made while writing code are where the game design rubber hits the road, but this one surprised me with the subtlety of the ramifications.  I&#8217;m trying to imagine what would have happened if this was a big game with a team of designers, a team of producers, and a team of programmers, and this bug got entered by QA into the database, shunted to a programmer via an associate producer, and then &#8220;fixed&#8221; and checked off the list.  How long would it have taken to figure out why the Sniper was winning or losing more often than before after the next official beta build rollout?</p>
<p>I&#8217;ll post GDC pics next time!</p>
<hr/><ol class="footnotes"><li id="footnote_0_2181" class="footnote">Yes, sadly, there are multiple todo lists.</li><li id="footnote_1_2181" class="footnote">The real Double Agent is always a suspect.  The Spy doesn&#8217;t get to know who the other suspects are, just to make things even crazier!  Asymmetry everywhere!</li><li id="footnote_2_2181" class="footnote">There are actually two kinds of subset modes, one where the Spy has to pick which subset he or she will attempt before starting, and another where the Spy can opportunistically attempt the missions at play time.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/03/14/beta-bug-fixing-meets-game-design/feed/</wfw:commentRss>
		<slash:comments>74</slash:comments>
		</item>
		<item>
		<title>I Should Not Be Posting About This Beta Playtest</title>
		<link>http://www.spyparty.com/2012/03/04/i-should-not-be-posting-about-this-beta-playtest/</link>
		<comments>http://www.spyparty.com/2012/03/04/i-should-not-be-posting-about-this-beta-playtest/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 02:38:19 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[miscellaneous]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2167</guid>
		<description><![CDATA[I really should be working on my GDC1 talks. Instead, I am writing up yet another beta playtest, so I will make this quick! On Friday my friends and awesome game artists Luis Antonio and John Cimino playtested.  They were only supposed to play 4 or 6 games, but kept playing for an hour, which [...]]]></description>
			<content:encoded><![CDATA[<p>I really should be working on my <a href="http://schedule.gdconf.com/session/13473382/A_Fireside_Chat_with_Markus_%27Notch%27_Persson">GDC</a><sup><a href="http://www.spyparty.com/2012/03/04/i-should-not-be-posting-about-this-beta-playtest/#footnote_0_2167" id="identifier_0_2167" class="footnote-link footnote-identifier-link" title="The interview with Notch is supposed to be live-streamed on Gamespot, no link as of yet.">1</a></sup> <a href="http://schedule.gdconf.com/session/13473342/BURN_THIS_MOTHERFATHER%21_Game_Dev_Parents_Rant">talks</a>. Instead, I am writing up <a title="The First Beta Playtest" href="http://www.spyparty.com/2012/02/21/the-first-beta-playtest/">yet</a> <a title="More Playtests, More Tasks" href="http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/">another</a> <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/">beta</a> playtest, so I will make this quick!</p>
<p>On Friday my friends and awesome game artists <a href="http://artofluis.com/">Luis Antonio</a> and John Cimino playtested.  They were only supposed to play 4 or 6 games, but kept playing for an hour, which is a good sign.  Of course, I took a bunch of notes, so here are the tasks from that:</p>
<ul class="tightlist">
<li>don&#8217;t get that click on guy selects during cast characters</li>
<li>mouse overrides cursor keys in menus if over item&#8230;don&#8217;t override if key change but no mouse change</li>
<li>have box with ? on side for casting characters &#8211; progress status and neat</li>
<li>why is volume not working on last 30 seconds timer on sniper machine?</li>
<li>sniper review tells on waiting screens</li>
<ul>
<li>chooser through animations playing on loop!</li>
<li>require sniper okay to continue</li>
</ul>
<li>detailed stats stay on mouseover and off&#8230;good?</li>
<ul>
<li>mode on chooser that says if mouse moves off, and not keyboard select, then help goes away?</li>
</ul>
<li>pgup-&gt;PageUp</li>
<li>ambassador was doing tapdance again&#8230;is it always the ambassador? I think so&#8230;!<sup><a href="http://www.spyparty.com/2012/03/04/i-should-not-be-posting-about-this-beta-playtest/#footnote_1_2167" id="identifier_1_2167" class="footnote-link footnote-identifier-link" title="I&amp;#8217;ve been seeing this rare bug where one of the characters would slide across the floor, jittering.&nbsp; I noticed it again during this playtest and realized I always see it on the Ambassador, which is a huge help in debugging it!">2</a></sup></li>
<li>microfilm get animation is same as put, so you get it out of your pocket, which makes no sense</li>
</ul>
<p>I need to consolidate the recent punch lists so you folks can see what I&#8217;m working on.  I occasionally check items off the older lists in the older posts, which is kind of silly.  Sadly, the tasks on this list aren&#8217;t going to get checked off for a while due to the conference this week.</p>
<p>The best anecdote from the playtest was when John shot Luis and then said, &#8220;I lowlighted all of the men at the start because you&#8217;ve only ever picked women as the Spy.&#8221;   Luis realized his meta-mistake, and had to consciously start randomizing his character choices more. That is exactly the kind of know-your-opponent <a href="http://www.sirlin.net/articles/yomi-layer-3-knowing-the-mind-of-the-opponent.html">yomi</a> gameplay I want to encourage!</p>
<p>If you notice the laptop to the left in the picture below, John is actually chatting with us using Google Talk.  Luis and John didn&#8217;t notice because they haven&#8217;t played that much yet and I didn&#8217;t want to point it out, but I could clearly hear the Spy&#8217;s mouse clicks through the connection, and they are huge tells, so I&#8217;m going to have to figure out what to do about that before I enable voice chat as a feature.</p>
<p><div id="attachment_2171" class="wp-caption aligncenter" style="width: 610px"><img class="size-large wp-image-2171" title="luis-DSCN0500" src="http://cdn.spyparty.com/wp-content/uploads/2012/03/luis-DSCN0500-600x362.jpg" alt="" width="600" height="362" /><p class="wp-caption-text">SpyParty causes bad posture.</p></div>
<p>All the auto-update, crash dump, and login stuff seems to be working really well, so I&#8217;m super happy about that.</p>
<p>Now, back to my talks!</p>
<hr/><ol class="footnotes"><li id="footnote_0_2167" class="footnote">The interview with <a href="http://twitter.com/notch">Notch</a> is supposed to be live-streamed on Gamespot, no link as of yet.</li><li id="footnote_1_2167" class="footnote">I&#8217;ve been seeing this rare bug where one of the characters would slide across the floor, jittering.  I noticed it again during this playtest and realized I always see it on the Ambassador, which is a huge help in debugging it!</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/03/04/i-should-not-be-posting-about-this-beta-playtest/feed/</wfw:commentRss>
		<slash:comments>51</slash:comments>
		</item>
		<item>
		<title>More Playtests, More Tasks</title>
		<link>http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/</link>
		<comments>http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 00:09:49 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[beta]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[playtests]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2145</guid>
		<description><![CDATA[Last Thursday we did a small playtest, the second so far in the Early-Access Beta!  This time it was Rachel, Lauren, Ian, and me, and we played and chatted (and restarted after crashes) for a little over 3 hours. As it should, the playtest generated a ton of tasks, but this time I actually fixed [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-2148" style="padding-bottom: 10px; padding-left: 10px;" title="Punishment_sisyph" src="http://cdn.spyparty.com/wp-content/uploads/2012/02/Punishment_sisyph-275x300.jpg" alt="" width="275" height="300" />Last Thursday we did a small playtest, the <a title="The First Beta Playtest" href="http://www.spyparty.com/2012/02/21/the-first-beta-playtest/">second so far</a> in the <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/"><em>Early-Access Beta</em></a>!  This time it was Rachel, Lauren, Ian, and me, and we played and chatted (and restarted after crashes) for a little over 3 hours.</p>
<p>As it should, the playtest generated a ton of tasks, but this time I actually fixed a bunch of them <em>before</em> I got around to posting this, so here is the pre-struck-through punch list!  It seems much more satisfying this way, if only all my task lists were already mostly done before I posted them&#8230;</p>
<ul class="tightlist">
<li><del>coming out of settings menu doesn&#8217;t eat the final up and it performs action</del></li>
<li><del>what is invert-y&#8217;s key? &#8211; was shift-y, made ctrl-y</del></li>
<li>notify new chats if pageupped</li>
<ul>
<li>/ring bell when message comes in if in background?</li>
</ul>
<li><del>display match or lobby [channel] on /say and /emote</del></li>
<li><del>escape should clear timestamps on all chats if displayed</del></li>
<li>floating briefcase</li>
<li><del>change white chat help to darker</del></li>
<li><del>stop echoing command on /say /emote /whisper</del></li>
<ul>
<li><del>also do /reply and /retell local emulation</del></li>
</ul>
<li><del>chat help on sniper machine adjust up like chat line for portraits</del></li>
<li><del>gameid sync is because server sends, then get request to change, which clears game</del></li>
<ul>
<li><del>include gameid in request?</del></li>
<li><del>this is because of the clearing of the gameid in ClearGame</del></li>
<li><del>the server gameid comes in before the be_role packet, which toasts it</del></li>
<li><del>uh, undo previous CurrentGameID.Zero() change at least, still see sync issues?</del></li>
</ul>
<li><del>if page up, then escape, new chats don&#8217;t show up, and new chats disappear</del></li>
<ul>
<li><del>need to reset paging on escape?</del></li>
</ul>
<li><del>suspected double agent on rollover but no triangles?</del></li>
<li><del>assert IsChatAllowed(), File: .\spyparty.cpp, Line: 5565</del></li>
<ul>
<li><del>when I chatted when cancelling invite</del></li>
</ul>
<li>go back on selection screens</li>
<li><del>enter focus for chat?</del></li>
<ul>
<li><del>or just use it for chat and fuck it for menus</del></li>
<li><del>fine, make it /say</del></li>
</ul>
<li><del>enter on empty chat should close</del></li>
<li><del>crash dump!</del></li>
<ul>
<li><del>pigo says: i hit play again, and when i selected the sniper it crashed right away</del></li>
<li><del>i&#8217;m in results, he e2mm, hit sniper, i hit no, he hits sniper again</del></li>
</ul>
<li><del>no confirm on end match in match menu</del></li>
<li><del>just do SpyWins &amp; SniperWins for lobby stats</del></li>
<li><del>some whipsers getting eaten</del></li>
<li><del>tolower username in game</del></li>
<li><del>MOVEFILE_COPY_ALLOWED</del></li>
</ul>
<p><em>2012-02-29 16:16:25 &#8211; I don&#8217;t think whispers were actually being eaten, I think it was /say in matches, which now describe which [channel] they&#8217;re talking to.  I think.</em></p>
<p>Of course, there are still some tasks left on <a title="The First Beta Playtest" href="http://www.spyparty.com/2012/02/21/the-first-beta-playtest/">the previous list</a>, not to mention <a title="The Remaining Early-Access Beta Todo List" href="http://www.spyparty.com/2011/11/14/the-remaining-early-access-beta-todo-list/">the list before that</a>, but this is forward progress.</p>
<p>The funniest issue from this playtest came from chatting in the lobby.  I use Counter-Strike keys for chat, so &#8216;y&#8217; is public chat, and &#8216;u&#8217; is whisper.<sup><a href="http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/#footnote_0_2145" id="identifier_0_2145" class="footnote-link footnote-identifier-link" title="really team-chat in C-S, but whisper is the closest I have to that.">1</a></sup>  Lauren and Ian are big World of Warcraft players, so they would constantly hit &#8216;enter&#8217; to chat, which when you&#8217;re in the lobby would start a match with somebody. About the third or fourth time one of them ended up playing a game in the middle of a chat conversation, I acquiesced and made &#8216;enter&#8217; a synonym for /say just like &#8216;y&#8217;, and made &#8216;space&#8217; the key for selecting menu items.<sup><a href="http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/#footnote_1_2145" id="identifier_1_2145" class="footnote-link footnote-identifier-link" title="mouse click works as well, obviously.">2</a></sup></p>
<a name="Maxima"></a><h3>Maxima</h3>
<p>When you&#8217;re working on software, you get a feeling when you approach a <a href="http://en.wikipedia.org/wiki/Local_maxima">local maximum</a>, meaning a point where you&#8217;ve got the thing working pretty well given its current overall state.  This is always a long way from the <a href="http://en.wikipedia.org/wiki/Global_maximum">global maximum</a><sup><a href="http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/#footnote_2_2145" id="identifier_2_2145" class="footnote-link footnote-identifier-link" title="if such a thing even exists for works of art and entertainment!">3</a></sup> but it means the game is pretty robust and does all the things it&#8217;s trying to do at this point in time reasonably well.  The current <strong>SpyParty</strong> builds need a bit more testing before they&#8217;re really at that local maximum, but I feel like they&#8217;re getting close.  The builds feel like this towards the end of <a title="PAX West 2011 Report &amp; Pics" href="http://www.spyparty.com/2011/09/23/pax-west-2011-report-pics/">PAX</a>, after I&#8217;ve shaved off the rough edges found from 20 hours of playtesting.</p>
<p>This means I seem to be on schedule for the <a title="The Near-Term Early-Access Beta Rollout Plan" href="http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/">near-term beta rollout plan</a>, which is nice.  I gave the &#8220;invite-some-fans-in-before-GDC&#8221; idea mentioned in that post a little more thought and I realized I was completely insane to even think about that&#8230;I have no time to fix or support anything during GDC,<sup><a href="http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/#footnote_3_2145" id="identifier_3_2145" class="footnote-link footnote-identifier-link" title="or even sleep, sadly.">4</a></sup> so everybody&#8217;s going to have to wait until the week of the 12th for more invites to go out.  Sorry!</p>
<p>Of course, with numerical optimization, moving off a local maximum means things get worse for a while until you find another maxima, and that&#8217;s true with software as well.  My plan is to simply bring you all along for that ride in the short term.  Once there are enough people in the beta who complain about me breaking stuff all the time, I will probably allow people to opt-in to the more bleeding edge builds, and keep them running on a separate server.  This is <a href="http://blog.dota2.com/2012/02/we-got-nothing/">a pretty common thing to do</a> to minimize pain during open betas, but it reduces your pain by increasing mine, so I hope I can put it off as long a possible.<sup><a href="http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/#footnote_4_2145" id="identifier_4_2145" class="footnote-link footnote-identifier-link" title="especially since my server deployment team is me.">5</a></sup></p>
<p>And no, I still haven&#8217;t gotten <a title="The First Early-Access Beta Invite Is Away" href="http://www.spyparty.com/2012/02/16/the-first-early-access-beta-invite-is-away/">my first $14.26</a> from PayPal.</p>
<hr/><ol class="footnotes"><li id="footnote_0_2145" class="footnote">really team-chat in C-S, but whisper is the closest I have to that.</li><li id="footnote_1_2145" class="footnote">mouse click works as well, obviously.</li><li id="footnote_2_2145" class="footnote">if such a thing even exists for works of art and entertainment!</li><li id="footnote_3_2145" class="footnote">or even sleep, sadly.</li><li id="footnote_4_2145" class="footnote">especially since my <a href="http://blog.dota2.com/2012/02/its-not-you-its-us/">server deployment team</a> is me.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/02/27/more-playtests-more-tasks/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>The First Beta Playtest</title>
		<link>http://www.spyparty.com/2012/02/21/the-first-beta-playtest/</link>
		<comments>http://www.spyparty.com/2012/02/21/the-first-beta-playtest/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 07:42:04 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[beta]]></category>
		<category><![CDATA[playtests]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2135</guid>
		<description><![CDATA[Late Sunday night, I was looking at the lobby server logs, and saw a login from &#8220;rachel&#8221; but no logout.  Uh oh, I thought, this must be a bug, since with only 9 people invited into the Early-Access Beta so far, the chance of actually finding another person in the lobby without making a pre-arranged [...]]]></description>
			<content:encoded><![CDATA[<p>Late Sunday night, I was looking at the lobby server logs, and saw a login from &#8220;rachel&#8221; but no logout.  Uh oh, I thought, this must be a bug, since with <a title="The Near-Term Early-Access Beta Rollout Plan" href="http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/">only 9 people</a> invited into the <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/"><em>Early-Access Beta</em></a> so far, the chance of actually finding another person in the lobby without making a pre-arranged date to play was basically zero.</p>
<p>I don&#8217;t have great tools for inspecting the running lobby yet, so I started up a local copy of <strong>SpyParty</strong> and logged on to poke around.  Hey look, it wasn&#8217;t a bug, it was actually my friend Rachel Reynolds, the real live beta tester!  She&#8217;d started up the game after registering, and was just checking things out.  She invited me to a game, and away we went!</p>
<p>According to the stats, we were in the match for 1 hour, 30 minutes, and 17 seconds, and we played 10 games for a total of 44 minutes and 31 seconds of playtime.  We spent a lot of time testing the new chat system and finding bugs and things that need cleaning up.  We also spent a lot of time re-learning how to play because neither of us had played since last summer!</p>
<p>Here&#8217;s the punch list we came up with from this official First Early-Access Beta Playtest:</p>
<ul class="tightlist">
<li>chat</li>
<ul>
<li><del>make local echo look like remote print, no /say</del></li>
<ul>
<li><del>actually, echo command and print message</del></li>
</ul>
<li>help on cursor line feels weird</li>
<li><del>put &#8220;hit &#8216;y&#8217; to chat, page up/down to scroll history&#8221; at bottom</del></li>
<ul>
<li><del>at least until person has done it a couple times?</del></li>
<li><del>nah, just in small text, want to encourage it</del></li>
<li><del>hmm, this is just going to be annoying if it&#8217;s always there&#8230;</del></li>
</ul>
<li><del>mask keys from game when chatting!!!</del></li>
<ul>
<li><del>sniper camera</del></li>
<li><del>spy movement!</del></li>
</ul>
<li><del>don&#8217;t fade messages if app is background</del></li>
<li>do a &#8220;checker is typing&#8221; meta message?</li>
<ul>
<li>can only do this out-of-game or it&#8217;s a tell</li>
</ul>
<li><del>word wrap text to screen</del></li>
<li><del>uh, where do I cap the length of the chat message?!</del></li>
<ul>
<li><del>no where&#8230;need to do it in HandleKey, and have help?</del></li>
<li><del>need to scroll the chat line too, including the help!</del></li>
<ul>
<li><del>or word wrap it? yikes</del></li>
</ul>
</ul>
</ul>
<li><del>statue in hand anim bug</del></li>
<ul>
<li><del>repro: grabbing statue on veranda in overlap area?</del></li>
</ul>
<li><del>fix statues to use the pad instead of radius</del></li>
<li>character/level chooser mouse tip for select versus next/prev</li>
<li>laser event still sending on sniper finished screen</li>
<li><del>add back 3 of 4 known missions on ballroom</del></li>
<ul>
<li><del>have another menu mission state to pick available known missions</del></li>
<ul>
<li><del>pick 4 of 6 that will be the available</del></li>
<li><del>then pick 3 of 4 to accomplish</del></li>
<li><del>make sure this journals</del></li>
</ul>
<li><del>need to store some way of telling which map and game mode in db!</del></li>
<ul>
<li><del>a single dword?</del></li>
</ul>
</ul>
<li>document action test is same button?</li>
<ul>
<li>put small icon next to it?</li>
</ul>
<li>remove briefcase verbs? or ignore them?</li>
</ul>
<p>Not bad for an hour and half&#8217;s &#8220;work&#8221;!</p>
<p>However, for me personally, the biggest (re)discovery of the playtest was that I really like playing my game!  That probably sounds odd, but in the seemingly endless months of getting the beta ready, losing myself in server code that is necessary but feels very far away from making a work of art and entertainment for other humans to experience and enjoy, I&#8217;d actually forgotten how much I love just plain playing <strong>SpyParty</strong>, and it was great to be reminded of that.</p>
<p><em>Also, goddamn this game is stressful to play!</em></p>
<p><em>2012-03-02 13:59:07 &#8211; Just checked off the statue bugs.  Nobody is reading this old entry anymore, though, are they?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/02/21/the-first-beta-playtest/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>The Near-Term Early-Access Beta Rollout Plan</title>
		<link>http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/</link>
		<comments>http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 04:12:00 +0000</pubDate>
		<dc:creator>checker</dc:creator>
				<category><![CDATA[beta]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[playtests]]></category>

		<guid isPermaLink="false">http://www.spyparty.com/?p=2105</guid>
		<description><![CDATA[I still do not have my $14.26 from PayPal.  But, I have fixed most of the bugs that Jonathan Blow—the first official SpyParty Early-Access Beta invitee—found, so I guess I&#8217;m not going to wait for PayPal1 and hope things are working now. There have been a lot of questions here on the blog, on Twitter, [...]]]></description>
			<content:encoded><![CDATA[<p>I still do not have my <a title="The First Early-Access Beta Invite Is Away" href="http://www.spyparty.com/2012/02/16/the-first-early-access-beta-invite-is-away/">$14.26 from PayPal</a>. </p>
<p>But, I have fixed most of the bugs that <a href="http://the-witness.net/news/">Jonathan Blow</a>—the first official<strong> SpyParty</strong> <em><a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/">Early-Access Beta</a></em> invitee—found, so I guess I&#8217;m not going to wait for PayPal<sup><a href="http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/#footnote_0_2105" id="identifier_0_2105" class="footnote-link footnote-identifier-link" title="Give me my $14.26, PayPal!&nbsp; And yes, I am going to provide other payment provider options soon.">1</a></sup> and hope things are working now.</p>
<p><img class="alignright size-medium wp-image-2107" style="padding-left: 10px;" title="rollout" src="http://cdn.spyparty.com/wp-content/uploads/2012/02/rollout-300x199.jpg" alt="" width="300" height="199" />There have been a lot of questions here on the blog, on <a href="http://twitter.com/spyparty">Twitter</a>, and on <a href="http://facebook.com/SpyParty">Facebook</a> about how the beta rollout is going to work, and a few misunderstandings based on ambiguous statements I&#8217;ve made, so I figured I&#8217;d try to clear all that up in this post.</p>
<p>First, and most importantly, <strong>everybody who <a title="Sign Up for the SpyParty Early-Access Beta!" href="http://www.spyparty.com/beta-sign-up/">signed up</a> will get invited into the beta</strong>, it just might take a while.  Just getting to the point where I could send a single invitation email was way more work than I thought it would be, so it is going to take some time to get things to where I can invite in all 11,147 people who have currently signed up (as of this blog post).</p>
<p>I can, however, say how the very near future of the next few weeks is going to go&#8230;</p>
<a name="Near-Term"></a><h3>Near-Term</h3>
<p>Today, I need to finish writing up some basic documentation, including the Welcome Message in the private beta forums, the How to Report Bugs post in the forums, the Beta Test FAQ, and I need to update the game&#8217;s README.txt.  Hopefully I will grind these out in the next few hours.</p>
<p>Then, this evening, I&#8217;m going to send out a small number of invitations to my hardest-core and longest-term playtesters, folks like <a title="Know Your Enemy, Especially if He or She Has a Sniper Rifle" href="http://www.spyparty.com/2011/01/27/know-your-enemy-especially-if-he-or-she-has-a-sniper-rifle/">Paul and Ian</a>.  <strong></strong>This will be sent to only about <a href="https://twitter.com/#!/spyparty/status/170795131514011648">8 friends</a>, all of whom are game developers and who have played a lot of <strong>SpyParty</strong> already, and who are very comfortable playing with very early software.  This group&#8217;s job is to play a lot, to find more subtle bugs—especially if I&#8217;ve broken any tuning since I haven&#8217;t playtested since <a title="PAX West 2011 Report &amp; Pics" href="http://www.spyparty.com/2011/09/23/pax-west-2011-report-pics/">PAX West 2011</a>—and to make sure all the new score ranking and player database stuff works.  I&#8217;ll be fixing the bugs they report and implementing the features they request on a daily basis, in addition to playing a lot myself so I can stay even remotely competitive in my own game.</p>
<p>While these folks are testing, I&#8217;m going to finish the Invite-a-Friend feature, so they can test that as well, which will mix a few more people into the beta.</p>
<p>At this point it&#8217;s probably around March 1st, and I&#8217;m hoping the extremely-low-hanging bug/feature fruit will be mostly picked and everybody will be having a fun time playing and I&#8217;ll be ready to invite some more people in, including people I don&#8217;t know personally.  Unfortunately, this is also when <a href="http://gdconf.com/">GDC</a> hits, which means I lose a week of productivity, so I&#8217;m going to hold off on new invites until after that&#8217;s over.  I&#8217;ll be doing a little <strong>SpyParty</strong> press at GDC, but I&#8217;m going to keep it pretty mellow.  I also might set up the laptops at some parties again, not sure.</p>
<p>After GDC, or maybe just before GDC if I&#8217;m feeling really confident and things are going swimmingly, I&#8217;ll invite in a small group of the earliest and hardest-core fans from the invite list, the blog, Twitter, Facebook, GDC, and PAX, and a small hand-picked batch of press who&#8217;ve been covering the game closely since the beginning.</p>
<p>Then the real bulk invites will happen shortly after that.  I&#8217;ll start with 20 people from the beta sign up list, mostly in order from the beginning, but also probably randomizing 25% of them from the whole list so at least a few people won&#8217;t have to wait quite as long to get invited.  Then, once the dust settles from those 20, I&#8217;ll invite 50, and then 100, and so on.</p>
<a name="Less-Near-Term"></a><h3>Less-Near-Term</h3>
<p>At some point, my server will start melting from too many simultaneous players, but I don&#8217;t expect that to happen until I&#8217;ve got 1000 or more people invited in, so this first group should get in pretty quickly.  I will look at the bottlenecks and optimize the server, and that might get me to 2000 invited, or around 200 simultaneous players.<sup><a href="http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/#footnote_1_2105" id="identifier_1_2105" class="footnote-link footnote-identifier-link" title="That is, if 10% is a reasonable estimate for peak concurrent users relative to registered users, which it seems to be.">2</a></sup>  By that point I want to have my server infrastructure scalable and running in the cloud, but that&#8217;s going to be a significant chunk of programming, so there might be a delay at this point in getting more invites out.</p>
<p>Finally, once the backend is scalable, I can start inviting larger groups of people in at the same time.  When I can send out 2000 invitations and everything runs smoothly as those people sign up, download the game, and start playing, it will be time to invite the rest of the beta list in, shut down the list, and let people join the beta directly without an invite. I think I&#8217;ll probably have a couple week period where I invite all the confirmed signed up people in, but don&#8217;t allow new signups, as a way of saying Thank You for signing up.</p>
<p>But, that&#8217;s all months and months away.  The Near-Term section above should be reasonably accurate, but this part is mostly me making stuff up right now.</p>
<hr/><ol class="footnotes"><li id="footnote_0_2105" class="footnote">Give me my $14.26, PayPal!  And yes, I am going to provide other payment provider options soon.</li><li id="footnote_1_2105" class="footnote">That is, if 10% is a reasonable estimate for <em>peak concurrent users</em> relative to <em>registered users</em>, which <a href="http://massively.joystiq.com/tag/peak-concurrent-users/">it seems to be</a>.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.spyparty.com/2012/02/17/the-near-term-early-access-beta-rollout-plan/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Content Delivery Network via Amazon Web Services: CloudFront: cdn.spyparty.com

Served from: www.spyparty.com @ 2012-05-17 06:18:25 -->
