<?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>Henrik Falck&#039;s blog &#187; minesweeper</title>
	<atom:link href="http://henrikfalck.com/blog/tag/minesweeper/feed" rel="self" type="application/rss+xml" />
	<link>http://henrikfalck.com/blog</link>
	<description>reinventing web 3.0</description>
	<lastBuildDate>Mon, 12 Apr 2010 00:33:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Minesweeper!</title>
		<link>http://henrikfalck.com/blog/2007/08/minesweeper.html</link>
		<comments>http://henrikfalck.com/blog/2007/08/minesweeper.html#comments</comments>
		<pubDate>Thu, 02 Aug 2007 14:39:00 +0000</pubDate>
		<dc:creator>Henrik Falck</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[minesweeper]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web apps]]></category>

		<guid isPermaLink="false">http://henrikfalck.com/blog2/2007/08/minesweeper.html</guid>
		<description><![CDATA[Finally! My Minesweeper game is ready for the web! It&#8217;s the classic game in a web 2.0 costume. Why did I do that? when surely it&#8217;s been done before. Because I like minesweeper.
Developing this game has taught me one something about the time it can take from prototype to somewhat finished product: Developing the completely [...]]]></description>
			<content:encoded><![CDATA[<p>Finally! My <a href="http://henrikfalck.com/minesweeper/" ><span style="font-weight: bold;">Minesweeper</span></a> game is ready for the web! It&#8217;s the classic game in a web 2.0 costume. Why did I do that? when surely it&#8217;s been done before. Because I like minesweeper.</p>
<p>Developing this game has taught me one something about <span style="font-style: italic; font-weight: bold;">the time it can take from prototype to somewhat finished product</span>: Developing the completely playable &#8220;offline&#8221; prototype version was quick and easy &#8211; after all, I developed minesweeper already in <span style="font-weight: bold;">high school</span> on my programmable Casio calculator. So I thought it would take about trice the time to finish it, but in the end it took about <span style="font-weight: bold;">ten times that time</span>.</p>
<p>One reason for this is the <span style="font-weight: bold;">online highscore</span> functionality. <span style="font-style: italic;">But T-rex, online highscores just means keeping a list of the best times on the server and sending it to the client.</span> Yes, but then it wouldn&#8217;t take much to figure that all you need to do is type &#8220;register_highscore.php?time=0&#038;name=script%20kiddie&#8221; into your browser&#8217;s address field to get an <span style="font-weight: bold;">instant all-time high</span>. So how did I solve that?</p>
<p><span style="font-weight: bold; font-style: italic;">The game is played simultaneously on the client</span> (i.e. in the web browser) <span style="font-weight: bold; font-style: italic;">and on the server</span> (in php). Sweeps are sent at regular intervals to the server, which then plays the same moves and checks the results. So in the end it&#8217;s <span style="font-weight: bold;">the server that decides</span> that a game is over, how long it took, and whether that&#8217;s a new highscore or not. That, ideally, is not so complicated either, but well there are lots of opportunities to make <span style="font-weight: bold;">stupid mistakes</span>. (Especially when you&#8217;re having a shochu on the rocks while coding (I did it during my vacation).)</p>
<p><span style="font-weight: bold; font-style: italic;">The other reason</span> is that it&#8217;s <span style="font-weight: bold; font-style: italic;">hard to make a web app behave like a nifty game</span>. You need graphics, animations, and that kind of stuff that often causes you to run into problems with layout positioning and, most of all, <span style="font-weight: bold;">browser inconsistencies</span>. <span style="font-style: italic;"><span style="font-weight: bold;">Web browsers just aren&#8217;t ideal for making applications yet</span>.</span> (Well, tell me a platform that is, anyway&#8230;) The game runs best, as always, in Firefox. Although I admit I haven&#8217;t tried IE 6 yet. I&#8217;ll tackle that beast tomorrow. <img src='http://henrikfalck.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  IE 7 works good, though.</p>
<p>I still have a number of features planned that I&#8217;ll implement during the coming weeks, but at least now it&#8217;s good enough to play. Try and beat my times! Here&#8217;s the url again:</p>
<p><a href="http://henrikfalck.com/minesweeper/" >http://henrikfalck.com/minesweeper/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://henrikfalck.com/blog/2007/08/minesweeper.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

