<?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>Push cx &#187; Games</title>
	<atom:link href="http://push.cx/category/games/feed" rel="self" type="application/rss+xml" />
	<link>http://push.cx</link>
	<description>A traveling geek&#039;s blog on development, games, and the web</description>
	<lastBuildDate>Fri, 14 Oct 2011 10:24:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Timing</title>
		<link>http://push.cx/2011/timing</link>
		<comments>http://push.cx/2011/timing#comments</comments>
		<pubDate>Fri, 12 Aug 2011 22:47:43 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Allabrilyn]]></category>
		<category><![CDATA[Fantasy Adventure Game]]></category>
		<category><![CDATA[P]]></category>
		<category><![CDATA[so play we all]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1827</guid>
		<description><![CDATA[Luke, who writes backwards like DaVinci did some more game design with help from #bbg (on irc.freenode.net &#8211; anyone&#8217;s welcome to drop by to talk browser game development, it&#8217;s a great place). Reading his note photo, it looks like he&#8217;s breaking cards down into Settings, Characters, and Monsters. There&#8217;s not a lot more info, just [...]]]></description>
			<content:encoded><![CDATA[<p>
Luke, who <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuZmFudGFzeWFkdmVudHVyZWdhbWUuY29tLzIwMTEvMDgvMTAvZ2l0LWNoZWNrb3V0LWItc2ltX2NhcmRfZ2FtZS8=">writes backwards like DaVinci</a> did some more game design with help from #bbg (on irc.freenode.net &#8211; anyone&#8217;s welcome to drop by to talk browser game development, it&#8217;s a great place). Reading his note photo, it looks like he&#8217;s breaking cards down into Settings, Characters, and Monsters. There&#8217;s not a lot more info, just that he&#8217;s spending his hours planning out his game.
</p>

<p>
Speaking of hours, I missed responding to something in <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9wcmVzZW50aW5n">his previous update</a>:
</p>

<blockquote>
Eventually, I&#8217;m going to create web interfaces for a lot of this stuff, but for now I&#8217;ll have to do any settings and etc. by hand in the database. By the way, the interface work isn&#8217;t strictly game-related and can be handled outside of So Play We All hours.
</blockquote>

<p>
After the first week we said hours had to be budgeted towards code, but not marketing and blogging. It&#8217;s vague here, Jim, what are you referring to working on? If &#8220;interface&#8221; means HTML frontend, that&#8217;s code that&#8217;s gotta get counted, Luke and I both did a bunch of template work on budget.
</p>

<p>
Anyways, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9pbm5vY2VuY2UtbG9zdA==">this week</a> Jim&#8217;s got some nice top-to-bottom functionality done in his rendering engine. It felt a bit like <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cub2Fxbi5jb20vMjAxMS9sYXppbmVzcy1wYXlzLW9mZg==">my update</a> about finishing off code from last week. He&#8217;s rendering a basic page:
</p>

<blockquote>
We do not have DisplayRegions yet, so I am just some simple text. However, this page is now valid XHTML and not simple plain-text!
</blockquote>

<p>
Congrats on the milestone, Jim.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1827" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/timing/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Breakdowns</title>
		<link>http://push.cx/2011/breakdowns</link>
		<comments>http://push.cx/2011/breakdowns#comments</comments>
		<pubDate>Sat, 06 Aug 2011 05:20:59 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Allabrilyn]]></category>
		<category><![CDATA[Fantasy Adventure Game]]></category>
		<category><![CDATA[oaqn]]></category>
		<category><![CDATA[so play we all]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1824</guid>
		<description><![CDATA[When Jim asked me how many hours I could put to So Play We All this week, I said &#8220;Negative three&#8221;. That turned out to be pretty accurate, as I managed to drop on the floor all but the three most important things for my week. Unfortunately, Oaqn didn&#8217;t make that top three so I [...]]]></description>
			<content:encoded><![CDATA[<p>
When Jim asked me how many hours I could put to <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zb3BsYXl3ZWFsbC5jb20=">So Play We All</a> this week, I said &#8220;Negative three&#8221;. That turned out to be pretty accurate, as I managed to drop on the floor all but the three most important things for my week. Unfortunately, Oaqn didn&#8217;t make that top three so I sent $20 each to Jim and Luke. So, let&#8217;s look at what I funded this week.
</p>

<p>
Luke <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuZmFudGFzeWFkdmVudHVyZWdhbWUuY29tLzIwMTEvMDgvMDMvaW4td2hpY2gtbHVrZS1nZXRzLXdyaXRlcnMtYmxvY2sv">had writer&#8217;s block</a>, so there&#8217;s not a lot to say there. I&#8217;m a bit puzzled that he doesn&#8217;t say &#8220;coder&#8217;s blocK&#8221; because the hours are budgeted towards that, but I can see how it&#8217;d be easy to open a code editor and then stare at it.
</p>

<p>
I&#8217;ve chatted with Luke a bit about his game design and thought it was pretty solid, similar to stuff I&#8217;d seen on <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcXVpZGkubmV0L3RocmVlL2luZGV4LnBocA==">Three Hundred Mechanics</a> . This really sounds like he&#8217;s trying to see the entire design up-front and getting overwhelmed by it. His big questions are all certainly important ones, but maybe it&#8217;s worth figuring out if there&#8217;s a way to take smaller bites.
</p>

<p>
Jim&#8217;s got <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9wcmVzZW50aW5n">his first progress</a> that doesn&#8217;t sound to me like he&#8217;s reinventing a wheel. The template for a page is broken down into DisplayRegions, each of which has a Controller (&#8220;Component&#8221;) responsible for loading the right data.
</p>

<p>
It&#8217;s an interesting PHP-styled take on MVC. The top-level code that handles each request isn&#8217;t a controller action, it&#8217;s basically a template split into code/settings (&#8220;DisplayEngine&#8221;) and markup (&#8220;PageTemplate&#8221;). The <em>template</em> then lists what controllers and actions should be invoked to handle the request, which is a not how I&#8217;ve ever seen any web MVC work before. It feels pretty stereotypical of PHP to have a template running the show, and I wonder how much logic is going to leak into them as a result. A common pattern is that a section of a page with links to register and sign in &mdash; or, if there&#8217;s a user logged-in, to edit account settings and log out. Jim, in your system, where does that <kbd>if (logged_in()) { [settings/logout template] } else { [register/login template] }</kbd> live?
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1824" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/breakdowns/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Keeping Jim Busy</title>
		<link>http://push.cx/2011/keeping-jim-busy</link>
		<comments>http://push.cx/2011/keeping-jim-busy#comments</comments>
		<pubDate>Mon, 18 Jul 2011 23:58:00 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Allabrilyn]]></category>
		<category><![CDATA[so play we all]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1820</guid>
		<description><![CDATA[Oops, got totally distracted by flying back to Chicago and forgot to write my So Play We All response post on time, so there&#8217;s $10 each to Luke and Jim. Late but not lost, here&#8217;s that response. (Luke didn&#8217;t post an update this week, so I&#8217;m only responding to Jim.) This week, Jim had a [...]]]></description>
			<content:encoded><![CDATA[<p>
Oops, got totally distracted by flying back to Chicago and forgot to write my <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zb3BsYXl3ZWFsbC5jb20=">So Play We All</a> response post on time, so there&#8217;s $10 each to Luke and Jim. Late but not lost, here&#8217;s that response. (Luke didn&#8217;t post an update this week, so I&#8217;m only responding to Jim.)
</p>

<p>
This week, Jim had a <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9iZXR3ZWVuLWZvcm1zLWFuZC1wYWdlcw==">brief but significant update</a>, writing:
</p>

<blockquote>
Well, after so many weeks of being seriously far behind, I&#8217;ll finally be making the progress towards being able to render a complete HTML page.
</blockquote>

<p>
He&#8217;s written his Page, Session, and Form classes to the point that he&#8217;s only held back by not being able to template pages from displaying real pages. I&#8217;m a little surprised he got votes in <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvbW11bml0eS5iYmdhbWV6b25lLm5ldC9wcm9qZWN0cy9zby1wbGF5LXdlLWFsbC13ZWVrLTctY29udGVudC1nZW5lcmF0aW9uL21zZzI0MzQyLw==">this week&#8217;s poll</a> without anything to demo, but it&#8217;s nice to hear things are coming together for him.
</p>

<p>
Actually, maybe I should be worried that he&#8217;s going to start displaying a game sometime soon. So let me mention a great Rails feature you should spend time reimplementing, Jim. The pending release of Rails 3.1 includes <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9naXRodWIuY29tL3JhaWxzL3JhaWxzL2Jsb2IvbWFzdGVyL2FjdGlvbnBhY2svbGliL2FjdGlvbl9jb250cm9sbGVyL21ldGFsL3N0cmVhbWluZy5yYg==">HTTP streaming</a>, basically the ability to send parts of the page while still working on generating the page.
</p>

<p>
This is how PHP&#8217;s page-as-script model works out-of-the-box, but it often leads to bugs when state changes during the page rendering. I&#8217;ve seen a lot of browser based games with a bug where a page says you have 100 minerals in the header and then, lower in the page, say that you only have 50 because loading this page performed an action that spent 50 minerals. Having an explicit stage that builds and renders a page usually prevents these bugs at the cost of being able to send enough information for the client to get working at downloading page assets while the server is still performing work. Continuing to support that may cost Jim enough time in gold-plating to keep me comfortably ahead.
</p>

<p>
(But just in case it doesn&#8217;t the <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dlYmxvZy5ydWJ5b25yYWlscy5vcmcvMjAxMS81LzIyL3JhaWxzLTMtMS1yZWxlYXNlLWNhbmRpZGF0ZQ==">3.1 announcement</a> also mentions an asset pipeline that compiles and compresses CSS and JS for faster pageloads. Have fun, Jim.)
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1820" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/keeping-jim-busy/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rewriting My Competitors</title>
		<link>http://push.cx/2011/rewriting-my-competitors</link>
		<comments>http://push.cx/2011/rewriting-my-competitors#comments</comments>
		<pubDate>Sat, 09 Jul 2011 10:48:23 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Allabrilyn]]></category>
		<category><![CDATA[code smells]]></category>
		<category><![CDATA[Fantasy Adventure]]></category>
		<category><![CDATA[metaprogramming]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[sessions]]></category>
		<category><![CDATA[so play we all]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1811</guid>
		<description><![CDATA[It&#8217;s really clear that the polls So Play We All are measuring progress. When we have a quiet week, there&#8217;s a lot fewer votes. This week, there were 4, evenly split between Luke and I. The SPWA site doesn&#8217;t have code to handle ties so it highligted me as winning, which I guess means the [...]]]></description>
			<content:encoded><![CDATA[<p>
  It&#8217;s really clear that the polls <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NvcGxheXdlYWxsLmNvbQ==">So Play We All</a> are measuring progress. When we have a quiet week, there&#8217;s a lot fewer votes. This week, there were 4, evenly split between Luke and I. The SPWA site doesn&#8217;t have code to handle ties so it highligted me as winning, which I guess means the bugfix is not <em>my</em> problem. :)
</p>

<p>
  Luke <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuZmFudGFzeWFkdmVudHVyZWdhbWUuY29tLzIwMTEvMDcvMDYvYS1zcHJpbmctYnViYmxlcy11cC8=">laid down code</a> for cards. I know I&#8217;m helping the enemy, but I&#8217;ve got to tweak it. His code is:
</p>

<pre>&nbsp;
class CardController &lt; ApplicationController
  def play
    play_sym = <span style="color: #ff0000;">"play_#{@card}"</span>.<span style="">intern</span> <span style="color: #808080; font-style: italic;"># PH: this should be .to_sym</span>
    self.<span style="">send</span><span style="color: #66cc66;">&#40;</span>play_sym<span style="color: #66cc66;">&#41;</span>
    render :action =&gt; play_sym <span style="color: #b1b100;">and</span> <span style="color: #000066;">return</span>
  <span style="color: #b1b100;">end</span>
&nbsp;
  def pocket
    pocket_sym = <span style="color: #ff0000;">"pocket_#{@card}"</span>.<span style="">intern</span>
    self.<span style="">send</span><span style="color: #66cc66;">&#40;</span>pocket_sym<span style="color: #66cc66;">&#41;</span>
  <span style="color: #b1b100;">end</span> <span style="color: #808080; font-style: italic;"># PH: no explicit render here? Feels like a paste error</span>
&nbsp;
  protected
&nbsp;
  <span style="color: #808080; font-style: italic;"># plays</span>
  def play_roland
    <span style="color: #808080; font-style: italic;"># Play the game to see what happens when you play the Roland card!</span>
  <span style="color: #b1b100;">end</span>
&nbsp;
  def play_water
    <span style="color: #808080; font-style: italic;"># Play the game to see what happens when you play the Water card!</span>
  <span style="color: #b1b100;">end</span>
&nbsp;
  <span style="color: #808080; font-style: italic;"># pockets</span>
  def pocket_roland
    <span style="color: #808080; font-style: italic;"># Play the game to see what happens when you pocket the Roland card!</span>
  <span style="color: #b1b100;">end</span>
&nbsp;
  def pocket_water
    <span style="color: #808080; font-style: italic;"># Play the game to see what happens when you pocket the Water card!</span>
  <span style="color: #b1b100;">end</span>
&nbsp;
<span style="color: #b1b100;">end</span></pre>

I&#8217;d write this code as:

<pre>&nbsp;
class CardController &lt; ApplicationController
  <span style="color: #808080; font-style: italic;"># I'm guessing from usage above @card is just the name for a card as a string</span>
  <span style="color: #808080; font-style: italic;"># and that it's loaded from the url by a filter, note that I use it differently.</span>
  before_filter :load_card
  after_filter :default_render_card
  
  def play
    <span style="color: #0000ff;">@card</span>.<span style="">play</span>
  <span style="color: #b1b100;">end</span>
&nbsp;
  def pocket
    <span style="color: #0000ff;">@card</span>.<span style="">pocket</span>
  <span style="color: #b1b100;">end</span>
&nbsp;
  protected
&nbsp;
  def load_card
    <span style="color: #0000ff;">@name</span> = params<span style="color: #66cc66;">&#91;</span>:card<span style="color: #66cc66;">&#93;</span>
    <span style="color: #0000ff;">@card</span> = <span style="color: #ff0000;">"card/#{@name}"</span>.<span style="">camelize</span>.<span style="">constantize</span>
  <span style="color: #b1b100;">end</span>
&nbsp;
  def default_render_card
    render :template =&gt; <span style="color: #ff0000;">"cards/#{request.action}/#{@name}"</span> <span style="color: #b1b100;">unless</span> performed?
  <span style="color: #b1b100;">end</span>
end
&nbsp;
<span style="color: #808080; font-style: italic;"># add in config/application.rb:</span>
module Oaqn
  class Application &lt; Rails::<span style="color: #006600;">Application</span>
    config.<span style="">autoload_paths</span> += <span style="color: #0000ff;">%W</span><span style="color: #66cc66;">&#40;</span><span style="color: #808080; font-style: italic;">#{config.root}/app/cards)</span>
  <span style="color: #b1b100;">end</span>
end
&nbsp;
<span style="color: #808080; font-style: italic;"># and then create app/cards/roland.rb:</span>
module Card
  module Roland
    def pocket
      <span style="color: #808080; font-style: italic;"># code for pocketing</span>
    <span style="color: #b1b100;">end</span>
&nbsp;
    def play
      <span style="color: #808080; font-style: italic;"># code for playing</span>
    <span style="color: #b1b100;">end</span>
  <span style="color: #b1b100;">end</span>
end</pre>

<p>
  So now the cards each get a source file to themselves, templates have their own per-action dirs (better swapped to per-card dirs, if there are more actions), there&#8217;s less duplicated code, and it&#8217;s far easier to test these smaller pieces. The only thing missing from this example is the fact that Luke may have to pass some game state into the methods. As long as there&#8217;s not too much it&#8217;s probably worth being explicit about.
</p>

<p class="update">
2011-07-09: Luke actually used this code and found it didn&#8217;t work as written. I found <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80MDc0ODMwL2FkZGluZy1saWItdG8tY29uZmlnLWF1dG9sb2FkLXBhdGhzLWkNCm4tcmFpbHMtMy1kb2VzLW5vdC1hdXRvbG9hZC1teS1tb2R1bGU=">an explanation</a>; either add &#8216;app&#8217; to <kbd>autoload_paths</kbd> instead of &#8216;app/cards&#8217;, or drop the Card wrapper.
</p>

<p>
  Meanwhile, in the past, Jim <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9jbGFzcy1zZXNzaW9u">wrote some PHP</a>, and I&#8217;m not touching that language.
</p>

<p>
  No, in seriousness, Jim talked about why he has some identifiers surrounded by __ (which I&#8217;d called <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAxMS9zbWFsbC1zdGVwcw==">python poisoning</a>). I haven&#8217;t dug into his code (again, PHP), but it looks like it might be an <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2MyLmNvbS9jZ2kvd2lraT9JbkJhbmRTaWduYWw=">InBandSignal</a> to reuse Events as framework steps.
</p>

<p>
  And then he talks about session fixation attacks, which are have been protected against out-of-the-box on PHP with the <kbd>session.use_only_cookies</kbd> setting for a while. I was a bit confused, I&#8217;m pretty sure he&#8217;s actually describing session capture attacks. Oh, and there was some other stuff about writing code to store sessions in the database. If you&#8217;re curious, Jim, here&#8217;s the code for a Rails app to do that, which appears commented-out in the stock config file for your editing convenience:
</p>

<pre>&nbsp;
  Oaqn::<span style="color: #006600;">Application</span>.<span style="">config</span>.<span style="">session_store</span> :active_record_store</pre>

<p>
  It includes support out of the box for keeping sessions in cookies (encrypted, of course), your SQL database via ActiveRecord, or Memcached. I&#8217;m curious, how much of your budget did you spend storing sessions?
</p>
 <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1811" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/rewriting-my-competitors/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Two Turnarounds</title>
		<link>http://push.cx/2011/two-turnarounds</link>
		<comments>http://push.cx/2011/two-turnarounds#comments</comments>
		<pubDate>Fri, 01 Jul 2011 10:49:32 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Allabrilyn]]></category>
		<category><![CDATA[Fantasy Adventure Game]]></category>
		<category><![CDATA[so play we all]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1809</guid>
		<description><![CDATA[I was really impressed by Luke in week five of So Play We All. He built a playtestable game fast and, more importantly, he learned from it. He&#8217;s]]></description>
			<content:encoded><![CDATA[<p>
  I was really impressed by Luke in week five of <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zb3BsYXl3ZWFsbC5jb20=">So Play We All</a>. He built a playtestable game fast and, more importantly, he learned from it. He&#8217;s <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuZmFudGFzeWFkdmVudHVyZWdhbWUuY29tLzIwMTEvMDYvMjUvYW55b25lLWhhdmUtYS1yb2xhbmQv"\">decided to completely rework his gameplay</a>. Player interaction wasn&#8217;t what he wanted and he realized it would be a huge amount of work to write. It&#8217;s not easy to decide you&#8217;ve spent time building the wrong thing, and that maturity impressed me.
</p>

<p>
  And, you know, I&#8217;m a huge fan of card games, so it&#8217;s nice to see another one in development.
</p>

<p>
  As great as that is, Jim got my vote in <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvbW11bml0eS5iYmdhbWV6b25lLm5ldC9wcm9qZWN0cy9zby1wbGF5LXdlLWFsbC13ZWVrLTUtZ2FtZS13b3JsZC8=">this week&#8217;s poll</a>.
</p>

<p>
  In a post titled <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9kZWl0eS1kZXZlbG9wbWVudA==">Deity Development</a> he responds to some criticism and then links to the documentation for the abstract work I was hassling him about doing the last few weeks. I&#8217;m glad to tangibly see his progress, and it looks like he&#8217;s got a solid core built now.
</p>
 <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1809" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/two-turnarounds/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Small Steps</title>
		<link>http://push.cx/2011/small-steps</link>
		<comments>http://push.cx/2011/small-steps#comments</comments>
		<pubDate>Thu, 23 Jun 2011 08:50:48 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Allabrilyn]]></category>
		<category><![CDATA[Fantasy Adventure]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1795</guid>
		<description><![CDATA[In Week 5 of So Play We All, things were pretty quiet. I bugfixed and laid groundwork. Luke&#8230; uh&#8230; did something. I read his post and it sounds like he added some helpers but otherwise mostly just rewrote his story. It&#8217;s more enjoyable now (seriously, play it), but it doesn&#8217;t really feel structurally any different. [...]]]></description>
			<content:encoded><![CDATA[<p>
In Week 5 of <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zb3BsYXl3ZWFsbC5jb20=">So Play We All</a>, things were pretty quiet. I <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cub2Fxbi5jb20vMjAxMS9hLXdob2xlLW5ldy13b3JsZA==">bugfixed and laid groundwork</a>. Luke&#8230; uh&#8230; did something. I read <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuZmFudGFzeWFkdmVudHVyZWdhbWUuY29tLzIwMTEvMDYvMjIvbmV2ZXItdHJ1c3QtYS1tYWdpY2lhbi10by1kby10aGUtYXJteXMtam9iLw==">his post</a> and it sounds like he added some helpers but otherwise mostly just rewrote his story. It&#8217;s more enjoyable now (seriously, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mYW50YXN5YWR2ZW50dXJlZ2FtZS5jb20=">play it</a>), but it doesn&#8217;t really feel structurally any different. There&#8217;s no added mechanics that I can see. I&#8217;m curious where he&#8217;s going, though.
</p>

<p>
  Meanwhile, Jim is apparently suffering from <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9kYXRhYmFzZS1ldmVudA==">Python poisoning</a>, because he&#8217;s naming events __LIKE_THIS__. He&#8217;s swirling into madness:
</p>

<blockquote>
  Once Version 1 is stable, I&#8217;ll compile a list of &#8220;official&#8221; Events that developers can utilize in their own projects.
</blockquote>

<p>
  No, I didn&#8217;t make that up. Not only is he thinking about a framework for multiple games, he&#8217;s thinking about a <em>published</em> framework for multiple games. Not, you know, his game. I see why Luke earlier used the phrase <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5qb2Vsb25zb2Z0d2FyZS5jb20vYXJ0aWNsZXMvZm9nMDAwMDAwMDAxOC5odG1s">architecture astronauts</a>. Jim, you are a great many abstractions away from writing a game, and I think the air is getting thin.
</p>

<p>
  More encouragingly, Jim&#8217;s been writing about some of the deities in his game world: <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vZGVpdHkvZGFuaQ==">Dani</a>, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vZGVpdHkvcmhlZ2Fy">Rhegar</a>, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vZGVpdHkvbnVyaQ==">Nuri</a>, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vZGVpdHkvc2hpc2FuZQ==">Shisane</a>, and <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vZGVpdHkva2Vzb2s=">Kesok</a>. I understand the setting is largely based on long-gone-by D&amp;D campaigns. It&#8217;s great to see some player-facing information.
</p>
 <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1795" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/small-steps/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SPWA Week 2: Funding and Forms</title>
		<link>http://push.cx/2011/spwa-week-2-funding-and-forms</link>
		<comments>http://push.cx/2011/spwa-week-2-funding-and-forms#comments</comments>
		<pubDate>Sat, 11 Jun 2011 00:03:25 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[satisficing]]></category>
		<category><![CDATA[so play we all]]></category>
		<category><![CDATA[templating]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1767</guid>
		<description><![CDATA[So Play We All is partly a motivation hack, with teammates/competitors and penalties to make sure we each put in time towards our games. Luke&#8217;s job sent him to a conference for almost all of the week, so he didn&#8217;t get to do any of his hours. He&#8217;s paying us both $20. To keep anyone [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zb3BsYXl3ZWFsbC5jb20=">So Play We All</a> is partly a motivation hack, with teammates/competitors and penalties to make sure we each put in time towards our games. Luke&#8217;s job sent him to a conference for almost all of the week, so he didn&#8217;t get to do any of his hours. He&#8217;s paying us both $20. To keep anyone from falling behind, we&#8217;ve tweaked the rules to say that anyone who pays the penalty for missed hours can make them up when they have the time.
</p>

<p>
Meanwhile, Jim&#8217;s done great, getting code live for the first time. I took a screenshot:
</p>

<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvd3AtY29udGVudC91cGxvYWRzLzIwMTEvMDYvU2VsZWN0aW9uXzAwMS5wbmc="><img src="http://push.cx/wp-content/uploads/2011/06/Selection_001.png" alt="Allabrilyn Exclusive First Screenshot!" title="Allabrilyn Exclusive First Screenshot!" width="767" height="32" class="alignnone size-full wp-image-1769" /></a>

<p>
The first page has a simple login form. There&#8217;s no way to register an account, and any login/password you enter gives you the above message. In his <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9sb25nLXdheS1jb2Rl">blog post</a>, Jim wrote about the code 
</p>

<blockquote>
At that point, it was a fairly easy task to take the user object and add its data to the display for rendering. I chose to go with something like:

<blockquote>
Hello %user%! Your account was created at %time% on %date% and you last logged in at %time% on %date%. Enjoy your stay!
</blockquote>
</blockquote>

<p>
<b>STOP IT</b>. You are writing a template language in a template language! Templates are the one thing PHP actually does pretty decently (well, it&#8217;s not <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5oYW1sLWxhbmcuY29t">Haml</a>, but it&#8217;s way better than <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dpa2kuem9wZS5vcmcvWlBUL1RBTFNwZWNpZmljYXRpb24xNA==">TAL</a>)! Wrap PHP&#8217;s output buffering around <kbd>include()</kbd> and get on with your life before you find yourself implementing conditionals and loops.
</p>

<p>
This is part of a larger topic I have to respond to:
</p>

<blockquote>
<p>This is mostly because I had to rush myself just to even get this far and put in lots of sloppy code. So, I&#8217;ve decided that I don&#8217;t care how far ahead the others get, I am not going to worry about matching their pace.</p>

<p>Really, it was an unrealistic goal that I&#8217;m glad to be letting go of. They&#8217;re using a pre-built framework which means they have options to solve a lot of their issues right out of the box. I, on the other hand, have to implement even my low-level functionality. This means that I&#8217;m going to be slower to execute no matter what happens. That&#8217;s the price that I pay for wanting to use my own implementation. The positive upside is that once I manage to solve these issues, they&#8217;ll be solved for me in all of my future games and I&#8217;ll be able to skip this tedium the next time around. &#8230;</p>

<p>Sure, it slows me down in terms of this competition, however, I will have 100% control over every aspect of the process which is not something that I would have if I were to leverage Drupal to build the game.</p>
</blockquote>

<p>
I know you write good code, Jim, but <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TYXRpc2ZpY2U=">satisfice</a>, man. You&#8217;ve got the worst time demands of all of us. Luke and I aren&#8217;t barfing into our editors and making sure it passes a syntax check, we&#8217;re taking acceptable components from other people so we spend our time on the important bits.
</p>

<p>
Last week I <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cub2Fxbi5jb20vMjAxMS93ZWVrLTItcHJldHR5LXNoYW1lbGVzcw==">bought and added a theme to Oaqn</a>. I was hugely tempted to tear it apart and make sure everything was perfect, with semantic class names and no unused code and efficient selectors and and and&#8230; Instead I added achievements, a feature that will help inspire and retain players for the lifetime of my game. That code&#8217;s not perfect, either, I already know I&#8217;ll want to tweak it to add some kind of bronze/silver/gold upgrading medals &mdash; but now I&#8217;ve got something decent in place and I can get closer to a running game.
</p>

<a href=http://makegames.tumblr.com/post/1136623767/finishing-a-game""><img src="http://push.cx/wp-content/uploads/2011/06/finishgame01.jpg" alt="" title="Finish a game" width="500" height="300" class="alignnone size-full wp-image-1770" /></a>

<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21ha2VnYW1lcy50dW1ibHIuY29tL3Bvc3QvMTEzNjYyMzc2Ny9maW5pc2hpbmctYS1nYW1l">Finish a game</a>. So Play We All.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1767" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/spwa-week-2-funding-and-forms/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SPWA Week 1 Response: Code Hassles and Kittens</title>
		<link>http://push.cx/2011/spwa-week-1-response-code-hassles-and-kittens</link>
		<comments>http://push.cx/2011/spwa-week-1-response-code-hassles-and-kittens#comments</comments>
		<pubDate>Fri, 03 Jun 2011 19:48:41 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Allabrilyn]]></category>
		<category><![CDATA[Fantasy Adventure]]></category>
		<category><![CDATA[so play we all]]></category>
		<category><![CDATA[web games]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1749</guid>
		<description><![CDATA[This week in So Play We All our topic was &#8220;Signup&#8221; and our budget was 4 hours. I originally pushed for more time, but I ended up glad that it was short as I hacked things out on the last day. I don&#8217;t need to belabor that, let&#8217;s look at how Luke and Jim did [...]]]></description>
			<content:encoded><![CDATA[<p>
This week in <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=L3RhZy9zby1wbGF5LXdlLWFsbA==">So Play We All</a> our topic was &#8220;Signup&#8221; and our budget was 4 hours. I originally pushed for more time, but I <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cub2Fxbi5jb20vd2Vlay0xLXNpZ251cA==">ended up glad</a> that it was short as I hacked things out on the last day. I don&#8217;t need to belabor that, let&#8217;s look at how Luke and Jim did with their games.
</p>

<h3>Allabrilyn</h3>

<p>
Jim wrote about a <a
href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9kaWZmaWN1bHQteWV0LXJld2FyZGluZw==">lot of
technical progress</a>, but unfortunately it all falls into the category of
invisible infrastructure, there&#8217;s nothing for a player to see. It really
reminded me what a huge boost <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5oZXJva3UuY29t">Heroku</a> is for
hosting: not only is initial deployment about 5 minutes, it prevents you from
spending time tinkering with your server setup for only minimal gains. (I don&#8217;t
know how he got more votes than me, I suspect sympathy from similarly
frustrated PHP coders.) 
</p>

<blockquote>
In all, it&#8217;s been a difficult 4 hours&#8230; but well worth the effort, in my opinion. I believe the extra headaches I&#8217;m taking now will allow me better flexibility in the long-term.
</blockquote>

<p>
The bulk of his post seems to be about improving his own <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9PYmplY3QtcmVsYXRpb25hbF9tYXBwZXI=">ORM</a> and site infrastructure. Ouch. It sounds like he&#8217;s written some nice code, but this contest is about building one game, not building the next ten games.
</p>

<p>
Maybe the Real Ultimate Power of Drupal will make it a breeze to drop in community features like a forum and a chat, but right now he has nothing to see and he&#8217;s falling behind.
</p>

<h3>Fantasy Adventure</h3>

<p>
I&#8217;m glad to hear <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=IGh0dHA6Ly9ibG9nLmZhbnRhc3lhZHZlbnR1cmVnYW1lLmNvbS8yMDExLzA2LzAxL2luLXdoaWNoLWx1a2UtcmVhbGl6ZXMtaGUtaGFzbnQtcGxhbm5lZC1lbm91Z2gv">Luke&#8217;s stepping up his game</a> after his brief blog posts for week 0. Not that I don&#8217;t mind easy competition, but I don&#8217;t want people to think I rigged the contest by setting myself up against a sucker. :)
</p>

<p>
In seriousness, Luke did great this week, he got my vote <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvbW11bml0eS5iYmdhbWV6b25lLm5ldC9wcm9qZWN0cy9zby1wbGF5LXdlLWFsbC13ZWVrLTEtc2lnbnVwLw==">in the poll</a>. We both used Devise for registration, but he got his basic install much faster and then streamlined it to make it easier for people to get into his game.
</p>

<p>
Yes, into his game! I&#8217;m not sure if it&#8217;s just static text or he created a basic player object with a few attributes, but he threw together a decent template and you could click around to move between different locations. Currently there&#8217;s just a bit of cute story to read, but that&#8217;s enough for the player&#8217;s imagination to start filling in gaps and imaging a world. (Also, bonus points for using <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3BsYWNla2l0dGVuLmNvbS8=">delightful PlaceKittens</a>, I&#8217;ve bookmarked that as a resource.)
</p>

<p>
That ability to fire the imagination is a great sign for Luke&#8217;s prospects. Time for me to go step up my game in response.
</p>
 <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1749" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/spwa-week-1-response-code-hassles-and-kittens/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SPWA Week 0 Response: A Strong Start</title>
		<link>http://push.cx/2011/spwa-week-0-response-a-strong-start</link>
		<comments>http://push.cx/2011/spwa-week-0-response-a-strong-start#comments</comments>
		<pubDate>Tue, 31 May 2011 18:05:59 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Allabrilyn]]></category>
		<category><![CDATA[Fantasy Adenture Game]]></category>
		<category><![CDATA[oaqn]]></category>
		<category><![CDATA[so play we all]]></category>
		<category><![CDATA[web games]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1745</guid>
		<description><![CDATA[As mentioned in the rules for So Play We All, we&#8217;re required to respond to each other&#8217;s progress update. I&#8217;m going to be doing the Oaqn progress updates on that blog but the feedback here, mostly to keep that blog focused. Showing off his superior time management skills, Jim quickly posted about Allabrilyn. It sounds [...]]]></description>
			<content:encoded><![CDATA[<p>
As mentioned in <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMTEvc28tcGxheS13ZS1hbGw=">the rules</a> for <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zb3BsYXl3ZWFsbC5jb20=">So Play We All</a>, we&#8217;re required to respond to each other&#8217;s progress update. I&#8217;m going to be doing the Oaqn <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cub2Fxbi5jb20vMjAxMS93ZWVrLTAtZ2V0dGluZy1zdGFydGVk">progress updates</a> on that blog but the feedback here, mostly to keep that blog focused.
</p>

<p>
Showing off his superior time management skills, Jim quickly <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuYWxsYWJyaWx5bi5jb20vY29udGVudC9maXJzdA==">posted about Allabrilyn</a>. It sounds like a collectible card game (or maybe <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5pY3YyLmNvbS9hcnRpY2xlcy9pbmRleF9wcmludC5waHA/YXJ0aWNsZV9pZD0xNjk1OA==">LCG</a>). That the collectible elements are units for a tactical game is&#8230; <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=L3RhZy9hdGhlbmdl">awfully familiar</a>.
</p>

<p>
I dropped Athenge as a project because I realized I love the genre, but it&#8217;s actually really uncommon. Tactical wargames have a hardcore fanbase (a blessing and a curse), but it&#8217;s certainly not a big one. And building a game around PVP that&#8217;s mostly based on the player&#8217;s skill progression means there&#8217;s going to be a lot of dissatisfied bad players who don&#8217;t want to participate. So I think it&#8217;s great that Jim is building my kind of game, but I worry about his market. (And Jim &#8211; don&#8217;t just sell random packs, add a premium currency that players can use to auction/sell cards between themselves with so that you don&#8217;t create a secondary market that gives you support hassles but not income.)
</p>

<p>
Next up, Luke <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cuZmFudGFzeWFkdmVudHVyZWdhbWUuY29tLzIwMTEvMDUvMjEvdGhleWxsLW5ldmVyLXNlZS1pdC1jb21pbmcv">explained Fantasy Adventure Game</a>. I loved this post (though of course, not so much that I voted for it over myself). He&#8217;s immediately willing to be imperfect in public by beginning with a terrible working title. It&#8217;s a great sign for <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cucHJvdG9zaGFyZS5jb20vMjAxMS8wNC9nZXR0aW5nLW92ZXItZW1iYXJyYXNzbWVudC1hbmQtZ2V0dGluZy1kb25lLw==">getting over embarrassment</a> to develop something great. I&#8217;m terribly jealous that he included financial info from the start; I&#8217;d wanted to but it slipped my mind. More guts!
</p>

<p>
As for the game itself, it leaves me a little flat. I&#8217;ve seen too many games default to fantasy; I hope he finds ways to turn his ignorance into interesting genre redefinition rather than middle-of-the-road generictown. It really sounds like it&#8217;s a single-player RPG (having not played KOL), so I think he&#8217;s going to have problems with producing content (items, quests, skills, etc.). Multiplayer interaction, competitive or cooperative, is wonderful content because you can set up systems that players fill up with content. It takes a fraction of the time to code a PVP game like chess than it does to write a text adventure like Adventure, and chess is probably fun for far longer because it becomes about other people, and people are interested in people.
</p>

<p>
I also have one criticism to level at both games: there&#8217;s nothing for the player to identify with. In Oaqn, the player controls a single caravan, that&#8217;s them in the world. (And I very likely will add some kind of human player avatar to play dress-up with eventually, because that&#8217;s even better.) In Allabrilyn and FA, the player controls a collection of characters, so there&#8217;s nothing for them to feel represented by or invest in the well-being of. This is why RPGs (and many other games) have a <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3R2dHJvcGVzLm9yZy9wbXdpa2kvcG13aWtpLnBocC9NYWluL0hlcm9pY01pbWU=">heroic mime</a> character leading the party, so the player has an empty template to fill up with their personality. It&#8217;s much harder to do that with a deck of cards or a small troupe, and it&#8217;s a powerful motivator for casual online games.
</p>

<p>
My lengthy braindump <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvbW11bml0eS5iYmdhbWV6b25lLm5ldC9wcm9qZWN0cy9zby1wbGF5LXdlLWFsbC13ZWVrLTAv">rocked this week&#8217;s poll</a>, with 6 votes for me, 1 for FA, and 0 for Jim (who I guess is not even active enough on the forums anymore to even vote for himself). I&#8217;m happy for that, but I think I&#8217;m going to face stiff competition that&#8217;s constantly thinking of things I&#8217;ve missed. So all I can do is plan to steal those things like revenue details for next week, muahaha! (Speaking of which, I&#8217;d better go put in my hours before I wind up owing these guys money.)
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1745" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/spwa-week-0-response-a-strong-start/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Grind Without Progression in Die2Nite</title>
		<link>http://push.cx/2011/die2nite-grind</link>
		<comments>http://push.cx/2011/die2nite-grind#comments</comments>
		<pubDate>Mon, 07 Mar 2011 19:26:33 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[grind]]></category>
		<category><![CDATA[P]]></category>
		<category><![CDATA[prisoner's dilemma]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1715</guid>
		<description><![CDATA[I&#8217;ve been playing the game Die2Nite with a few friends, and I&#8217;m fascinated that it has no character advancement &#8212; no levels, no skills, no upgrades &#8212; but it has a terrible grind. The Setup You are a survivor of the zombie apocalypse in a town with up to 39 other players. It runs on [...]]]></description>
			<content:encoded><![CDATA[<p>
I&#8217;ve been playing the game <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5kaWUybml0ZS5jb20=">Die2Nite</a> with a few friends, and I&#8217;m fascinated that it has no character advancement &mdash; no levels, no skills, no upgrades &mdash; but it has a terrible grind.
</p>

<h3>The Setup</h3>

<img src="http://push.cx/wp-content/uploads/2011/03/join_a_random_town.png" alt="" title="&quot;Join a Random Town&quot; screenshot" width="511" height="47" class="alignnone size-full wp-image-1721 content" />

<p>
You are a survivor of the zombie apocalypse in a town with up to 39 other players. It runs on a 24 hour cycle, and each day you get six Action Points (refillable 1-3 times per day, depending on what items are available) to scavenge for items and build up shared town defenses. If you die (which can happen individually or because your town is overrun in the nightly zombie attack), you can join right back into a new town tomorrow.
</p>

<img src="http://push.cx/wp-content/uploads/2011/03/town_gates.png" alt="" title="Town Gates, preparing to scavenge" width="578" height="330" class="alignnone size-full wp-image-1726 content" />
<p>
The core game mechanic is a sort of iterated prisoner&#8217;s dilemma, you have to choose to keep things back from the town or contribute to the town, and then socializing with other players to decide what defenses to spend your very limited resources on.
</p>

<p>
But the basic prisoner&#8217;s dilemma isn&#8217;t much of a choice, you learn after the first town or two that it is always much better to collaborate with your town, you cannot survive solo at all. But this does take you a town or two to learn.
</p>

<p>
The typical town is dominated largely by newbies who haven&#8217;t yet learned the necessity of collaboration. They don&#8217;t form a majority of members, but it only takes a handful of newbies to waste key early resources or disable town defenses shortly before the attack. The mechanisms required to police this are weak, the game simply doesn&#8217;t report who wasted the resources to start construction of the wrong building.
</p>

<img src="http://push.cx/wp-content/uploads/2011/03/construction_begins.png" alt="" title="Log notice that construction began, no indication of who did this" width="547" height="35" class="alignnone size-full wp-image-1728 content" />

<h3>The Grind</h3>

<img src="http://push.cx/wp-content/uploads/2011/03/achivements.png" alt="" title="Achievements screenshot" width="254" height="111" class="alignright size-full wp-image-1723 aside" />
<p>
This is where the grind comes into play. You can collect experience points that carry over between towns. There&#8217;s still no character improvement, the only benefit is unlocking the ability to play in towns that require 100xp. That is, in towns that have no newbies.
</p>

<p>
The typical newbie-ridden town fails in 1-3 days due to wasted resources and compromised defenses, so a good attempt will earn you 6xp, but 1-3 is typical. You&#8217;re staring at 20-40 towns, 2-3 real-life months, before you can start in a town without newbies.
</p>

<img src="http://push.cx/wp-content/uploads/2011/03/trapped_by_zombies.png" alt="" title="Trapped by Zombies" width="584" height="139" class="alignnone size-full wp-image-1725" />
<p>
Experience points <em>really do </em> track player experience in this scenario. The player will definitely be very well-experienced by the time they reach the milestone. But it&#8217;s incredibly frustrating because you&#8217;ll be playing the same game over and over: day 1 everyone yells to build a workshop but someone wastes the needed resources on a portal lock instead, day 2 a bunch of people get stranded outside of town and need rescue, day 3 the town fails. (Sometimes this all happens on day 1, or someone doesn&#8217;t give the needed click to turn on the defenses so there&#8217;s a total party kill of the town.)
</p>

<p>
I&#8217;m in a guild (&#8220;coalition&#8221;) with two friends so we&#8217;ll appear in the same town, but none of us has moved to get us into a new town in two weeks because the game is so boringly repetitive. We understand the basic mechanics, but we simply can&#8217;t play because there are too many newbies and idiots. I could see this being an awesome game to play with a dozen friends, but I don&#8217;t want to subject them to several months of grind to get to the &#8220;real game&#8221;.
</p>

<h3>A Solution</h3>

<p>
One thing the game does do right is that if you join a guild with 100xp-friends you can still be pulled along to their town. You probably won&#8217;t be a problem newbie because you&#8217;ll be relying on your friends in a town that&#8217;s already running smoothly.
</p>

<p>
Spitballing with <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbW1vbmxhdXJpdHplbi5jb20vYmxvZw==">Ammon</a> (who I&#8217;m currently staying with <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=L2NyYWZ0c21hbnNoaXAtY2FsZW5kYXI=">in Austin, TX</a>), I think one improvement would be to start sorting players by experience points immediately. In addition to the 100xp cutoff, put players into towns with similar amounts of XP every time they join a new town.
</p>

<p>
Each successive town the player joins they&#8217;ll see fewer newbies in a town that survives a little longer. Even if there&#8217;s a bit of a grind up to 100xp, it&#8217;ll be more fun because you&#8217;ll see new things each town.
</p>

<p>
Second, the game really needs to give complete disclosure of who spent resources so that experienced players can quickly and directly responds to newbie wastage. If a newbie already isn&#8217;t paying attention to the forums (where people always repost the now-standard Day 1 strategy), they&#8217;re not going to learn what not to do because no one knows who they are to reach out to (and perhaps smack) them.
</p>

<p>
I know a lot of my readers think about game design, what are your solutions? You have a game that&#8217;s built around collaboration with other players, but it&#8217;s frustrating because new players can&#8217;t effectively collaborate.
</p>
 <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1715" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2011/die2nite-grind/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Social Pastimes</title>
		<link>http://push.cx/2010/social-pastimes</link>
		<comments>http://push.cx/2010/social-pastimes#comments</comments>
		<pubDate>Fri, 19 Nov 2010 17:23:07 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[game industry]]></category>
		<category><![CDATA[social games]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1265</guid>
		<description><![CDATA[In a previous post I wrote: I look at the most popular Facebook games and only see pastimes, idle toys requiring action with little thought, minimal direct competition, and even rarer losses. Oh, and tens of millions of players. I&#8217;ve kept an eye on the established game industry&#8217;s reaction and seen a lot of comments [...]]]></description>
			<content:encoded><![CDATA[<p>
In a <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAxMC9nYW1lLWluZmx1ZW5jZXMtNzYtd2Fyc3Rvcm0=">previous post</a> I wrote:
</p>

<blockquote>
I look at the most popular Facebook games and only see pastimes, idle toys requiring action with little thought, minimal direct competition, and even rarer losses. Oh, and tens of millions of players. 
</blockquote>

<p>
I&#8217;ve kept an eye on the established game industry&#8217;s reaction and seen a lot of comments about how the successes of Zynga (Mafia Wars, Vampire Wars, Farmville) and other companies has been based on novelty and cheap distribution. The best essay is <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5nYW1hc3V0cmEuY29tL2Jsb2dzL1RhZGhnS2VsbHkvMjAwOTEyMTgvMzY2NS9aeW5nYV9hbmRfdGhlX0VuZF9vZl90aGVfQmVnaW5uaW5nLnBocA==">Zynga and the End of the Begining</a>. If you&#8217;re interested in the growing wave of social games I strongly recommend reading the whole thing (uh, and if you&#8217;re not, now is a good time to give up on this blog post), but the specific bits I want to talk about are:
</p>

<blockquote>
Viral game developers, such as Zynga, have little or no commitment to developing deep or rich game experiences because the market has not really rewarded that kind of activity. However that lack of depth is precisely the reason why viral gaming is showing signs of weakness typical in any runaway success. 
</blockquote>

<blockquote>
Viral gaming up until this point has largely been a game of distribution plays rather than content plays, which is why the developers don’t really spend a lot of time on the depth of their games. In online gaming such as massive multiplayer games or first-person shooters players do not need nudging to come back and play again and again because the experience of playing is so good that they choose to return. No Facebook game comes anywhere close to offering that. They are closer to idle distractions. 
</blockquote>

<blockquote>
Zynga’s games are not being built with renewal in mind. They are experiences built to appeal to novices and they inherently assume that novices are all there is. So they are simple to play, undemanding, lack challenge or consequence, and rely on time-oriented tasks. They may not realise it but Zynga, Playdom and Playfish (and others) are quietly educating millions of novices to expect more and then not delivering it to them. 
</blockquote>

<p>
There&#8217;s a simpler explanation that&#8217;s less palliative to the gaming industry: there&#8217;s a much larger audience available for these games than the ones they&#8217;ve been making, even making in the &#8220;casual games&#8221; genre.
</p>

<p>
This mass audience wants games without much of any conflict between players, though they&#8217;ll sometimes put up with a little for the sake of feeling dominant (eg. Mafia Wars&#8217;s fairly impersonal player attacks). They don&#8217;t want &#8220;Game Over&#8221; screens, they may not want any loss to even be possible.
</p>

<p>
That rules out direct competition, and a lot of indirect competiotion, through the ability to show off successes to friends is essential (not just useful for distribution).
</p>

<p>
If I&#8217;m being cynical, I&#8217;d say this adds up to offering people the illusion of advancement and improvement greased by an entertaining spectacle of cute graphics and lighthearted story. Maybe &#8220;game&#8221; isn&#8217;t the right word, maybe we should call these &#8220;toys&#8221; or &#8220;pastimes&#8221; or something else to differentiate them from games where players <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zaXJsaW4ubmV0L3B0dw==">advance skills</a> in competition against AI or players.
</p>

<p>
My game design keeps mutating and I think it&#8217;s turning into one of these passtimes. I started out with something very much like a contest and now it&#8217;s about self-expression and collaborative art. It will beta (one of these decades) with very few or no game mechanics at all. I don&#8217;t really know what to call it, even though it started as a game.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1265" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2010/social-pastimes/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Yomi vs. Nash Equilibria</title>
		<link>http://push.cx/2010/yomi-vs-nash-equilibria</link>
		<comments>http://push.cx/2010/yomi-vs-nash-equilibria#comments</comments>
		<pubDate>Fri, 07 May 2010 20:09:27 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[David Sirlin]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[yomi]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1377</guid>
		<description><![CDATA[I was rereading David Sirlin&#8217;s World of Warcraft Teaches the Wrong Things as part of a conversation with a friend and I got to pondering his concept of yomi. I&#8217;ve previously mentioned it as having an influence on my game designs, so I&#8217;ll just quote his short definition: Street Fighter taught me about yomi: knowing [...]]]></description>
			<content:encoded><![CDATA[<p>
I was rereading David Sirlin&#8217;s <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5nYW1hc3V0cmEuY29tL3ZpZXcvZmVhdHVyZS8yNTY3L3NvYXBib3hfd29ybGRfb2Zfd2FyY3JhZnRfdGVhY2hlc18ucGhwP3ByaW50PTE2Nw==">World of Warcraft Teaches the Wrong Things</a> as part of a conversation with a friend and I got to pondering his concept of yomi. I&#8217;ve <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAwOS9nYW1lLWluZmx1ZW5jZXMta29uZ2Fp">previously mentioned it</a> as having an influence on my game designs, so I&#8217;ll just quote his short definition:
</p>

<blockquote>
<i>Street Fighter</i> taught me about yomi: knowing the mind of the opponent. You can&#8217;t just play the odds and do the textbook-correct responses, you have to adapt and anticipate your opponent&#8217;s moves. The game is merely a medium through which you play against the other <i>player</i>.
</blockquote>

<p>
Games vary in how much they require skill at yomi, and it occurred to me that a game including yomi skill precludes a game having a <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9OYXNoX2VxdWlsaWJyaXVt">Nash equilibrium</a>.
</p>

<blockquote>
<p>
a solution concept of a game involving two or more players, in which each player is assumed to know the equilibrium strategies of the other players, and no player has anything to gain by changing only his or her own strategy unilaterally. If each player has chosen a strategy and no player can benefit by changing his or her strategy while the other players keep theirs unchanged, then the current set of strategy choices and the corresponding payoffs constitute a Nash equilibrium.
</p>

<p>
Stated simply, Amy and Bill are in Nash equilibrium if Amy is making the best decision she can, taking into account Bill&#8217;s decision, and Bill is making the best decision he can, taking into account Amy&#8217;s decision. Likewise, a group of players is in Nash equilibrium if each one is making the best decision that he or she can, taking into account the decisions of the others.
</p>
<cite><a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9OYXNoX2VxdWlsaWJyaXVt">Wikipedia</a></cite>
</blockquote>

<p>
Games like Street Fighter, Kongai, coker, chess, are interesting because they don&#8217;t have <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Fdm9sdXRpb25hcmlseV9zdGFibGVfc3RyYXRlZ3k=">evolutionarily stable strategies</a>, every player is obliged to change their strategy in response to another player&#8217;s change. If a game (or one decision in a game) has a Nash equilibrium, there is no value to yomi, the player doesn&#8217;t need to know what the other player plans.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1377" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2010/yomi-vs-nash-equilibria/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Competition and Bluffing</title>
		<link>http://push.cx/2010/competition-and-bluffing</link>
		<comments>http://push.cx/2010/competition-and-bluffing#comments</comments>
		<pubDate>Sat, 20 Mar 2010 20:10:09 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[game mechanic]]></category>
		<category><![CDATA[poker]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1270</guid>
		<description><![CDATA[Direct competition is when a game is decided by how the opponents interact, how well they stop each other from succeeding. Indirect competition is when opponents can&#8217;t influence each others&#8217; successes, like in a sprint. I love the way that poker straddles the line between the two. The contest of who has the best hand [...]]]></description>
			<content:encoded><![CDATA[<p>
Direct competition is when a game is decided by how the opponents interact, how well they stop each other from succeeding. Indirect competition is when opponents can&#8217;t influence each others&#8217; successes, like in a sprint.
</p>

<p>
I love the way that poker straddles the line between the two. The contest of who has the best hand is indirect, I can&#8217;t take cards out of your hand, you can&#8217;t prevent me from drawing, we make our separate choices and win solely by ranking.
</p>

<p>
But betting is direct competition because players can choose to fold, can drop out rather than risk more resources. It&#8217;s a sprint where the players can&#8217;t see each others&#8217; positions on the track, only claim &#8220;I&#8217;m at 40m&#8221; or &#8220;I&#8217;ve lapped you&#8221; and the truth of the positions are revealed at the showdown. Betting is a proxy for success, and bluffing is signaling a win when you&#8217;re actually losing.
</p>

<p>
Bluffing uses incomplete information to turn indirect competitions into direct competitions. I only know of <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CdWxsc2hpdF8oY2FyZF9nYW1lKQ==">Bullshit</a> and <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaWFyJTI3c19kaWNl">Liar&#8217;s Dice</a> that could be played without bluffing (and would then be simple luck games, like <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9XYXJfKGNhcmRfZ2FtZSk=">War</a>).
</p>

<p>
Because I&#8217;ve been thinking so much about bluffing and in/direct competition, I&#8217;m tinkering around with a design for a poker variation that includes direct competition. I suspect it won&#8217;t be as much fun, indirect competition often leaves a losing player feeling they could&#8217;ve done won if they&#8217;d played a little differently. Please leave a comment if you know if any that already do or other games that play with similar mechanics.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1270" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2010/competition-and-bluffing/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Game Influences (7/6): Warstorm</title>
		<link>http://push.cx/2010/game-influences-76-warstorm</link>
		<comments>http://push.cx/2010/game-influences-76-warstorm#comments</comments>
		<pubDate>Tue, 12 Jan 2010 01:58:52 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Athenge]]></category>
		<category><![CDATA[business models]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[game influences]]></category>
		<category><![CDATA[verbs]]></category>
		<category><![CDATA[Warstorm]]></category>
		<category><![CDATA[web games]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1249</guid>
		<description><![CDATA[I thought I&#8217;d finished the six post series on games that influenced Athenge, but I soon saw a game that changed my plans. This post is about how I analyze games by verbs, decision timing, and business concerns. 1. Ikariam 2. WeeWar Tangent: The Farming Genre 3. Tactics Ogre 4. Counter-Strike 5. X-Com 6. Kongai [...]]]></description>
			<content:encoded><![CDATA[<p>
I thought I&#8217;d finished the six post series on games that influenced Athenge, but I soon saw a game that changed my plans. This post is about how I analyze games by verbs, decision timing, and business concerns.
</p>
<ul>
  <li>1. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2UtaWthcmlhbQ==">Ikariam</a></li>
  <li>2. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXdlZXdhcg==">WeeWar</a></li>
  <li>Tangent: <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGhlLWZhcm1pbmctZ2VucmU=">The Farming Genre</a></li>
  <li>3. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXRhY3RpY3Mtb2dyZQ==">Tactics Ogre</a></li>
  <li>4. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLWNvdW50ZXItc3RyaWtl">Counter-Strike</a></li>
  <li>5. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXgtY29t">X-Com</a></li>
  <li>6. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLWtvbmdhaQ==">Kongai</a></li>
  <li>Tangent: <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGVjaG5vbG9neS10cmVlcw==">Technology Trees</a></li>
  <li>7. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMTAvZ2FtZS1pbmZsdWVuY2VzLXdhcnN0b3Jt">Warstorm</a></li>
</ul>

<h2>Verbs</h2>

<p>
The fundamental difference between games and most other media is interactivity. When I want to understand a game, one step is to list all of the verbs available to the players. For example, the verbs in Super Mario Brothers are:
</p>

<ul>
  <li>Start 1/2 player game</li>
  <li>Walk left/right</li>
  <li>Run left/right</li>
  <li>Duck (when big)</li>
  <li>Jump</li>
  <li>Stomp enemy</li>
  <li>Kick shell</li>
  <li>Break brick</li>
  <li>Open question block</li>
  <li>Go down pipe</li>
  <li>Throw fireball</li>
  <li>Touch Axe</li>
</ul>

<p>
I was thinking of this because I played the browser-based trading card game <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy53YXJzdG9ybS5jb20=">Warstorm</a> and I was astounded when I realized what the available verbs are on the site (ignoring the account management common to any site with user accounts):
</p>

<ul>
  <li>Edit a deck (&#8220;squad&#8221;)</li>
  <li>Auction a card</li>
  <li>Trade cards with a player</li>
  <li>Chat</li>
  <li>Challenge an individual player to a duel</li>
  <li>Enter tournament or league (tourney with restricted rule)</li>
  <li>Redeem loyalty points (given for interaction/marketing) for cards</li>
  <li>Buy Challenge Coins (premium currency)</li>
  <li>Play a duel</li>
</ul>

<p>
The first six verbs are common to any trading card game. The last item is the interesting one: <em>play</em>. It looks like I didn&#8217;t descend into the same level of detail I did for Mario, but I did.
</p>

<p>
The player selects which of their decks they&#8217;d like to use and the duel proceeds like <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9XYXJfKGNhcmRfZ2FtZSk=">War</a>. The computer turns up the top card of each deck, applies their effects, and repeats. The only thing the player can do is fast-forward to the end to find out if they won or lost.
</p>

<p>
I was floored when I realized this, I thought the site was hollow. It&#8217;s all about a card game but there&#8217;s no game at its heart. It reminded me of gambling in that nearly every verb you invoke involves paying, but unlike gambling there&#8217;s no chance you&#8217;ll ever get any money back.
</p>

<p>
I babbled about this to my friends for a few days, trying to make sense of it. Eventually I realized I hadn&#8217;t seen where the game was hiding.
</p>

<h2>Decision Timing</h2>

<p>
In real-time games (rugby, StarCraft) players are constantly able to take action (maybe with asymmetrical actions, like the separate roles of offense and defense in American football). In turn-based games (Chess, Scrabble, Civilization) players alternate who is allowed to act.
</p>

<p>
Magic: The Gathering had clever game mechanics that gave players new actions in a preparatory phase called &#8220;deckbuilding&#8221; prior to playing cards (incidentally inventing a business model). The players make decisions about what actions they want available to them in the matchups.
</p>

<p>
Warstorm is designed so that <em>all</em> of the actions are up-front, there is no phase of the game besides deckbuilding. It didn&#8217;t feel to me like a game because no game mechanic involves direct interaction with the opponent, I didn&#8217;t see that I could ever make and change a decision in response to my opponent&#8217;s actions (unless we played multiple duels, I suppose). I didn&#8217;t even see the game because it was too different from what I was expecting.
</p>

<p>
But it made me wonder how business concerns drove the game design of Warstorm, a game where there&#8217;s little to do besides pay more money. 
</p>

<h2>Business Concerns</h2>

<p>
When I turned my attention back to Athenge, I saw that my game design implied a lot of business decisions. I like games that require a lot of thought and analysis. I look at the most popular Facebook games and only see pastimes, idle toys requiring action with little thought, minimal direct competition, and even rarer losses. Oh, and tens of millions of players.
</p>

<p>
Warstorm reminded me that my taste in games is not common. Athenge will be a complex game, lots of instructions and options. It&#8217;ll take a lot of time for me, a lone developer, to build. Plus money to buy art, and more resources in marketing to find its non-mainstream audience. There&#8217;s risk to anything I choose to build, but Athenge looks to be more risk than it&#8217;s worth when I look at the current crop of simple, successful games. I could cut it down more and more, let these business concerns change my game&#8217;s design, but I&#8217;d rather let them replace my game&#8217;s design.
</p>

<p>
Instead of starting the programming of Athenge now, I&#8217;m continuing to improve the successful <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL05lYXJieUdhbWVycy5jb20=">NearbyGamers</a> and starting on a simpler, much more accessible game I&#8217;ve been tinkering with the design of for eighteen months. (Though it&#8217;s simple enough that&#8217;ll sound ridiculous when you see it, that&#8217;s fodder for another blog post). I still plan to build Athenge, but I think it must wait until I&#8217;m solidly in the black, until I&#8217;m not risking quite so much.
</p>
 <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1249" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2010/game-influences-76-warstorm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Athenge Ops Playtested</title>
		<link>http://push.cx/2009/athenge-ops-playtested</link>
		<comments>http://push.cx/2009/athenge-ops-playtested#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:55:05 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Athenge]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[playtesting]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1084</guid>
		<description><![CDATA[Over the weekend Snarky dropped by for some ribs and playtesting. I think of early playtesting as scientific experimentation and had a specific question I wanted the session to answer: is the design of the core gameplay, op combat, any fun? It&#8217;s pretty easy to design a game looks fun on paper but doesn&#8217;t actually [...]]]></description>
			<content:encoded><![CDATA[<p>
Over the weekend <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RoZXNuYXJreS5jb20=">Snarky</a> dropped by for some ribs and playtesting. I think of early playtesting as scientific experimentation and had a specific question I wanted the session to answer: is the design of the core gameplay, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvd2ViLWdhbWU=">op</a> combat, any fun?
</p>

<p>
It&#8217;s pretty easy to design a game looks fun on paper but doesn&#8217;t actually work in practice. Maybe you have too many or too few rules, maybe players never have to make a serious decision, maybe it just feels&#8230; off, which means your playtesters are too polite to tell you it&#8217;s not fun.
</p>

<p>
So, we played. And quickly discovered poorly-defined terms, gaps in the rules, bad instructions (up there with <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL29yYWNsZS53aXphcmRzLmNvbS9zY3JpcHRzL3dhLmV4ZT9BMj1pbmQwMjA3YiYjMDM4O0w9bXRnLWwmIzAzODtEPTEmIzAzODtQPTQ0Mw==">Time Walk</a>), worthless options, and gigantic imbalances.
</p>

<p>
But it was fun.
</p>

<p>
We spent as much time talking and tinkering with the design as we did playing, but the fundamental gameplay mechanic was, thankfully, fun. So I know it&#8217;s worthwhile to spend the time developing that for the web so it can get lots of playtesting and improvement and balancing.
</p>

<p>
This is a nice milestone, so I&#8217;m going to mention that I&#8217;ve picked a name for the game: Athenge.
</p>

<p>
It doesn&#8217;t really mean anything, I was playing around with words and my brain connected the high-tech @ sign in email addresses to prehistoric <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9IZW5nZQ==">henges</a>. It&#8217;s short, spellable, pronounceable, doesn&#8217;t sound like any offensive words, and, most importantly, the domain name was available. I&#8217;ve tagged my earlier posts on the web game, so they&#8217;re collected on the <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=L3RhZy9hdGhlbmdl">tag page</a> if you&#8217;re curious.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1084" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2009/athenge-ops-playtested/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>City of Heroes as a Pastime</title>
		<link>http://push.cx/2009/city-of-heroes-as-a-pastime</link>
		<comments>http://push.cx/2009/city-of-heroes-as-a-pastime#comments</comments>
		<pubDate>Wed, 27 May 2009 18:09:31 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[City of Heroes]]></category>
		<category><![CDATA[David Sirlin]]></category>
		<category><![CDATA[elder game]]></category>
		<category><![CDATA[min-maxing]]></category>
		<category><![CDATA[Mission Architect]]></category>
		<category><![CDATA[muds]]></category>
		<category><![CDATA[NCSoft]]></category>
		<category><![CDATA[player-generated content]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1014</guid>
		<description><![CDATA[Last month NCSoft added Mission Architect to City of Heroes, a tool for players to build and share missions that become part of the game. Opening the doors to player-created content &#8212; especially that gives an in-game benefit &#8212; is a huge risk that I think the world of them for taking. Muds have struggled [...]]]></description>
			<content:encoded><![CDATA[<p>
Last month NCSoft added Mission Architect to City of Heroes, a tool for players to build and share missions that become part of the game. Opening the doors to player-created content &mdash; especially that gives an in-game benefit &mdash; is a huge risk that I think the world of them for taking. Muds have struggled with this for years and I&#8217;ve only seen the muds without strong advancement and power mechanics (usually none at all) allowing players to build areas.
</p>

<p>
A <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy53aXJlZC5jb20vZ2FtZWxpZmUvMjAwOS8wNS9taXNzb25fYXJjaGl0ZWN0X2FidXNl">Wired article</a> provides some evidence that Mission Architect has been, in the opinion of the game&#8217;s lead designer Matt Miller, abused to create unfairly rewarding missions for powerlevelers. He said:
</p>

<blockquote>
Some of you have taken the stance of “how does powerlevelling hurt the game?” and “shouldn’t I be able to play the game the way that I want?” What we want to make clear is in order to keep the game fair, balanced, and challenging, we have to maintain a risk:reward ratio. This is a ratio we’ve spent years attempting to achieve. Mission Architect is not immune to this, and we are taking swift action to see that the problems players are seeing and are being exposed to are remedied.

<cite><a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2JvYXJkcy5jaXR5b2ZoZXJvZXMuY29tL3ByaW50dGhyZWFkLnBocD9Cb2FyZD1EZXYmIzAzODttYWluPTEzNDI3MzAwJiMwMzg7dHlwZT1wb3N0">board post</a></cite>
</blockquote>

<p>
This is an odd statement. I understand the &#8220;fair&#8221; comment, it sounds like a lot of the pushback is coming from players who are outraged that other players are able to reach the endgame content with a significantly reduced time investment. But &#8220;balanced&#8221; and &#8220;challenging&#8221; shouldn&#8217;t be affected by powerleveling, it should only mean that players arrive at the balanced and challenging endgame content faster.
</p>

<p>
Another MMORPG creator, Eric Heimburg, put it differently:
</p>

<blockquote>
Once you reached that top of the hill, if there’s nothing left to do or see, players are likely to move on. Length of enjoyment (equals) amount of money earned, so developers have a strong incentive to keep players from gaining power and levels too quickly.
</blockquote>

<p>
The very first thing that popped into my head after I read these two quotes was:
</p>

<blockquote>
A multiplayer game is deep if it is still strategically interesting to play after expert players have studied and practiced it for years, decades, or centuries.
<cite><a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zaXJsaW4ubmV0L2FydGljbGVzL2JhbGFuY2luZy1tdWx0aXBsYXllci1nYW1lcy1wYXJ0LTEtZGVmaW5pdGlvbnMuaHRtbA==">Balancing Multiplayer Games</a></cite>
</blockquote>

<p>
If the City of Heroes endgame is so shallow that it isn&#8217;t balanced or challenging or enjoyable, the solution is not to stop people from getting to it so quickly. Miller said:
</p>

<blockquote>
If we say that the definition (of abuse) is ‘you gained 4 levels in under 30 minutes’, then someone will make sure that they gain 4 levels in 31 minutes, so they can claim they were within the allowed limits and not abusing.
</blockquote>

<p>
Sirlin nailed that one, too, in startlingly similar terms (highlighted):
</p>

<blockquote>
<p>
The thing to be banned must be able to be “completely defined.” Imagine that in a fighting game, repeating a certain sequence of five moves over and over is the best tactic in the game. Further suppose that doing so is “taboo” and that players want to ban it. There is no concrete definition of exactly what must be banned. Can players do three repetitions of the five moves? What about two reps? What about one? What about repeating the first four moves and omitting the fifth? Is that okay? <em>The game becomes a test of who is willing to play as closely as possible to the “taboo tactic” without breaking the (arbitrary) letter of the law defining the tactic.</em>
</p>

<p>
Or in a first-person shooter game, consider the notion of banning “camping” (sitting in one place for too long). No friendly agreement between the players is necessary for the ban, which at least means it’s enforceable. The server can monitor the positions of players, and it knows exactly who breaks the rule and can hand out penalties accordingly. The ban is enforceable, but the problem is being able to completely define camping. <em>If camping is defined as staying within one zone for 3 minutes, and if it really is the best tactic, then sitting in that zone for 2 minutes 59 seconds becomes the best tactic. It’s a slippery slope because there will always exist camping tactics arbitrarily close to the specific kind of camping that is banned.</em>
</p>
<cite><a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zaXJsaW4ubmV0L3B0dy1ib29rL3doYXQtc2hvdWxkLWJlLWJhbm5lZC5odG1s">What Should Be Banned</a></cite>
</blockquote>

<p>
A rule is not only arbitrary but secret and may cause players to be permanently banned from using the Mission Architect or playing the game at all is a really bad sign. It implies that the gameplay in City of Heroes is so broken that the game&#8217;s developers don&#8217;t know what&#8217;s wrong and can&#8217;t make a game that supports long-term, high-level play (that is, the most profitable play). Miller&#8217;s refusal to release a risk:reward ratio sounds more like City of Heroes hasn&#8217;t internally defined one and is only trying to staunch the increased exhaustion of players.
</p>

<p>
I don&#8217;t know City of Heroes, and I don&#8217;t know its creators, so I&#8217;m not going to say that this is certainly the case or that they fail at game design. That&#8217;d be obviously false, CoH has a large and probably generally quite satisfied userbase. Why are so many people playing so happily if the gameplay is broken?
</p>

<p>
The answer I can see is that Sirlin&#8217;s experience and topic choice is games that support high-level tournament play and City of Heroes isn&#8217;t trying to be that. It&#8217;s happy to be more of an unserious entertainment, a pastime, than a proving ground for people to challenge and rank their skills. Tournament games can be pastimes, but the reverse is almost never true.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1014" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2009/city-of-heroes-as-a-pastime/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Karma, Farming and Play Styles</title>
		<link>http://push.cx/2009/karma-farming-play-styles</link>
		<comments>http://push.cx/2009/karma-farming-play-styles#comments</comments>
		<pubDate>Tue, 26 May 2009 12:43:31 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Athenge]]></category>
		<category><![CDATA[farming]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[karma]]></category>
		<category><![CDATA[spreadsheet games]]></category>

		<guid isPermaLink="false">http://push.cx/?p=978</guid>
		<description><![CDATA[The Karma effect and self-scaling universes applies the old management saying (and game design maxim) &#8220;You get what you measure&#8221; to MMORPG leaderboards: Each of the massively multiplayer browser games I mentioned earlier capitalizes extensively on this Karma effect, to the point where some of them don’t even bother to have a graphical side anymore: [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RpY2VhdHRhY2sud29yZHByZXNzLmNvbS8yMDA5LzA1LzI0L3RoZS1rYXJtYS1lZmZlY3QtYW5kLXNlbGYtc2NhbGluZ3VuaXZlcnNlcy8=">The Karma effect and self-scaling universes</a> applies the old management saying (and game design maxim) &#8220;You get what you measure&#8221; to MMORPG leaderboards:
</p>

<blockquote>
Each of the massively multiplayer browser games I mentioned earlier capitalizes extensively on this Karma effect, to the point where some of them don’t even bother to have a graphical side anymore: all you have and play with, is tables with different rankings and statistics that define how well you do: amount of resources, number of bases, successful attacks executed… and that’s it. Playing the game merely means issuing commands with a button, and if your command worked those numbers get higher. And, boy, do you happily obsess over getting them up over time. Indeed one could say that games like these use only the Karma effect, throw a big fat SQL table and a user profile at it, sit back and watch user loyalty go through the roof.
</blockquote>

<p>
It would be funny if it weren&#8217;t dead true. Most of these games feel like you&#8217;re using Excel to solve linear programming problems with starships as your desktop background while teenage psychopaths misspell obscenities at you.
</p>

<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvd3AtY29udGVudC91cGxvYWRzLzIwMDkvMDUvc3ByZWFkc2hlZXRfZ2FtZXMucG5n"><img src="http://push.cx/wp-content/uploads/2009/05/spreadsheet_games-600x375.png" alt="Spreadsheet Games" title="Spreadsheet Games" width="600" height="375" class="aligncenter size-medium content wp-image-993" /></a>

<p>
Yeah, it&#8217;s that much fun. Now imagine it goes on for <em>weeks</em>. I used to call these &#8220;spreadsheet games&#8221; and only settled on <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGhlLWZhcm1pbmctZ2VucmU=">farming games</a> because at least it&#8217;s a verb that describes what happens to you.
</p>

<p>
I think the only think worse than how awful some of these games are is the fact they have tens of thousands of signups.
</p>

<p>
No shit, quite often tens to hundreds of thousands of signups. Not active players, of course, sane people give up pretty quickly on these games. But the games are successes in that they find an audience that can support their expenses.
</p>

<p>
I disagree, though, with the idea that scores and rankings work anywhere:
</p>

<blockquote>
In society this number is often our salary, but for example in Reddit this is called ‘Karma’ and the founders are so aware of the psychological effect they don’t even bother to give an actual meaning to it! And they don’t need to: people will do what it takes to boost their Karma. So let’s dub this – extremely strong – effect the Karma Effect[...]
</blockquote>

<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbWF6b24uY29tL2RwLzE1ODQ1MDQyOTMvP3RhZz1wdXNoY3gtMjA="><img border="0" src="http://push.cx/wp-content/uploads/2009/05/51amqpmqeyl_sl160_.jpg" alt="21st Century Game Design" title="21st Century Game Design" width="127" height="160" class="alignright size-full wp-image-997" /></a><img src="http://www.assoc-amazon.com/e/ir?t=puscx-20&#038;l=as2&#038;o=1&#038;a=1584504293" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

There&#8217;s an awesome book titled <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbWF6b24uY29tL2RwLzE1ODQ1MDQyOTMvP3RhZz1wdXNoY3gtMjA=">21st Century Game Design</a> that did &#8212; no kidding here &#8212; actual research into gamers and did a <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DbHVzdGVyX2FuYWx5c2lz">cluster analysis</a> to break down gamers into four groups (eat your heart out, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5tdWQuY28udWsvcmljaGFyZC9oY2RzLmh0bQ==">Richard Bartle</a>).
</p>

<p>
Their four clusters are Conquerors, Managers, Wanderers, and Participants. Conquerors want to dominate the game or other players and are motivated by (and even take pleasure in) anger, frustration, and boredom. Managers want to master gameplay more than win, and they enjoy plot and politics. Wanderers want experiential games that can explore, tinker with, and perhaps display finesse. Participants are not frequently gamers at all but are heavy socializers when they do, enjoying collaboration and shared emotion. (And grab the book, this is a small piece of the good content in this book; I took 5 pages of notes from it.)
</p>

<p>
Conquerors are the sterotypical &#8220;hardcore gamers&#8221; that comprise the bulk of gaming culture both by weight and volume (and that&#8217;s volume as in taking up lots of space and volume as in loud as hell). These karma, spreadsheet, farming games appeal squarely to the conqueror demographic with confrontation, violence, stark functionality, numeric goals, and explicit ranking.
</p>

<p>
Nobody&#8217;s exclusively in one of these clusters so high scores can pull at a lot of people, but they&#8217;re not nearly as universal a motivator as hearing the words &#8220;Hey, that was a nice move&#8221; from someone you respect. It&#8217;s harder to build a game that drives that kind of social interaction, but I think it&#8217;s more rewarding.
</p>

<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcXVpZGkubmV0L3RocmVlL2VudHJ5LnBocD9pZD01OQ=="><img src="http://push.cx/wp-content/uploads/2009/05/entry059-pool.png" alt="Mechanic 59: Pools and Controls" title="Mechanic 59: Pools and Controls" width="277" height="183" class="alignright size-full wp-image-1000" /></a>
The blog post also shares some ideas about nesting the game within itself. When working on my game design I worked out how a single turn is nested into a match, which is nested into the base-building game, which is nested into the overall game community. It was a nice exercise in thinking of the entire system as a game to ensure it&#8217;s fun at multiple levels of abstraction from the core second-to-second mechanics. The ideas he comes up with remind me a lot of some of the ideas in Sean Howard&#8217;s <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcXVpZGkubmV0L3RocmVlLw==">300 Hundred Mechanics</a> project, especially the <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcXVpZGkubmV0L3RocmVlL2VudHJ5LnBocD9pZD0xNw==">Composition Army</a> and Procedurally-Generated Content Cards <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcXVpZGkubmV0L3RocmVlL2VudHJ5LnBocD9pZD01Nw==">1</a>, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcXVpZGkubmV0L3RocmVlL2VudHJ5LnBocD9pZD01OA==">2</a>, and <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcXVpZGkubmV0L3RocmVlL2VudHJ5LnBocD9pZD01OQ==">3</a>.
</p>

<p class="aside">
(My thanks to David Bremner for his help in supplying the Windows desktop for the screenshot.)
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=978" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2009/karma-farming-play-styles/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Feedback and WeeWar&#8217;s Game Design</title>
		<link>http://push.cx/2009/feedback-in-weewar-game-design</link>
		<comments>http://push.cx/2009/feedback-in-weewar-game-design#comments</comments>
		<pubDate>Mon, 25 May 2009 12:35:45 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[DiceAttack]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[WeeWar]]></category>

		<guid isPermaLink="false">http://push.cx/?p=951</guid>
		<description><![CDATA[I talked about positive feedback loops in the farming genre post but I was in rant mode and sort of glossed over the definition: When you’re collecting resources and upgrading your cities there’s a positive feedback loop at work: you can build a bigger sawmill, hire more children to mine, reach a faster warp factor [...]]]></description>
			<content:encoded><![CDATA[<p>
I talked about positive feedback loops in the <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGhlLWZhcm1pbmctZ2VucmU=">farming genre</a> post but I was in rant mode and sort of glossed over the definition: 
</p>

<blockquote>
When you’re collecting resources and upgrading your cities there’s a positive feedback loop at work: you can build a bigger sawmill, hire more children to mine, reach a faster warp factor on your starships, all so you can bring in more resources. Games often address this by making upgrade costs grow multiplicatively or exponentially while the returns increase linearly, but usually the rate of return grows faster than the rate costs increase. If that last sentence made your eyes glaze over, think of compound interest: the more you have, the faster you earn more. The rich get richer. 
</blockquote>

<p>
I traded email with Wouter Smet, creator of the web game <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2RpY2VhdHRhY2suY29t">DiceAttack</a>. We talked a little about WeeWar and that got me thinking about positive feedback loops because it has one of the <em>worst</em> positive feedback loops I&#8217;ve seen. I&#8217;d like to give a proper definition and use WeeWar as an exercise in game design.
</p>

<p>
Here&#8217;s the start of a game of WeeWar. I&#8217;m going to use screenshots to explain some concepts, but you should sign up (it&#8217;s free) and play a game or few against the AI to get a feel for it. To save the pluralization hassles and parenthetical caveats, I&#8217;m going to write about WeeWar as if it were only two-player (as it&#8217;s most commonly played) rather than multiplayer free-for-all. Everything works the same except that it&#8217;s easier to explain myself and give examples. Remember, you win by defeating all of your opponent&#8217;s units and capturing all the bases.
</p>

<img src="http://push.cx/wp-content/uploads/2009/05/start.png" alt="Game start" title="Game start" width="304" height="242" class="size-full important wp-image-955" />

<p>
<i>Feedback</i> is the game&#8217;s response to player actions. There&#8217;s UI feedback, where clicking a unit highlights the places I can move it to:
</p>

<img src="http://push.cx/wp-content/uploads/2009/05/selection.png" alt="Selection of a unit" title="Selection of a unit" width="190" height="171" class="size-full important wp-image-954" />

<p>
<img src="http://push.cx/wp-content/uploads/2009/05/building_tank.png" alt="Building a tank" title="Building a tank" width="112" height="86" class="alignright size-full wp-image-952" />
<img src="http://push.cx/wp-content/uploads/2009/05/capturing.png" alt="Capturing a base" title="Capturing a base" width="115" height="87" class="alignright size-full wp-image-953" />
But in this post I&#8217;m only talking about game feedback, the in-game response to player actions, like how moving my trooper onto the neutral base starts the capturing process or I spend credits to build a tank.
</p>

<p>
A feedback <i>loop</i> is when the feedback affects itself. Each base I capture earns the income and provides the staging area to produce more troopers to capture bases. You can really see this in effect if you play the <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dlZXdhci5jb20vbWFwLzc=">City Sprawl</a> map, every game opens with a flurry of capturing bases and producing more troopers as quickly as possible.
</p>

<img src="http://push.cx/wp-content/uploads/2009/05/city_sprawl.png" alt="City Sprawl" title="City Sprawl" width="496" height="398" class="important size-full wp-image-963" />

<p>
<img src="http://push.cx/wp-content/uploads/2009/05/troopers_on_bases.png" alt="Troopers on bases" title="Troopers on bases" width="112" height="86" class="alignright size-full wp-image-964" />
Feedback is <i>positive</i> or <i>negative</i>. The base/trooper example is a positive feedback loop, each time it happens it makes it more likely it will happen again. Negative feedback isn&#8217;t something bad happening to a player, it&#8217;s a change that makes it less likely for other changes to occur. Let me make the distinction clear:
</p>

<p>
Losing a unit is negative in the sense that it&#8217;s bad, but it&#8217;s not negative feedback. Losing a unit is a positive feedback loop, each loss makes future losses more likely because you have reduced attack power and you lose opportunities to use the bonus of attacking an enemy unit with several units in one turn. Losing a unit would be negative feedback if each loss made future loss less likely, perhaps by increasing the health of all your remaining units or teleporting the attacker backwards.
</p>

<p>
As far as I can see WeeWar doesn&#8217;t have negative feedback, let alone negative feedback loops, and I&#8217;ll talk about why this is bad in a bit. 
</p>

<p>
<img src="http://push.cx/wp-content/uploads/2009/05/cheesy_explosion.png" alt="Explosion mocukup" title="Explosion mocukup" width="119" height="99" class="alignright size-full wp-image-973" />
Feedback can be weak, strong, or anywhere in-between. To make the unit loss loop weaker the lost unit could be rebuildable by a special repair unit or available at reduced price back at the base, or heal the unit and send it back to a staging area behind the base that constructed it. To make it stronger, we could add an explosion so that destroying a tank damages the allied units touching it, or make a unit&#8217;s defense depend on how many allied units they&#8217;re within a hex or two of.
</p>

<p>
<img src="http://push.cx/wp-content/uploads/2009/05/chess.jpg" alt="Thinking about chess" title="Thinking about chess" width="240" height="240" class="alignright size-full wp-image-971" />
Most multiplayers games have feedback. Some racing games and party games don&#8217;t; nothing you do will affect how quickly your opponent runs a mile. Chess is interesting in that losing pieces is such weak feedback loop; the ease of taking pieces and importance of position and arragement mean that an individual piece doesn&#8217;t count for as much.
</p>

<p>
Back to WeeWar. Bases are a <i>zero-sum resource</i>, each base you capture is a base I lose. (This is true despite the initial expansion into &#8220;neutral&#8221; bases, each is a potential resource that players are directly competing for.) Zero-sum resources tend to come with strong positive feedback loops, and WeeWar is a perfect example of this.
</p>

<p>
Every base on a map is worth the same amount of income. That amount differs between maps but usually ranges between more than enough to produce the smallest unit and enough to buy a mid-sized unit. Most battles involve four or five units on a side, so the ability for each base to produce an entire unit means that bases are quite valuable.
</p>

<p>
In fact, they&#8217;re generally so valuable that capturing one single base from your opponent ensures victory. The battle may rage on for many turns after but the capturing player will almost never lose the lead. The positive feedback loop is too strong for anything else to matter.
</p>

<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy82OTc2ODg2M0BOMDAvMzU0MTkzOTgxNi8="><img src="http://push.cx/wp-content/uploads/2009/05/trench_warfare.jpg" alt="Trench Warfare" title="Trench Warfare" width="200" height="253" class="alignright size-full wp-image-975" /></a>
So in WeeWar you don&#8217;t win by capturing bases, you win by capturing a single base. The gameplay is all about the push back and forth between units, which has been very finely tuned because it&#8217;s gotten so much attention. I don&#8217;t find WeeWar fun because I expect to be pushing the other player back and forth, maneuvering to flank or retreat. Instead it feels more like the meat grinder of trench warfare, trying to stay one step ahead of the rock-paper-scissors unit balance while rotating injured units out and producing fresh ones. I never feel like I have significant choices, just a formula to follow.
</p>

<p>
Since the game isn&#8217;t really about capturing bases, I&#8217;d expect the most successful maps to provide each player with a cluster of bases to defend with significant terrain between them to engage in battle in. This <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dlZXdhci5jb20vbWFwcy9wb3B1bGFy">isn&#8217;t currently the case</a>, the list is dominated by novelty maps and the maps the game included before the map editor was public. I think is a function of the newness of the map editor and the fact that I can&#8217;t restrict the view to see only what maps are most popular among elite players (who want to play on the best-balanced maps).
</p>

<p>
So, can I imagine how to remake WeeWar more to my liking?
</p>

<p>
With the game so <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3dlZXdhci5jb20vc3BlY2lmaWNhdGlvbnMjVW5pdHM=">finely balanced</a>, I&#8217;d probably want to introduce more randomness. Let battles be less predictable. Then remove many of the units that are just upgraded versions of each other, like the set of Tank, Heavy Tank, Berserker. Maybe salt in some special abilities to units, like being able to freeze an enemy unit in place for a turn, stop them from attacking, add to the defense of neighboring units, etc. The abilities would make units more interdependent so that you build battle groups instead of send out single units so often, and you&#8217;d have to re-balance and change your groups as units are lost. The goal here is to make play more varied, with more strategies and options than just hitting your opponent. 
</p>

<p>
Next, I&#8217;d reduce the importance of bases by making the win condition about capturing and controlling otherwise useless immobile flags on the map. Then it&#8217;s nice to capture and hold bases, but not overwhelmingly important. The player has to decide between taking flags or taking bases the opponent to slow them down from taking flags. Another approach would be to make it possible for the player to construct their own bases, making the game a balance between economic and military expansion (worked pretty well for StarCraft).
</p>

<p>
Or maybe change nothing except replace alternating turns with simultaneous turns (my <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLWtvbmdhaQ==">current favorite</a> cure-all).
</p>

<p>
I&#8217;m not going to claim that these ideas are The Perfect Solution, just that I think they&#8217;re decent options for improving the gameplay. This calls for lots of experimentation and playtesting. My real goal with throwing these ideas out is to keep exercising my analytical and creative game design skills as I work on my game design.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=951" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2009/feedback-in-weewar-game-design/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Technology Trees</title>
		<link>http://push.cx/2009/technology-trees</link>
		<comments>http://push.cx/2009/technology-trees#comments</comments>
		<pubDate>Tue, 19 May 2009 12:09:30 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Athenge]]></category>
		<category><![CDATA[directed acyclic graph]]></category>
		<category><![CDATA[dot]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[game influences]]></category>
		<category><![CDATA[gating]]></category>
		<category><![CDATA[graphviz]]></category>
		<category><![CDATA[Ikariam]]></category>
		<category><![CDATA[PBBGs]]></category>
		<category><![CDATA[power scale]]></category>
		<category><![CDATA[technology tree]]></category>
		<category><![CDATA[web games]]></category>

		<guid isPermaLink="false">http://push.cx/?p=718</guid>
		<description><![CDATA[This is part of a series of blog posts on the design process of my web game: 1. Ikariam 2. WeeWar Tangent: The Farming Genre 3. Tactics Ogre 4. Counter-Strike 5. X-Com 6. Kongai Tangent: Technology Trees Talking about Ikariam reminded me about technology trees because it has a particularly big and complex one. When [...]]]></description>
			<content:encoded><![CDATA[<p>
This is part of a series of blog posts on the design process of <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvd2ViLWdhbWU=">my web game</a>:
</p>

<ul>
  <li>1. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2UtaWthcmlhbQ==">Ikariam</a></li>
  <li>2. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXdlZXdhcg==">WeeWar</a></li>
  <li>Tangent: <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGhlLWZhcm1pbmctZ2VucmU=">The Farming Genre</a></li>
  <li>3. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXRhY3RpY3Mtb2dyZQ==">Tactics Ogre</a></li>
  <li>4. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLWNvdW50ZXItc3RyaWtl">Counter-Strike</a></li>
  <li>5. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXgtY29t">X-Com</a></li>
  <li>6. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLWtvbmdhaQ==">Kongai</a></li>
  <li>Tangent: <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGVjaG5vbG9neS10cmVlcw==">Technology Trees</a></li>
</ul>

<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2UtaWthcmlhbQ==">Talking about Ikariam</a> reminded me about technology trees because it has a particularly big and complex one. When I was playing I created a graph showing how to unlock everything so that everyone in my guild could quickly develop as we needed.
</p>

<p>
In the diagram below, pink rectangles are buildings, green parallelograms are actions, solid blue circles are ships, red hexagons are military units (with their costs), and the empty circles are technology achievements (color indicating which of four tracks). It sounds really <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3JvZ3VlbGlrZWRldmVsb3Blci5ibG9nc3BvdC5jb20vMjAwOC8wOC90ZWNobm9sb2d5LWJpcmRzLW5lc3QuaHRtbA==">complicated</a> and is overwhelming at first look, but it serves as reference for any player with a little experience.
</p>

<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvd3AtY29udGVudC91cGxvYWRzLzIwMDkvMDUvaWthcmlhbV92My5wbmc="><img src="http://push.cx/wp-content/uploads/2009/05/ikariam_tech_tree_cutout.png" alt="Ikariam Tech Tree (cropped)" title="Ikariam Tech Tree (cropped)" width="579" height="592" class="alignnone size-full wp-image-895" /></a>

<p>
It&#8217;s worth noting that this is long out-of-date; updates to the game have extensively added, rearranged, and repriced things. I created it with <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5ncmFwaHZpei5vcmcv">graphviz</a>&#8216;s dot utility. It&#8217;s a great tool for easily making the directed graphs that show up over and over in computer science. (And read <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbWF6b24uY29tL2RwLzAwNjE0NzQwOTYvP3RhZz1wdXNoY3gtMjA=">Anathem</a>, it&#8217;s a captivating novel that, yes, prominently features directed acyclic graphs.)
</p>

<p>
OK, that&#8217;s all the &#8220;Yay, technology trees are keen!&#8221; that I can manage.
</p>

<h2>The Purpose of Technology Trees</h2>

<p>
They do have some uses. The first three are heavily intertwined:
</p>

<p>
First, tech trees linearly organize options over time. If a new player could choose from the start whether they wanted to produce smooth-bore or rifled barrels for their soldiers, they&#8217;d have to be a suicidal masochist to choose the former. Usually the later technology uses different, a higher quantity of, or more precious resources (like going from bronze swords to steel swords), but often the improved option is such an large improvement that it&#8217;s not a real choice which to use. A tech tree makes it possible to present these things in a linear fashion to players to make the game more rational and learnable.
</p>

<p>
Tech trees also act as gates on content consumption. Until you&#8217;ve reached a particular level of development, you can&#8217;t use the warp drive and are confined to exploring your solar system. This makes sure that players don&#8217;t skim over expensively hand-scripted characters and hand-designed locations (though most PBBGs procedurally generate content). Gating also ensures that players will have opportunities to recognize all the options presented by content &mdash; to continue the example, it&#8217;d be easy to overlook your mineral-rich asteroid belt if you could immediately cruise off to the stars, and you might end up hamstrung by lack of iron or the knowledge of where to find it and how to mine it. Gating keeps players from being overwhelmed by options and content until they&#8217;ve had some time to read help files and make some new friends they can ask questions of.
</p>

<p>
The third function of a technology tree is to greatly increase the power scale of players. MMORPGs have infamously large power scales: you go from barely triumphing over garden slugs to slaying gods in a casual manner befitting Richard Dawkins. The game <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL25lYXJieWdhbWVycy5jb20vdGFnL3NldHRsZXJzLW9mLWNhdGFu">Settlers of Catan</a> has a smaller power scale: you start collecting resources from two towns and could grow to five towns and four cities. Chess has a flat or declining power scale.
</p>

<p>
The final use I&#8217;ve seen is as a sink. High-level players often have more resources than they know what to do with, so they lose the fun of hard choices (like <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXRhY3RpY3Mtb2dyZQ==">equipment in Tactics Ogre</a>). Technological advancements that provide quantitative improvements (that is, shave some percent off of sailing time as opposed to unlock the ability to build steamboats) act as sinks that excess resources can be poured down. This works especially well when the advancements are expensive, ineffective, and public so that players get bragging rights rather than becoming invincible powerhouses.
</p>

<h2>Technology Trees Usually Suck</h2>

<p>
Most <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=L3RhZy9QQkJHcw==">persistent browser-based games</a> take those first three purposes and crank the dials all the way up. Players use technology trees to go from pointed sticks to nova bombs, from a small space to the most fertile or productive places possible.
</p>

<p>
The biggest problem with trees is that they act as ratchets. Once you&#8217;ve learned The Pulley you always know it and can&#8217;t lose it. That&#8217;s fine in a game of bounded duration like Civilization or StarCraft, after an hour or few the game is over your research disappears. You don&#8217;t start your second game of Civilization back in the stone age knowing how to produce nuclear weapons. But PBBGs are open-ended, a player has a technology until they quit playing entirely (probably being <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGhlLWZhcm1pbmctZ2VucmU=">driven to it</a> by someone farther along).
</p>

<p>
So players get the height of an even bigger power scale to drop rocks on each other from, and if they don&#8217;t have a sink for their extra resources they&#8217;ll probably shower them onto a guildmate to ratchet themselves up with.
</p>

<p>
One StarCraft mechanic often shows up with horrible consequences. In StarCraft, there are a number of enhancements that give special powers to units (such as the ability to burrow into the ground or turn invisible) that mean a defender who hasn&#8217;t researched the countermeasure cannot attack those units at all. This works in a 40-minute game where the defender gains access to the countermeasure around the same time the attacker gains the power, but in a PBBG new players may be dropped in next door to someone who has played for months and the countermeasure may be weeks away. Awful!
</p>

<p>
Designers often don&#8217;t recognize how special technology is. A player might gift their resources, raze their buildings, move their cities, fire their workers, discharge their soldiers, quit their guild&#8230; but they&#8217;ll still have their technology. The advancements available rarely reflect that permanence.
</p>

<h2>Redesigning Technology</h2>

<p>
One of the joys of long games like MMORPGs and PBBGs is that they give players the opportunity to eventually try everything the game has to offer. Well, unless the player has to make an irreversible decision like character class, then they create alternate characters or logins and decry the grind back up through the tree.
</p>

<p>
Looking at StarCraft again, I&#8217;ve combined two mechanics to design an improved technology mechanic for my game. First, limit permanent technological advancements to the expensive but low-productivity sinks mentioned above. In StarCraft you produce advancements by constructing certain buildings or spending resources at them, like a Spire to be able to build flying units. If you lose the building, you lose the advancement and can&#8217;t build more flyers. The other mechanic is &#8220;supply points&#8221;, a cap on the number of units you can control at once. Certain buildings and units raise the point cap, and most units count for 1-2 points toward the cap. It&#8217;s not a resource you can bank, spend, or trade, it&#8217;s solely a limit to the number of units you can recruit. It prevents armies from growing too quickly in the beginning of the game and growing too large in the end of the game.
</p>

<p>
Combining these two ideas, players could build research buildings to unlock different abilities and advancements. They can&#8217;t unlock everything because the cap on research buildings is lower than the number of abilities. Abilities stop being an oddity and are better integrated into the rest of the game mechanics &#8212; do you spend your money setting up a gasoline engine plant or buy more horses? Players choose where to specialize based on their opportunities and personalities and can raze and rebuild buildings to change their selection. 
</p>

<p>
This is the eighth and final of a six post series on game design, weighing in at a surprising 6,200 words (I didn&#8217;t originally plan on these two tangents, but let&#8217;s all toast Douglas Adams while I&#8217;m about it). I&#8217;ve noticed I&#8217;ve picked up some new readers, so let me again let me say I really appreciate feedback. I&#8217;m going to return to my regular babbling about whatever shiny thing captures my attention &#8212; which is to reiterate that you should feel free to comment, email, or IM because that&#8217;s where I tend to pick up topics from.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=718" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2009/technology-trees/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Game Influences (6/6): Kongai</title>
		<link>http://push.cx/2009/game-influences-kongai</link>
		<comments>http://push.cx/2009/game-influences-kongai#comments</comments>
		<pubDate>Mon, 18 May 2009 12:37:15 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Athenge]]></category>
		<category><![CDATA[Civilization]]></category>
		<category><![CDATA[David Sirlin]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[game influences]]></category>
		<category><![CDATA[Kongai]]></category>
		<category><![CDATA[StarCraft]]></category>
		<category><![CDATA[turn-based strategy]]></category>
		<category><![CDATA[web games]]></category>
		<category><![CDATA[yomi]]></category>

		<guid isPermaLink="false">http://push.cx/?p=921</guid>
		<description><![CDATA[This is part of a series of blog posts on the design process of my web game: 1. Ikariam 2. WeeWar Tangent: The Farming Genre 3. Tactics Ogre 4. Counter-Strike 5. X-Com 6. Kongai Tangent: Technology Trees 7. Warstorm Kongai is a very different from all the previous games. It&#8217;s an online two-player collectible card [...]]]></description>
			<content:encoded><![CDATA[<p>
This is part of a series of blog posts on the design process of <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvd2ViLWdhbWU=">my web game</a>:
</p>
<ul>
  <li>1. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2UtaWthcmlhbQ==">Ikariam</a></li>
  <li>2. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXdlZXdhcg==">WeeWar</a></li>
  <li>Tangent: <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGhlLWZhcm1pbmctZ2VucmU=">The Farming Genre</a></li>
  <li>3. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXRhY3RpY3Mtb2dyZQ==">Tactics Ogre</a></li>
  <li>4. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLWNvdW50ZXItc3RyaWtl">Counter-Strike</a></li>
  <li>5. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXgtY29t">X-Com</a></li>
  <li>6. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLWtvbmdhaQ==">Kongai</a></li>
  <li>Tangent: <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGVjaG5vbG9neS10cmVlcw==">Technology Trees</a></li>
  <li>7. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMTAvZ2FtZS1pbmZsdWVuY2VzLXdhcnN0b3Jt">Warstorm</a></li>
</ul>

<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5rb25ncmVnYXRlLmNvbS9nYW1lcy9Lb25ncmVnYXRlL2tvbmdhaQ==">Kongai</a> is a very different from all the previous games. It&#8217;s an online two-player collectible card game. You build a deck of three to five characters (with, optionally, one item each) and defeat your opponents&#8217; characters.
</p>

<p>
Each turn you have two choices to make and the results are resolved simultaneously rather than in the more common &#8220;I go, then you go&#8221; fashion. Range is first: you can leave your character where they are or spend energy trying to get to the near or far range. If you leave your character, the range is whatever your opponent sets. If you both try to set it to something different it doesn&#8217;t change. Some abilities work only at near or far, some both. The energy you spend to change range is the same energy used to activate abilities, so there are immediately some tough decisions to make about where and whether to spend your resources and guessing what your opponent will choose.
</p>

<p>
Second, you each choose an action. You can use one of your characters&#8217; four abilities (mostly attacks, though a quarter or so heal or give status ailments), switch your character out for another (dodging any attack), intercept your opponents&#8217; switch (preventing it and dealing significant damage), or rest your character to recover extra energy for the next turn.
</p>

<img src="http://push.cx/wp-content/uploads/2009/02/kongai.jpg" alt="Kongai" title="Kongai" width="700" height="383" class="alignnone size-full wp-image-685" />

<p>
It&#8217;s one of those simple-but-deep games because of the simultaneous turns. You don&#8217;t flail away at your opponent, you have to outthink them. Kongai&#8217;s designer, David Sirlin, has written a bit about <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zaXJsaW4ubmV0L2FydGljbGVzL2Rlc2lnbmluZy1rb25nYWkuaHRtbA==">the process of designing Kongai</a> and how it&#8217;s all about the skill he calls <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zaXJsaW4ubmV0L2FydGljbGVzL3lvbWktbGF5ZXItMy1rbm93aW5nLXRoZS1taW5kLW9mLXRoZS1vcHBvbmVudC5odG1s">yomi</a>, the ability to predict your opponent&#8217;s moves and keep yours unpredictable.
</p>

<p>
This, in a nutshell, is why I gripe about multiplayer games being primarily about deckbuilding <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXRhY3RpY3Mtb2dyZQ==">like Tactics Ogre</a>. You only get one try to guess your opponent&#8217;s plan. If you guessed wrong, you play a (possibly quite long) battle that you can probably only lose. Only then do you get a chance to change your build to have new tactics to try again. Tactics Ogre isn&#8217;t much fun because there&#8217;s little back-and-forth between the players, battles are just about lining up and smashing as hard as you can (or, worse, about &#8220;leveling up&#8221; the power of your characters).
</p>

<p>
Deckbuilding isn&#8217;t intrinsically wrong, it&#8217;s fun in Kongai and in Magic: The Gathering even more of the game is deckbuilding and it still works well. Many strategy games like Civilization and StarCraft intertwine the building and using phases. You <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zaXJsaW4ubmV0L2Jsb2cvMjAwOS8zLzIyL3VjLWJlcmtlbGV5LXN0YXJjcmFmdC1jbGFzcy13ZWVrLTguaHRtbA==">scout your opponent</a> and <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zaXJsaW4ubmV0L2Jsb2cvMjAwOS80LzE5L3VjLWJlcmtlbGV5LXN0YXJjcmFmdC1jbGFzcy13ZWVrLTExLmh0bWw=">deceive their scouts</a> to decide your build and sabotage theirs.
</p>

<p>
Sirlin&#8217;s written an awesome book called <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hbWF6b24uY29tL2RwLzE0MTE2NjY3OTgvP3RhZz1wdXNoY3gtMjA=">Playing to Win: Becoming the Champion</a> about how players should approach competitive games to succeed at tournament-level play (it&#8217;s also <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zaXJsaW4ubmV0L3B0dw==">available free online</a>). His pushes players to understand games as they are designed rather than as they may stylistically appear to play. Basketball can be won by playing the court and constantly harassing other players, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5uZXd5b3JrZXIuY29tL3JlcG9ydGluZy8yMDA5LzA1LzExLzA5MDUxMWZhX2ZhY3RfZ2xhZHdlbGw/cHJpbnRhYmxlPXRydWU=">not by executing a practiced attack or defending the zone</a> (the Traveller example is even more powerful). I also recommend reading Sirlin&#8217;s entire blog, it&#8217;s similar in content to his book but from the perspective of the game designer trying to plan and balance a complex game that elite players will do their best to break over thousands of hours of dedicated play.
</p>

<p>
I was thinking about my game&#8217;s design and how to prevent it from becoming a slugfest when I thought of Kongai and read Sirlin. The best strategy in any <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvdGhlLWZhcm1pbmctZ2VucmU=">farming game</a> like <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2UtaWthcmlhbQ==">Ikariam</a> is to find the weakest player and raid them repeatedly. The best strategy in <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXdlZXdhcg==">WeeWar</a> is to steal an opponents&#8217; nearest base and the positive feedback loop generated by bases being a zero-sum resource means you&#8217;re almost guaranteed a win. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXRhY3RpY3Mtb2dyZQ==">Tactics Ogre</a> is a slugfest because there are no meaningful options, the best move on any turn is to move to the weakest opponent and hit them as hard as possible. The constant refrain here is that you never care what your opponent is doing; nothing they do actually influences your moves because you don&#8217;t have significant decisions to make.
</p>

<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLWNvdW50ZXItc3RyaWtl">Counter-Strike</a> is a highly successful tournament game because players are constantly shifting tactics in the real-time battle. <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvZ2FtZS1pbmZsdWVuY2VzLXgtY29t">X-Com</a> is the only single-player game on this list, but it would have a good shot at translating to multiplayer because it deals with managing limited resources and knowledge in response to your opponents&#8217; actions.
</p>

<p>
These are the games that had the biggest influence on <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMDkvd2ViLWdhbWU=">my design</a>, though there are certainly others like Syndicate, Eve Online, and muds that have had an effect. I seem to have a habit of working on my design, seeing flaws, adopting from other games to refactor my design, and repeating. I&#8217;ve been really happy with my current plans for an unprecedented several months, so I&#8217;m moving into playtesting to start getting real-world feedback on how well gameplay works. I&#8217;ve got one more game design blog post scheduled on technology trees and otherwise will be returning to my regular babbling about whatever shiny thing captures my attention &#8212; which is to reiterate that you should feel free to comment, email, or IM because that&#8217;s where I tend to pick up topics from.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=921" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2009/game-influences-kongai/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

