<?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>Building Browsergames &#187; frustrations</title>
	<atom:link href="http://buildingbrowsergames.com/category/design/frustrations/feed/" rel="self" type="application/rss+xml" />
	<link>http://buildingbrowsergames.com</link>
	<description>Ever wanted to build a browsergame?</description>
	<lastBuildDate>Mon, 29 Mar 2010 14:00:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dead Game Projects</title>
		<link>http://buildingbrowsergames.com/2009/01/06/dead-game-projects/</link>
		<comments>http://buildingbrowsergames.com/2009/01/06/dead-game-projects/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 14:00:30 +0000</pubDate>
		<dc:creator>Jacob Santos</dc:creator>
				<category><![CDATA[frustrations]]></category>

		<guid isPermaLink="false">http://buildingbrowsergames.com/?p=639</guid>
		<description><![CDATA[I think one of the most easiest decisions to make is whether or not to work on a PBBG or open source game. You are donating your time and the reward is having fun playing or having fun coding or eventually making money from the project. When you no longer have any motivation to work [...]]]></description>
			<content:encoded><![CDATA[<p>I think one of the most easiest decisions to make is whether or not to work on a PBBG or open source game. You are donating your time and the reward is having fun playing or having fun coding or eventually making money from the project. When you no longer have any motivation to work on the project, then it falls to the realm of forgotten game projects.</p>
<p>Finding the motivation can be extremely difficult with any open source or projects that don&#8217;t make money. There are real life situations that require attention and building a browser game can take quite a long time. If you can only put a few hours a day or a few hours a week, then it will be a year before anything can be shown to the players.</p>
<p>A game project never dies, unless you consider it dead and you&#8217;re never going to work on the project again. If you walk away from a project, then walk away from it. If you eventually want to work on it again, then forget about it and come back to it when you are ready.</p>
<p>I consider one of the projects I worked on to be dead, because I was only motivated by another to work on it and they stopped. I&#8217;ve stopped working on another project, but I picked up on it again after about two years. I didn&#8217;t consider myself ready to really put my all into it and I sought out to find my inner developer. After two years, I&#8217;ve grown as a developer and experience and I am ready to develop the library with greater motivation. Thinking back, I&#8217;ve never considered it a dead project, I&#8217;ve always wanted to go back to it when I had the time and motivation to start working on PBBG projects again.</p>
<p>I&#8217;ve seen many dead projects that haven&#8217;t had any updates for a few years. If that is going to the case, then leave an update for those who are visiting saying whether you are continuing the project or letting it die. If you are unsure, then say so. The worse messages are ones that state that they will pick up in a few months, a few years ago.</p>
<p>I believe the feelings are mixed with killing game projects, because a following might have picked up, even if a small one and you don&#8217;t want to disappoint them. If you have a well established project, then you can see if someone else wants to pick it up instead of letting it die. What matters the most is how you feel about the project. If you have a bad taste in your mouth about leaving it, then will that motivate you to go back to it or will it keep you away? If it is the latter, then you know, so inform those who don&#8217;t know you of your intentions.</p>
<p>What are your thoughts on dead or dieing projects that you&#8217;ve seen or worked on?</p>
]]></content:encoded>
			<wfw:commentRss>http://buildingbrowsergames.com/2009/01/06/dead-game-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Post Mortem: TerraTanks: Dominion (Part 2) Need to improve</title>
		<link>http://buildingbrowsergames.com/2008/09/08/post-mortem-terratanks-dominion-part-2-need-to-improve/</link>
		<comments>http://buildingbrowsergames.com/2008/09/08/post-mortem-terratanks-dominion-part-2-need-to-improve/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 14:00:57 +0000</pubDate>
		<dc:creator>gostyloj</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[frustrations]]></category>
		<category><![CDATA[postmortem]]></category>
		<category><![CDATA[terratanks]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://buildingbrowsergames.com/?p=305</guid>
		<description><![CDATA[Really this section could go on forever.  I fell into a despair about the game 2 months ago where every week I would make a large update to fix what I thought was the game not being fun and by the end of the week the game was not fun again.  This has [...]]]></description>
			<content:encoded><![CDATA[<p>Really this section could go on forever.  I fell into a despair about the game 2 months ago where every week I would make a large update to fix what I thought was the game not being fun and by the end of the week the game was not fun again.  This has since dissipated and I have been having a blast with the game.</p>
<p>I want to focus on 2 things that I think need talking about (and one of them is not web page layout).  One is something games in general suffer from.  The other is something my game uniquely suffers from.</p>
<p><strong>Thing 1: Scope, scope, scope, scope, scope.</strong><br />
Something I have difficulty with is wrapping my brain around just how big something is going to be.  While being big is not necessarily a bad thing, being big and empty is a horrible thing.  When you create a space, that space needs to be filled out completely.  The first game I made (Atlas: The Gift of Aramai) suffered from this.  The driving principal of the game was &#8220;we want to make it big&#8221;.  The fallout of this was 5 years creating content to still have the game seem desolate and empty as you character walked for 7 minuets to the next town.</p>
<p>It is amazing how the power of squares can effect the amount of content you have to generate.  Filling area is literally X times more time consuming than filling a linear map where X is the length of that map.</p>
<p>When starting a game, think small.  When you think of most browser games they occur on one screen.  Depth is so much more valuable than breadth.  Depth displays the designer&#8217;s creativity.  Depth in a small game means that you can actually release your game in a time span that doesn&#8217;t drive you crazy.</p>
<p>Far be it from me to follow my own advice.  TerraTanks is a very large game.  I believe it is also a very deep game.  It certainly is a complicated game that evaluates actions in a sophisticated way.  It took me 2 months to finish the breadth of the game and an additional 8 months to add depth to a state where I am satisfied with my work.  (2 months of that was under the public beta).  I have a very long list of things to do to add more depth to the game.  It is playable and fun as it is, but the oportunity to add depth seems to be expanding and not getting smaller as I create features.</p>
<p><strong>Thing 2: I created an odd way of displaying the map.</strong><br />
This can be prefaced by saying that compared to many of my peers, I think sideways.  It is fun to be unique in my problem solving but it is sometimes difficult for me to relate my ideas to the general audience.</p>
<p>This is what I mean.  Most people when they want to create a map they will go about creating a cartesian coordinate system grid.  People understand the incrementing value and it is easy to calculate distance using the pythagorian theorem.  When I went about creating the map I originally thought of how space looked in my head.  You have a universe with nested galaxies.  Each galaxy had nested stars.  Most stars are solar systems with nested planets.  The idea of nesting is what stuck with me.  What I did from that was to create a system of nested areas which defined my space.  My galaxy was a square divided into 4 square quadrants like this:</p>
<pre>
0 | 1
----
2 | 3
</pre>
<p>Please note how like any good programmer I start with 0.  Each square quadrant was divided into 16 square sectors so in quadrant 0 it would look like:</p>
<pre>
00 | 01 | 02 | 03
-------------
04 | 05 | 06 | 07
-------------
08 | 09 | 0a | 0b
-------------
0c | 0d | 0e | 0f
</pre>
<p>Now note that since I have 16 squares I am using hexidecimal notation.</p>
<p>What I end up with is planets that have identifiers that look like 0b23c5 which accurately descirbes the location of the planet in a nested notation.  While it makes complete sense, this is really difficult to explain.  Most people don&#8217;t have a computer science background and even if you do, people don&#8217;t view maps as a series of nested grids.  While this way of making maps simplified programming in many respects, but it is not good to make your end users learn something like that to understand your game.  The other problem is the effort to convert the game to a cartesian map is difficult and pretty much impossible now that people are already playing the game.</p>
<p>Game makers often fall for the old trap of either trying to show how smart they are or treating their audience with contempt for not knowing the minutea of their own passion.  Really smart game makers can present difficult concepts in a way that everyone can pick up and understand.  You don&#8217;t need to spell things out for your audience at every moment, but don&#8217;t make them figure you out either.</p>
<p>Most of the remaining issues with my game involve how to efficiently display large amounts of information.  This is something I work on every day so I don&#8217;t think of it as something that I did wrong in hindsight, but something that is still in progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://buildingbrowsergames.com/2008/09/08/post-mortem-terratanks-dominion-part-2-need-to-improve/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making your forms remember their values</title>
		<link>http://buildingbrowsergames.com/2008/05/21/making-your-forms-remember-their-values/</link>
		<comments>http://buildingbrowsergames.com/2008/05/21/making-your-forms-remember-their-values/#comments</comments>
		<pubDate>Wed, 21 May 2008 14:00:32 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[frustrations]]></category>

		<guid isPermaLink="false">http://buildingbrowsergames.com/?p=38</guid>
		<description><![CDATA[One of the things that all of the forms we&#8217;ve built so far have been missing is something that virtually every browsergame worth its salt has: inputs that remember their old values.
You can see this in action on virtually any website you visit, whether it&#8217;s a browsergame or not. You type some text into a [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things that all of the forms we&#8217;ve built so far have been missing is something that virtually every browsergame worth its salt has: inputs that remember their old values.</p>
<p>You can see this in action on virtually any website you visit, whether it&#8217;s a browsergame or not. You type some text into a box, hit the &#8217;submit&#8217; button, and then when the new page has loaded, if that input area is still there, it will still have the values that you entered earlier. This is a really nice feature, that&#8217;s really easy to implement.</p>
<p>All you need to do is set the <em>value</em> attribute of your inputs to the variable that stores the information sent to your page.</p>
<p>Let&#8217;s say, for example, that in your PHP page <em>$_POST['username']</em> has the value that the user typed into the &#8216;username&#8217; box. To set the value to that, all we&#8217;d need to do is put <em>value=&#8217;$_POST['username']&#8216;</em> inside our HTML code that we are outputting, and make sure that it&#8217;s in a  location where the value of the variable will be interpolated into our output.</p>
<p>If you&#8217;re using a templating system, this (usually) becomes even easier &#8211; under Smarty for PHP, you can use something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #0000ff;">'text'</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">'username'</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">'{$smarty.post.username}'</span> <span style="color: #339933;">/&gt;</span></pre></div></div>

<p>If you&#8217;re using Perl&#8217;s HTML::Template, you can use the <em>associate</em> argument in your constructor, with a CGI object:</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$query</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> CGI<span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$template</span> <span style="color: #339933;">=</span> HTML<span style="color: #339933;">::</span><span style="color: #006600;">Template</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span>
		associate	<span style="color: #339933;">=&gt;</span>	<span style="color: #0000ff;">$query</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>And because the CGI object has a <em>param()</em> method, HTML::Template will just automagically store the values into any area where you&#8217;ve defined that they should be displayed, like so:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;input type='text' name='username' value=&quot;&lt;!--tmpl_var name='username'--&gt;&quot; /&gt;</pre></div></div>

<p>And that&#8217;s all there is to making your forms remember their values &#8211; a simple change that will help keep your users from getting frustrated with using any of the forms in your game.</p>
]]></content:encoded>
			<wfw:commentRss>http://buildingbrowsergames.com/2008/05/21/making-your-forms-remember-their-values/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Does your game need Javascript?</title>
		<link>http://buildingbrowsergames.com/2008/05/15/does-your-game-need-javascript/</link>
		<comments>http://buildingbrowsergames.com/2008/05/15/does-your-game-need-javascript/#comments</comments>
		<pubDate>Thu, 15 May 2008 14:00:17 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[frustrations]]></category>
		<category><![CDATA[interface]]></category>

		<guid isPermaLink="false">http://buildingbrowsergames.com/?p=34</guid>
		<description><![CDATA[Ajax is defined as &#8216;Asynchronous Javascript And XML&#8217;, and is used to allow pages to update small pieces of themselves, without needing to refresh the page. But does your game need it?
While most developers have been eager to adopt Ajax and build it into any(and sometimes all) of their projects, the core of the matter [...]]]></description>
			<content:encoded><![CDATA[<p><abbr title='Asynchronous Javascript And XML'>Ajax</abbr> is defined as &#8216;Asynchronous Javascript And XML&#8217;, and is used to allow pages to update small pieces of themselves, without needing to refresh the page. But does your game need it?</p>
<p>While most developers have been eager to adopt Ajax and build it into any(and sometimes all) of their projects, the core of the matter is that <strong>you don&#8217;t really need it</strong>, and you shouldn&#8217;t worry about it until later.</p>
<p>There are a few reasons for this:</p>
<h1>Users with Javascript turned off</h1>
<p>According to <a href='http://www.w3schools.com/browsers/browsers_stats.asp'>browser stats</a> from the W3C, as of January 2008 95% of their visitors had Javascript enabled &#8211; but what about the other 5%? If you don&#8217;t make sure to build the parts of your game that are Javascript-driven in such a way that they will also be available to users who don&#8217;t have Javascript turned on, you&#8217;ve effectively killed your game in their eyes &#8211; users with Javascript disabled will think that it&#8217;s broken.</p>
<p>And don&#8217;t think that you can just have a boilerplate disclaimer that says &#8220;you need to be using Javascript to use this site&#8221; &#8211; some users might be accessing your game in a situation where a network or systems administrator has told them to absolutely under no condition enable Javascript. It sounds strange, but it happens.</p>
<h1>Browser Incompatabilities</h1>
<p>While this can be solved with extensive debugging, if you <strong>don&#8217;t</strong> use Javascript, you&#8217;ll never encounter a problem with how your game behaves from browser-to-browser &#8211; and there will never be strange Javascript errors that you need to debug. It will all just work!</p>
<h1>Javascript for Javascript&#8217;s sake</h1>
<p>Some developers tend to go overboard when they first learn about Ajax, and start adding it to everything &#8211; instead of having a link to a page in a situation where a link to a page would be ideal, they write complicated Ajax wrappers to load the page and display it. This is a clear case of <strong>too much Javascript</strong>, and it will frustrate your users.</p>
<p><br/></p>
<p>At the end of the day, whether you use Javascript/Ajax in your game or not is completely up to you &#8211; but carefully consider any decision that results in adding Javascript &#8211; will it improve the user&#8217;s experience? Will the feature still work as intended for users with Javascript disabled? Both are important questions you need to ask <strong>and</strong> answer before you write one line of Javascript for your game. Doesn&#8217;t matter how cool your game is.</p>
]]></content:encoded>
			<wfw:commentRss>http://buildingbrowsergames.com/2008/05/15/does-your-game-need-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Do you really need their e-mail address?</title>
		<link>http://buildingbrowsergames.com/2008/05/08/do-you-really-need-their-e-mail-address/</link>
		<comments>http://buildingbrowsergames.com/2008/05/08/do-you-really-need-their-e-mail-address/#comments</comments>
		<pubDate>Thu, 08 May 2008 14:00:49 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[frustrations]]></category>

		<guid isPermaLink="false">http://buildingbrowsergames.com/?p=27</guid>
		<description><![CDATA[
It&#8217;s happened to all of us. You visit a website and try to get somewhere that looks interesting, and suddenly you see a &#8220;Whoops, you need to be logged in to see this!&#8221;. So you click on the register button, and you get the standard registration form: username, password, password confirm, and e-mail address.
As someone [...]]]></description>
			<content:encoded><![CDATA[<p class='aligncenter'><a href='http://buildingbrowsergames.com/blog/wp-content/uploads/2008/05/picture-1.png'><img src="http://buildingbrowsergames.com/blog/wp-content/uploads/2008/05/picture-1-300x193.png" alt="A Typical Registration Screen" title="register-screen" width="300" height="193" class="size-medium wp-image-28" /></a></p>
<p>It&#8217;s happened to all of us. You visit a website and try to get somewhere that looks interesting, and suddenly you see a &#8220;Whoops, you need to be logged in to see this!&#8221;. So you click on the register button, and you get the standard registration form: username, password, password confirm, and <strong>e-mail address</strong>.</p>
<p>As someone building a game, you will eventually have to answer the question: <strong>do you really need their e-mail address?</strong></p>
<p>A lot of people justify needing a unique e-mail address by using the logic of &#8220;everyone else does it, so I will too&#8221; &#8211; but that&#8217;s <strong>wrong</strong>. Requiring a user&#8217;s e-mail address so that they can register is a bad idea unless you actually need it.</p>
<p>When do you need a user&#8217;s e-mail address? When having multiple characters for the same player would seriously distort the game &#8211; and that&#8217;s about the only time. In virtually all other cases, you do not actually <strong>need</strong> a user&#8217;s e-mail address.</p>
<p>Will it hurt you to ask a user for their e-mail address? Not really &#8211; but it tends to aggravate users if their e-mail isn&#8217;t actually needed to play the game &#8211; and in a lot of cases, the more tech-savvy users(and therefore more likely to try and register multiple accounts) will just use a temporary e-mail service like <a href='http://www.mintemail.com/'>mintemail</a> to provide you with a temporary e-mail address and make sure they don&#8217;t get spammed.</p>
<p>Even in the case of multiple accounts distorting play, you don&#8217;t <strong>really</strong> users to have unique e-mail addresses &#8211; you just need to do a bit more checking to make sure that two characters aren&#8217;t cooperating <strong>too</strong> much. How you define that is up to you &#8211; but as long as you have something in place to allow you to track which players interact with which other players and how much cooperation is going on between two specific characters, you&#8217;re fine without e-mail addresses.</p>
<p>There are sure to be some false positives using the above system. But no matter what you do, <strong>you cannot prevent someone from cheating if their mind is set firmly enough on it</strong>. That&#8217;s it. They&#8217;ll make temporary e-mails, they&#8217;ll create multitudes of characters, and they&#8217;ll find creative ways around everything you throw at them.</p>
<p>So do you really need users to give you their e-mail addresses? Think long and hard about it &#8211; because chances are, you don&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://buildingbrowsergames.com/2008/05/08/do-you-really-need-their-e-mail-address/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
