<?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>OMGWTFGAMES!!1! &#187; code</title>
	<atom:link href="http://omgwtfgames.com/category/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://omgwtfgames.com</link>
	<description>games, served indie side up</description>
	<lastBuildDate>Tue, 26 Jan 2010 09:19:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Belated Ludum Dare #14 &#8220;entry&#8221;</title>
		<link>http://omgwtfgames.com/2009/04/belated-ludum-dare-14-entry/</link>
		<comments>http://omgwtfgames.com/2009/04/belated-ludum-dare-14-entry/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 01:21:45 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[ludum dare]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[starwars]]></category>

		<guid isPermaLink="false">http://omgwtfgames.com/?p=114</guid>
		<description><![CDATA[Well, it&#8217;s not an official entry, since it&#8217;s way too late. You can see what I was trying to achieve here and here. Essentially, I was attempting to entertain myself in the boring parts of a plane flight from Rome to Melbourne, via Hong Kong, by making my Ludum Dare entry. Various problems, mainly to [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s not an official entry, since it&#8217;s <em>way</em> too late. You can see what I was trying to achieve <a href="http://www.ludumdare.com/compo/2009/04/17/ludum-dare-from-10000-feet/">here</a> and <a href="http://www.ludumdare.com/compo/2009/04/19/nice-experiment-didnt-work-out/">here</a>. Essentially, I was attempting to entertain myself in the boring parts of a plane flight from Rome to Melbourne, via Hong Kong, by making my Ludum Dare entry. Various problems, mainly to do with finding working laptop power, prevented me from submitting it by the deadline.</p>
<p style="text-align: center;"><a href="/wp-content/uploads/games/compactor/applet/index.html"><img class="aligncenter size-medium wp-image-116" title="Compactor LD14 Screenshot" src="http://omgwtfgames.com/wp-content/uploads/2009/04/compactor_ld14_screenshot-300x180.png" alt="Compactor LD14 Screenshot" width="300" height="180" /></a></p>
<p style="text-align: left;">This is the product of about two laptop battery charges (~2.5 hours), and one hour to polish, fix the odd bug and package .. so in total it&#8217;s about a ~6 hour game. It&#8217;s based on the garbage compactor scene from a particular space opera that had it&#8217;s heyday in the late 70&#8217;s and early 80&#8217;s. You could imagine it was one of the ideas that was considered, then discarded, before the early arcade developers went &#8220;Nah, we should do a <a href="http://www.arcade-history.com/?n=star-wars-upright-model&amp;page=detail&amp;id=2623">3D X-Wing game with vector graphics</a>. That would be much cooler&#8221;.</p>
<p style="text-align: left;">You are the (inexplicably) green hero. You play with the arrow keys. You move bits of junk (grey) such that you can jam the compactor before it crushes you. Some bits of junk (white), are too large to move. There is only one level and no sound.</p>
<p style="text-align: left;"><a href="/wp-content/uploads/games/compactor/applet/index.html">Play it here</a> <em>(Java applet, requires the Java plugin that you most likely already have installed)</em>.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2009/04/belated-ludum-dare-14-entry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phobocore &#8211; new game release</title>
		<link>http://omgwtfgames.com/2009/02/phobocore-new-game-release/</link>
		<comments>http://omgwtfgames.com/2009/02/phobocore-new-game-release/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 07:01:38 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rabbyt]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[galcon]]></category>
		<category><![CDATA[phobocore]]></category>

		<guid isPermaLink="false">http://omgwtfgames.com/?p=92</guid>
		<description><![CDATA[Here&#8217;s a new game I&#8217;ve been developing on-and-off for a few months now. I&#8217;ve become pretty busy at &#8220;The Day Job&#8221; recently, and due to commuting time I haven&#8217;t found time to add all the features I&#8217;d like. I thought rather than sit on this game for many more months, I&#8217;d just release it as [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a new game I&#8217;ve been developing on-and-off for a few months now. I&#8217;ve become pretty busy at &#8220;The Day Job&#8221; recently, and due to commuting time I haven&#8217;t found time to add all the features I&#8217;d like. I thought rather than sit on this game for many more months, I&#8217;d just release it as is. It&#8217;s polished enough to play &#8230; but you&#8217;ll need a friend (if you live in Melbourne &#8230; I&#8217;m happy to drop round and play it with you <img src='http://omgwtfgames.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p><strong><em>Phobocore</em> is a two-player hotseat game, where the aim is to capture all the planets onscreen by shooting them. It&#8217;s sort of a cross between </strong><strong><em>Asteroids</em></strong><strong> and <em>Risk/Galcon</em>, with a respectful nod to open field overhead shooters like </strong><strong><em>Robotron</em>, <em>Bezerk</em></strong><strong> or <em>Gauntlet</em>.</strong></p>
<p style="text-align: center;"><a href="http://omgwtfgames.com/wp-content/uploads/2009/02/phobocore_screenshot.png"><img class="aligncenter size-medium wp-image-97" title="Phobocore screenshot" src="http://omgwtfgames.com/wp-content/uploads/2009/02/phobocore_screenshot-300x224.png" alt="Phobocore screenshot" width="300" height="224" /></a></p>
<h3><a href="/downloads/phobocore_v0.9.zip">Download Phobocore (v.09 for Windows &amp; Linux) [10.3 mb]</a></h3>
<p>The experience of creating this game has been quite enlightening so far. It really got me thinking about aspects of game design I hadn&#8217;t thought deeply about. I threw around lots of ideas relating to &#8216;resources&#8217; and &#8216;defenses&#8217;, particularly thinking about how RTSs like <em>Starcraft</em> require balance in play style between defense building, offensive <span class="variant">maneuvers </span>and resource gathering. Good players must multitask and proiritize to get the upperhand on their opponents. Key questions like <em>&#8220;Should captured/neutral/enemy planets be solid objects or unhindering ?&#8221;</em> occupied more than one dinner time conversation, bearing out all the ways these would changed the game. I had great fun testing the effect of different game rules, and how these changed the dynamics of the gameplay (with huge thanks to my long-suffering girlfriend for playtesting. The next best thing to writing an AI player <img src='http://omgwtfgames.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). If you are keen to fiddle with these game rules yourself, you can throw various flags in the <em>phobocore.py</em> sourcecode to test how these variations change the play style required to win.</p>
<p>I also spent considerable time tweaking things like fire rates and the &#8220;planets-held to ammo recharge rate&#8221; ratio to try and make the game somewhat fun. It works pretty well for players that are equally matched, but much like <em>Galcon</em>, once one player gets an edge, it can be hard to recover and things are over pretty quickly.</p>
<p>Big features I&#8217;d love to add in the future: an AI compurer player for single player mode, and maybe network play. I need to work on the collision detection, improve the graphics, add background music, and add a help screen / tutorial screen and slap on a license (probably GPL for code and Creative Commons for audiovisual assests).</p>
<p>Have fun &amp; feedback is, as always, welcome !</p>
<h3><span id="more-92"></span></h3>
<h3>Here&#8217;s the README.txt</h3>
<pre>┏━┓╻ ╻┏━┓┏┓ ┏━┓┏━╸┏━┓┏━┓┏━╸
┣━┛┣━┫┃ ┃┣┻┓┃ ┃┃  ┃ ┃┣┳┛┣╸
╹  ╹ ╹┗━┛┗━┛┗━┛┗━╸┗━┛╹┗╸┗━╸
Copyright Andrew Perry, 2008, 2009.

A two player hotseat game of screen domination.
It's pink vs. blue.
Boys vs. girls.

┃: GAMEPLAY :┃

Phobocore is a a simultaneous two player game. The goal is to capture
 as many planets as possible.
* You capture planets by shooting them - eventually they will turn to
  your colour.
* If you shoot a planet enough, it becomes locked to your colour -
  these planets cannot be re-captured by the enemy.
* The more planets you capture, the faster your ammo refills (orange
  bar). The more locked planets you hold, the more powerful your
  bullets become.
* You can fly through neural (white) or enemy planets. You cannot fly
  through your own planets.
* Shooting the enemy freezes them momentarily, however they also
  absorb your bullets for their own ammo store.
* Powerups occasionally appear - these give you more ammo, and can
  provide the vital edge you need to capture more planets than your
  opponent.
* The red bar goes up the more planets you lock. Once you have locked
  30 % of the planets on screen, you win.

┃: CONTROLS :┃

Player 1 (pink, left ammo bar): W,A,S,D and space
Player 2 (blue, right ammo bar): Arrow keys and right-CTRL

┃: OPTIONS :┃

Commandline options:

-f          run the game in full screen mode

┃:   TIPS   :┃

Early on, every bullet counts. Fire accurately and efficiently.

It may seem frustrating at first, since you can't shoot very fast.
Early in the game, aim to quickly but efficiently capture as many
planets as possible, and pick up powerups if you can. Don't waste
ammo locking too many planets early in the game - it's more about
quantity not quality at this stage. As you capture more planets,
your fire rate will go up.

Once you have a reasonable fire rate established, start focusing
on locking planets too. This will increase your bullet power,
meaning you can also capture/lock planets faster.

Take opportunities to steal any weak planets owned by your opponent
(the smaller ones) with a quick circular spray of bullets - this
will seriously impact on your opponents fire rate, frustrating
their efforts to capture/steal/lock more planets.

Try not to fence yourself in. Keep in mind that planets you capture
become blockades for you, but become open space for your opponent.
Rather than spraying a whole 360 degree circle of bullets to capture
all the planets in your vicinity, try doing 270 degree sweeps,
leaving yourself a exit small hole of neutral or enemy planets.</pre>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2009/02/phobocore-new-game-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Processling of Towlr</title>
		<link>http://omgwtfgames.com/2008/12/the-processling-of-towlr/</link>
		<comments>http://omgwtfgames.com/2008/12/the-processling-of-towlr/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 02:56:50 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[browser based]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mine]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[towlr]]></category>

		<guid isPermaLink="false">http://omgwtfgames.com/?p=69</guid>
		<description><![CDATA[I made a Towlr. It&#8217;s a puzzle. It comes to you without instruction and without explanation. Discover their secret for a delicious reward. It is possible. You may become frustrated. You may even have a minor hissy fit. This is quite normal.


(Thanks to Mike Kasprzak of Sykhronics Entertainment for hosting this monstrosity. Respect to the [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I made a <a href="http://www.towlr.com/processing">Towlr</a>. It&#8217;s a puzzle. It comes to you <span class="gamelink">without instruction and without explanation. D</span><span class="gamelink">iscover their secret for a delicious reward. It is possible. You may</span><span class="gamelink"> become frustrated. You may even have a minor hissy fit. This is quite normal.</span></p>
<p><span class="gamelink"><a href="http://www.towlr.com/processing"><img class="aligncenter size-medium wp-image-70" title="The Processling of Towlr" src="http://omgwtfgames.com/wp-content/uploads/2008/12/processing-300x166.png" alt="The Processling of Towlr" width="300" height="166" /></a><br />
</span></p>
<p><em>(Thanks to Mike Kasprzak of <a href="http://www.sykhronics.com/">Sykhronics Entertainment</a> for hosting this monstrosity. Respect to the other Fathers and Mothers of Towlr&#8217;s)</em></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2008/12/the-processling-of-towlr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LD48 #13 : pansapiens timelapse video</title>
		<link>http://omgwtfgames.com/2008/12/ld48-13-timelapse/</link>
		<comments>http://omgwtfgames.com/2008/12/ld48-13-timelapse/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 02:31:22 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ludum dare]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[timelapse]]></category>

		<guid isPermaLink="false">http://omgwtfgames.com/?p=64</guid>
		<description><![CDATA[Here&#8217;s the timelapse from my recent Ludum Dare 48 hour game development compo session.
[youtube b56mNpfsMeY]
LD48 #13 : pansapiens timelapse
One screenshot every 5 mins, taken with the script (screenshot.sh):

#!/bin/sh
OUTDIR=/home/perry/timelapse
DISPLAY=:0.0
import -window root -display $DISPLAY $OUTDIR/$(date +%F_%R.%S).png >/dev/null 2>/dev/null

using the cronjob:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/perry/timelapse/screenshot.sh

And converted to a video by running the script (timelapse_convert.sh):

#!/bin/sh
# convert pngs to [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the timelapse from my recent <a href="http://www.ludumdare.com">Ludum Dare</a> 48 hour game development compo session.</p>
<p>[youtube b56mNpfsMeY]</p>
<p><a href="http://youtube.com/watch?v=b56mNpfsMeY">LD48 #13 : pansapiens timelapse</a></p>
<p>One screenshot every 5 mins, taken with the script (<em>screenshot.sh</em>):<br />
<code><br />
#!/bin/sh<br />
OUTDIR=/home/perry/timelapse<br />
DISPLAY=:0.0<br />
import -window root -display $DISPLAY $OUTDIR/$(date +%F_%R.%S).png >/dev/null 2>/dev/null<br />
</code></p>
<p>using the cronjob:<br />
<code><br />
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/perry/timelapse/screenshot.sh<br />
</code></p>
<p>And converted to a video by running the script (<em>timelapse_convert.sh</em>):<br />
<code><br />
#!/bin/sh<br />
# convert pngs to jpgs and scale down the size<br />
mogrify -format jpg -scale 840x526 *.png<br />
# convert jpgs to video<br />
# will fail if there are any frames of different sizes (geometry)<br />
# also, need to remove "blank" frames if the screensaver went off<br />
mencoder "mf://*.jpg" -mf fps=4 -o timelapse.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800<br />
</code></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2008/12/ld48-13-timelapse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ludum Dare #13 : &#8220;Roads&#8221; entry : Badass Frog</title>
		<link>http://omgwtfgames.com/2008/12/ludum-dare-13-roads-entry-badass-frog/</link>
		<comments>http://omgwtfgames.com/2008/12/ludum-dare-13-roads-entry-badass-frog/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 00:50:04 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[What I'm Playing]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[ludum dare]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[rabbyt]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[browser based]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mine]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://omgwtfgames.com/?p=61</guid>
		<description><![CDATA[So, here&#8217;s my LD48 #13 entry. It&#8217;s a very simple little Frogger clone, &#8220;ported&#8221; to a bunch of platforms by the power of Java + Processing + Mobile Processing.
Bad Ass Frog Escapes from LA

The Hollywood-script-worthy Backstory
The year it 2010. You are the last Frog in LA. Your name is Kurt Russell, but you are no [...]


Related posts:<ol><li><a href='http://omgwtfgames.com/2009/04/belated-ludum-dare-14-entry/' rel='bookmark' title='Permanent Link: Belated Ludum Dare #14 &#8220;entry&#8221;'>Belated Ludum Dare #14 &#8220;entry&#8221;</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>So, here&#8217;s my LD48 #13 entry. It&#8217;s a very simple little Frogger clone, &#8220;ported&#8221; to a bunch of platforms by the power of Java + <a href="http://www.processing.org">Processing</a> + <a href="http://mobile.processing.org">Mobile Processing</a>.</p>
<h2><em>Bad Ass Frog Escapes from LA</em></h2>
<p><br/></p>
<h3>The Hollywood-script-worthy Backstory</h3>
<p>The year it 2010. You are the last Frog in LA. Your name is Kurt Russell, but you are no relation to the actor, and you&#8217;ve never met him.</p>
<h3>Controls</h3>
<p>Arrow keys to move.<br />
Space to restart after the game ends.</p>
<h3>The Game</h3>
<p><object classid="java:bad_frogger_clone_mobile.class" type="application/x-java-applet" archive="/wp-content/uploads/games/badassfrog/applet/bad_frogger_clone_mobile.jar,/wp-content/uploads/games/badassfrog/applet/minim.jar,/wp-content/uploads/games/badassfrog/applet/tritonus_share.jar,/wp-content/uploads/games/badassfrog/applet/jl1.0.jar,/wp-content/uploads/games/badassfrog/applet/jsminim.jar,/wp-content/uploads/games/badassfrog/applet/mp3spi1.9.4.jar,/wp-content/uploads/games/badassfrog/applet/tritonus_aos.jar,/wp-content/uploads/games/badassfrog/applet/minim-spi.jar,/wp-content/uploads/games/badassfrog/applet/core.jar" width="240" height="291" standby="Loading Processing software..." ><param name="archive" value="/wp-content/uploads/games/badassfrog/applet/bad_frogger_clone_mobile.jar,/wp-content/uploads/games/badassfrog/applet/minim.jar,/wp-content/uploads/games/badassfrog/applet/tritonus_share.jar,/wp-content/uploads/games/badassfrog/applet/jl1.0.jar,/wp-content/uploads/games/badassfrog/applet/jsminim.jar,/wp-content/uploads/games/badassfrog/applet/mp3spi1.9.4.jar,/wp-content/uploads/games/badassfrog/applet/tritonus_aos.jar,/wp-content/uploads/games/badassfrog/applet/minim-spi.jar,/wp-content/uploads/games/badassfrog/applet/core.jar"/><param name="mayscript" value="true" /><param name="scriptable" value="true" /><param name="image" value="loading.gif" /><param name="boxmessage" value="Loading Processing software..." /><param name="boxbgcolor" value="#FFFFFF" /><param name="test_string" value="outer" /><p>
<a href='http://omgwtfgames.com/wp-content/uploads/2008/12/final.png'><img src="http://omgwtfgames.com/wp-content/uploads/2008/12/final.png" alt="" title="Badass Frog Escapes from LA screenshot" width="240" height="291" class="alignright size-full wp-image-63" /></a><br />
						<strong><br />
							This browser does not have a Java Plug-in (or you are using a stupid browser. <a href="http://getfirefox.com>Try this one instead</a>.<br />
							<br />
							<a href="http://java.sun.com/products/plugin/downloads/index.html" title="Download Java Plug-in"><br />
								Get the latest Java Plug-in here.<br />
							</a><br />
						</strong>
					</p>
<p>				</object><br />
<em>(if it looks broken, you are probably using Internet Explorer. <a href="/wp-content/uploads/games/badassfrog/applet/index.html">Try the applet here</a>)</em></p>
<h3>Downloads</h3>
<p>Download standalone version of <em>Badass Frog Escapes from LA</em> for:</p>
<ul>
<li><a href="/wp-content/uploads/games/badassfrog/badass_frog.win32.zip">Windows</a></li>
<li><a href="/wp-content/uploads/games/badassfrog/badass_frog.linux.tar.bz2">Linux</a></li>
<li><a href="/wp-content/uploads/games/badassfrog/badass_frog.macosx.zip">Mac OSX</a></li>
<li><a href="/wp-content/uploads/games/badassfrog/mobile/bad_frogger_clone_mobile.jar">Mobile Phone version (MIDP 2.0, largish screen phones, 240&#215;291)</a> &#8230; short link: <a href="http://is.gd/aDRQ">http://is.gd/aDRQ</a></li>
<li><a href="/wp-content/uploads/games/badassfrog/badass_frog.source.zip">Source code of the Applet version</a>, ready to be loaded into Processing</li>
<li><a href="/wp-content/uploads/games/badassfrog/mobile/badass_frog_mobile.source.zip">Source code of the mobile phone version</a>, ready to be loaded into Mobile Processing</li>
</ul>


<p>Related posts:<ol><li><a href='http://omgwtfgames.com/2009/04/belated-ludum-dare-14-entry/' rel='bookmark' title='Permanent Link: Belated Ludum Dare #14 &#8220;entry&#8221;'>Belated Ludum Dare #14 &#8220;entry&#8221;</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2008/12/ludum-dare-13-roads-entry-badass-frog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simplemenu : alpha0 release</title>
		<link>http://omgwtfgames.com/2008/11/simplemenu-alpha0-release/</link>
		<comments>http://omgwtfgames.com/2008/11/simplemenu-alpha0-release/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 12:37:55 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ludum dare]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rabbyt]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[simplemenu]]></category>

		<guid isPermaLink="false">http://omgwtfgames.com/?p=47</guid>
		<description><![CDATA[Here&#8217;s a quick initial release of a tiny &#8216;framework&#8217; I&#8217;m making, since I might use it in the Mini-LD#5 this weekend. I probably won&#8217;t even participate this time, but just in case, I present to you &#8230;
simplemenu-alpha0.tar.bz2
Requires pygame and rabbyt. It&#8217;s under the MIT license. I&#8217;m regarding this as alpha, since it&#8217;s incomplete and poorly [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick initial release of a tiny &#8216;framework&#8217; I&#8217;m making, since I might use it in the <a href="http://www.ludumdare.com/compo/2008/10/23/mini-ld-5-coming-soon/">Mini-LD#5</a> this weekend. I probably won&#8217;t even participate this time, but just in case, I present to you &#8230;</p>
<p><a href="/wp-content/uploads/2008/11/simplemenu-alpha0.tar.bz2">simplemenu-alpha0.tar.bz2</a></p>
<p>Requires <a href="http://www.pygame.org">pygame</a> and <a href="http://matthewmarshall.org/projects/rabbyt/">rabbyt</a>. It&#8217;s under the MIT license. I&#8217;m regarding this as alpha, since it&#8217;s incomplete and poorly tested, (although I am using successfully it in a small game already).</p>
<p><em>simplemenu</em>, as it&#8217;s unimaginative name suggests, is a simple set of classes to automatically lay out a vertical column of &#8216;buttons&#8217; on the screen, with click and rollover effects. Like the about simplest sort of GUI you could imagine. I made it because I felt like I needed a quick and brainless way to make simple &#8220;Start&#8221;, &#8220;Options&#8221;, &#8220;Quit&#8221; menus at the title screen of games, and during a Ludum Dare 48 hour competition, you don&#8217;t want to have to mess around with the details of things like this.</p>
<p>There is nothing I&#8217;d call game logic in the classes. There is demo code under &#8220;<em>if __name__ == &#8216;__main__&#8217;:</em>&#8221; &#8230; again this is what I would call &#8216;functional documentation&#8217;, not useful game logic. It&#8217;s all still quite ugly.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2008/11/simplemenu-alpha0-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TextWidget for PyGame</title>
		<link>http://omgwtfgames.com/2008/09/textwidget-for-pygame/</link>
		<comments>http://omgwtfgames.com/2008/09/textwidget-for-pygame/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 04:06:03 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[note to self]]></category>

		<guid isPermaLink="false">http://omgwtfgames.com/?p=42</guid>
		<description><![CDATA[Note to self: Check out TextWidget before I finish my (unreleased) SimpleMenu moduleÂ  &#8230; I may be able to use TextWidget within the SimpleMenu framework &#8230;. or the work may have even been done for me since they look similar in spirit.


No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Note to self: Check out <a href="http://www.learningpython.com/2006/12/13/textwidget-a-simple-text-class-for-pygame/">TextWidget</a> before I finish my (unreleased) SimpleMenu moduleÂ  &#8230; I may be able to use TextWidget within the SimpleMenu framework &#8230;. or the work may have even been done for me since they look similar in spirit.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2008/09/textwidget-for-pygame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ludum Dare #12 entry: The Siege of von Danken Tower</title>
		<link>http://omgwtfgames.com/2008/08/ludum-dare-12-entry-the-siege-of-von-danken-tower/</link>
		<comments>http://omgwtfgames.com/2008/08/ludum-dare-12-entry-the-siege-of-von-danken-tower/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 15:20:09 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[ludum dare]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[2600]]></category>
		<category><![CDATA[atari]]></category>
		<category><![CDATA[browser based]]></category>
		<category><![CDATA[mine]]></category>
		<category><![CDATA[roms]]></category>

		<guid isPermaLink="false">http://gamedev.pansapiens.com/?p=36</guid>
		<description><![CDATA[This is my (pansapiens) entry for Ludum Dare #12.

I had various dramas throughout the 48 hour competition, namely two electricity outages &#8230; this is not the code I spent most of my time on, but I&#8217;m actually happy it all worked out the way it did.
The game is written using batari Basic v1.0. I learnt [...]


Related posts:<ol><li><a href='http://omgwtfgames.com/2009/04/belated-ludum-dare-14-entry/' rel='bookmark' title='Permanent Link: Belated Ludum Dare #14 &#8220;entry&#8221;'>Belated Ludum Dare #14 &#8220;entry&#8221;</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This is my (pansapiens) entry for <a href="http://www.ludumdare.com/compo/category/ld12/">Ludum Dare #12</a>.</p>
<p><a href="http://gamedev.pansapiens.com/wp-content/uploads/2008/08/tower_screenshot.png"><img class="aligncenter size-medium wp-image-37" title="Tower" src="http://gamedev.pansapiens.com/wp-content/uploads/2008/08/tower_screenshot-300x196.png" alt="" width="300" height="196" /></a></p>
<p>I had various dramas throughout the 48 hour competition, namely two electricity outages &#8230; this is not the code I spent most of my time on, but I&#8217;m actually happy it all worked out the way it did.</p>
<p>The game is written using <a href="http://bataribasic.com/">batari Basic</a> v1.0. I learnt a lot by reading the included sample code, and the excellent <a href="http://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html">batari Basic manual.</a> I also used the online <a href="http://alienbill.com/2600/playerpalnext.html">PlayerPal 2600 Sprite Editor</a> to draw the sprites.</p>
<p><strong>Ways to play:</strong></p>
<ul>
<li><strong>All platforms:</strong> Play the game on this page (below the fold) in the embedded <a href="http://jstella.sourceforge.net/">JStella</a> applet</li>
<li><strong>Window, Linux, Mac:</strong> <a href="http://gamedev.pansapiens.com/wp-content/uploads/games/tower.bin">download the ROM</a> and run it in <a href="http://stella.sourceforge.net/">Stella</a> (<strong>$ </strong><em>sudo apt-get install stella</em> on Debian/Ubuntu).</li>
<li><strong>Windows, (maybe Linux):</strong> <a href="http://gamedev.pansapiens.com/wp-content/uploads/games/vonDanken_Tower__by__pansapiens.zip">Download this zip archive</a> which contains the windows version of Stella and <em>The Siege of von Danken Tower</em> ROM, which is compatible with <a href="http://keeyai.com/2008/07/16/compo-game-loader/">Keeyai&#8217;s Compo Game Loader</a></li>
<li><strong>Atari 2600 VCS:</strong> For the definitive <em>von Danken Tower</em> experience, you should burn it onto an EEPROM and play it on your Atari 2600 VCS (YMMV. <a href="http://www.atariage.com/">AtariAge</a> may help).</li>
</ul>
<p>You can also look at the <a href="http://gamedev.pansapiens.com/wp-content/uploads/games/tower.bas">ugly source code</a>.</p>
<p><span id="more-36"></span></p>
<h2>The Siege of von Danken Tower</h2>
<p><applet archive="http://gamedev.pansapiens.com/wp-content/uploads/games/jstella_0_82.jar" code="jstella.runner.JStellaApplet.class" height="480" width="480"><br />
<PARAM NAME=ROM  VALUE="http://gamedev.pansapiens.com/wp-content/uploads/games/tower.bin"></p>
<p><a href="http://gamedev.pansapiens.com/wp-content/uploads/2008/08/tower_screenshot.png"><img class="aligncenter size-medium wp-image-37" title="Tower" src="http://gamedev.pansapiens.com/wp-content/uploads/2008/08/tower_screenshot-300x196.png" alt="" width="300" height="196" /></a></p>
<p>Sorry, your browser doesn&#8217;t seem to support applets.<br />
Maybe just run <a href="tower.bin">the rom</a> using <a href="http://stella.sourceforge.net/">Stella</a> instead ?</p>
<p></applet><br />
<em>(this applet seems a little flaky on some platforms. Works for me on Windows Vista in IE7. Works without Reset button in Firefox 2).</em></p>
<p><strong>Controls:</strong> Left and right arrows, space to fire.</p>
<h3>Gameplay</h3>
<p>Move your character between the pile of stone blocks on the right and the foundations of the von Danken Tower on the left to build the tower. If you are holding a block, you can throw it at the chariot of the Gods. Watch out for the bolts of light the Gods may throw down at you !</p>
<p>Once you have built the tower, you must destroy the chariot. It will become redder with every hit, before being destroyed. Once you destroy the chariot with a completed tower, you will advance to the next level.</p>
<p>You can sustain only three hits by a bolt of light before dying. Your health state is indicated by your colour.</p>
<hr />
<p>In the tradition started by <a href="http://en.wikipedia.org/wiki/Yar%27s_Revenge">Yar&#8217;s Revenge</a> &#8230; here is the cheezy back-story.</p>
<h3>The Story</h3>
<p>There are two stories surrounding the famous &#8220;Siege of von Danken Tower&#8221;. One an allegory for the other.</p>
<p>In ancient times, a warrior named Eric was tasked by the Gods to build a great tower. They hovered above him, and quoth &#8220;Build us a mighty Tower, in the name of von Danken&#8221;. Eric, unafraid, set about the task of hualing huge stone blocks across the plain to the site where the great Tower of von Danken was to be built. Eric, worked for days, but eventually, he stopped to rest. But the Gods were impatient andmalevolent Gods, and despite the Tower being their request, they made sport of Erics&#8217; toil. They threw bolts of light at him, and ordered him to continue building. Eric, a proud warrior, would not stand for this kind of treatment, even from the Gods. He picked up the block beside him an threw it at their flying chariot. The war had begun.</p>
<p>Millenia later, in modern times, a programmer recieved a message from the aether. I simply stated, &#8220;Build a video game featuring &#8216;The Tower&#8217;. Quickly&#8221;. He did not know who was telling him to build &#8220;The Tower&#8221;, but a story from his childhood, buried deep, arose in his mind. He decided to tell the story of the von Danken Tower, a secret family tale passed down from his great-great-great-great-great-great-great-great-great-great grandfather, and until now never widely shared. But mysterious, inter-dimensional beings were not pleased at having their role in the development of human civilisation revealed. Electrical distrubances, power failures and other strange occurances plagued the project. Would the story of the great von Danken Tower ever be told ? Would the the Tower ever be completed, or would the aliens forces reign surpreme in their information war on the human race ? It is up to you to ensure they do not !</p>


<p>Related posts:<ol><li><a href='http://omgwtfgames.com/2009/04/belated-ludum-dare-14-entry/' rel='bookmark' title='Permanent Link: Belated Ludum Dare #14 &#8220;entry&#8221;'>Belated Ludum Dare #14 &#8220;entry&#8221;</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2008/08/ludum-dare-12-entry-the-siege-of-von-danken-tower/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mondrian: Final Ludum Dare 11 entry</title>
		<link>http://omgwtfgames.com/2008/04/mondrian-final-ludum-dare-11-entry/</link>
		<comments>http://omgwtfgames.com/2008/04/mondrian-final-ludum-dare-11-entry/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 14:09:11 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ludum dare]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rabbyt]]></category>
		<category><![CDATA[releases]]></category>

		<guid isPermaLink="false">http://gamedev.pansapiens.com/?p=19</guid>
		<description><![CDATA[I&#8217;ve just submitted my final game entry for for Ludum Dare 11.
You can download it here [Mondrian_by_pansapiens_LD11.zip] (Windows and Linux compatible).

More details later. Right now, I have to sleeeeeeeep.
 Update: Here&#8217;s the text of the README from the zip. You may need to use the level editor and replace level7.pickle and level8.pickle with some easier [...]


Related posts:<ol><li><a href='http://omgwtfgames.com/2009/04/belated-ludum-dare-14-entry/' rel='bookmark' title='Permanent Link: Belated Ludum Dare #14 &#8220;entry&#8221;'>Belated Ludum Dare #14 &#8220;entry&#8221;</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just submitted my final game entry for for <a href="http://www.imitationpickles.org/ludum/">Ludum Dare</a> 11.</p>
<p>You can download it here [<a href="http://gamedev.pansapiens.com/wp-content/uploads/games/Mondrian_by_pansapiens_LD11.zip">Mondrian_by_pansapiens_LD11.zip</a>] (Windows and Linux compatible).</p>
<p><a href="http://gamedev.pansapiens.com/wp-content/uploads/2008/04/mondrian_final_screenshot.png"><img class="alignright size-medium wp-image-20" src="http://gamedev.pansapiens.com/wp-content/uploads/2008/04/mondrian_final_screenshot-300x224.png" alt="" width="300" height="224" /></a></p>
<p>More details later. Right now, I have to sleeeeeeeep.</p>
<hr /><strong> Update:</strong> <em>Here&#8217;s the text of the README from the zip. You may need to use the level editor and replace level7.pickle and level8.pickle with some easier levels.</em></p>
<p><span id="more-19"></span></p>
<p><strong>= Mondrian =</strong><br />
A game based on the visual art of Piet Mondrian.<br />
Copyright Andrew Perry (pansapiens), 2008.<br />
Licensed under the GPL version 3 (http://www.gnu.org/licenses/gpl.html).</p>
<p>Created for Ludum Dare 11 &#8211; Minimalism (18 &#8211; 20th April, 2008).</p>
<p><strong>= Installation =</strong><br />
Unzip the package, run mondrian.exe (Windows) or mondrian.py (Linux &amp; other platforms).</p>
<p><strong>Usage:</strong> mondrian.py [options]</p>
<p>Options:<br />
-h, &#8211;help    show this help message and exit<br />
-r, &#8211;random  Play a randomly generated level<br />
-e, &#8211;editor  Launch in level editing mode</p>
<p>Dependancies (only required on Linux, or when running from source):<br />
Python (2.5), Pygame (1.8), Rabbyt (0.8.1), PyOpenGL.</p>
<p><strong>= Gameplay =</strong></p>
<p>Goal: Clear the play area (aka Mondrian painting) to achieve pure white minimalism.<br />
Click on the black beams with the mouse pointer to make then vanish.<br />
Coloured squares expand when not in contact with a beam.<br />
Squares of the same colour vanish when they contact.<br />
Square of opposite colour do not vanish when they come in contact.</p>
<p><strong>= Controls (game mode) =</strong></p>
<p><strong>Click</strong> with the <strong>mouse pointer</strong>.<br />
Press &#8216;<strong>r</strong>&#8216; to restart the current level.</p>
<p><strong>= Controls (level editor) =</strong><br />
Objects are inserted at the current position of the mouse pointer. Otherwise, gameplay is the same.</p>
<p><strong>Up/down</strong> key     &#8211; insert vertical beam<br />
<strong>Left/right</strong> key  &#8211; insert horizontal beam<br />
<strong>z</strong> &#8211; insert red square<br />
<strong>x</strong> &#8211; insert yellow square<br />
<strong>c</strong> &#8211; insert blue square<br />
<strong>v</strong> &#8211; insert grey square<br />
<strong>s</strong> &#8211; save level to file &#8220;saved.pickle&#8221; in the working directory<br />
<strong>l</strong> &#8211; load level from file &#8220;saved.pickle&#8221;<br />
<strong>backspace, del</strong> &#8211; clear all objects from the level</p>
<p><strong>= Some legalese =</strong></p>
<p>This program is free software: you can redistribute it and/or modify</p>
<p>it under the terms of the GNU General Public License as published by</p>
<p>the Free Software Foundation, either version 3 of the License, or<br />
(at your option) any later version.</p>
<p>This program is distributed in the hope that it will be useful,<br />
but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</p>
<p>GNU General Public License for more details.</p>
<p>You should have received a copy of the GNU General Public License<br />
along with this program.  If not, see .</p>


<p>Related posts:<ol><li><a href='http://omgwtfgames.com/2009/04/belated-ludum-dare-14-entry/' rel='bookmark' title='Permanent Link: Belated Ludum Dare #14 &#8220;entry&#8221;'>Belated Ludum Dare #14 &#8220;entry&#8221;</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2008/04/mondrian-final-ludum-dare-11-entry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Packaging a Python game for distribution on Windows &#8212; py2exe and cx_Freeze</title>
		<link>http://omgwtfgames.com/2008/04/packaging-a-python-game-for-distribution-on-windows/</link>
		<comments>http://omgwtfgames.com/2008/04/packaging-a-python-game-for-distribution-on-windows/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 23:12:06 +0000</pubDate>
		<dc:creator>perry</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ludum dare]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[cx_Freeze]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[py2exe]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[rabbyt]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://gamedev.pansapiens.com/?p=17</guid>
		<description><![CDATA[I do my game development on Ubuntu Linux. In case you hadn&#8217;t noticed, unlike pretty much every Linux distro, Windows does not come with Python installed by default. For distributing games written in Python on Windows, it&#8217;s nice to create a compiled executable version (using py2exe or cx_Freeze, for example) that can unzipped or installed [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I do my game development on Ubuntu Linux. In case you hadn&#8217;t noticed, unlike pretty much every Linux distro, Windows does not come with Python installed by default. For distributing games written in Python on Windows, it&#8217;s nice to create a compiled executable version (using <a href="http://www.py2exe.org/">py2exe</a> or <a href="http://python.net/crew/atuining/cx_Freeze/">cx_Freeze</a>, for example) that can unzipped or installed with two or three clicks, without requiring a separate Python installation. Gamers will typically give up if they have to go on a wild goose chase to install Python, Pygame and maybe something else just to get your lame game to run. (Hey, that gives me an idea for a great game &#8211; &#8220;Software Dependency Wild-goose Chase&#8221;. Actually, it would probably be un-fun. Scrap that idea.)</p>
<p><span id="more-17"></span></p>
<p>Obviously, the first thing to do is install Python and all the required dependencies (eg Pygame, etc) on a Windows box (or Virtual Machine) and make sure your game will actually run. If it won&#8217;t run, you may need to tweak your Python to be more cross-platform. For simple games this mostly boils down to making sure all the <em>sys</em> and <em>os</em> module calls that use file paths use <a href="http://docs.python.org/lib/module-os.path.html"><em>os.path</em></a> to manipulate the path strings, rather than string concatenation. Paths in Linux use a forward slash &#8220;/&#8221;, paths in Windows use a backslash &#8220;\&#8221;, and some other platform may do something else; <em>os.path</em> deals with all this for you. I went through this process with<em> </em><a href="/games/shoodar"><em>shoodar</em></a> (v0.11) and got it running under Windows with all the dependencies installed (eg Pygame, PyOpenGL, Rabbyt 0.81).<a href="http://gamedev.pansapiens.com/games/"> </a></p>
<p>Now comes the &#8216;fun&#8217; part &#8211; building the executable (and collecting associated dll&#8217;s and data files) for your game. There are a few tools for doing this on Windows:</p>
<h3><strong>Freeze</strong></h3>
<p>Comes with Python, but I didn&#8217;t test it.</p>
<h3><strong>cx_Freeze</strong></h3>
<p><strong><a href="http://www.cxtools.net/default.aspx?nav=cxfrlb">cx_Freeze</a></strong> &#8212; I got this working to create a Windows distribution of <a href="http://gamedev.pansapiens.com/games/"><em>shoodar</em> </a>after a bit of playing around. One advantage is that it doesn&#8217;t require a dedicated distutils script like py2exe. A downside is that it seems to generate lots of files in addition to the executable, and doesn&#8217;t automatically know to copy over data directories containing sprites &amp; sounds, etc. You need to remember to do that part manually.</p>
<p>I downloaded the Windows installer for cx_Freeze (<a href="http://downloads.sourceforge.net/cx-freeze/cx_Freeze-4.0b1.win32-py2.5.exe?modtime=1190663858&amp;big_mirror=0">cx_Freeze-4.0b1.win32-py2.5.exe</a>) and installed it. I unzipped the shoodar source into a folder called <em>shoodar</em>. In the shoodar source directory, I created a folder called <em>dist</em>. Then, at the Windows command prompt, in the <em>shoodar </em>folder, I typed:</p>
<pre>c:\Python25\Scripts\freeze --install-dir dist shoodar.py</pre>
<p>I then copied the <em>shoodar\data</em> folder into the <em>dist </em>folder.</p>
<p>The brand spanking new shoodar.exe executable was in the <em>dist</em> folder. It ran, and appears to function correctly.</p>
<h3>py2exe, with PyMikes PySetup.py</h3>
<p><strong><a href="http://www.py2exe.org/">py2exe</a></strong> &#8212; seems to be the most popular choice among Pygamers. There are a few wrapper scripts floating around at pygame.org.</p>
<p>The <a href="http://www.py2exe.org/index.cgi/Tutorial">py2exe tutorial</a> gives a nice example of how it&#8217;s done using a simple distutils setup.py script. I used py2exe with PyMike&#8217;s <a href="http://www.pygame.org/project/589/">PySetup.py</a> script. The PySetup.py script is a distutils setup.py script on steroids, tailored for packaging up Pygame games. It also worked for packaging <em>shoodar</em>, which also uses Rabbyt 0.81 (and hence PyOpenGL) without any special tricks.</p>
<p>I edited the obvious stuff at the top of the PySetup.py script in the shoodar directory (This included adding <em>data</em>, the directory which contains shoodars sprite files, to the <em>extra_data</em> list. I set <em>dest_folder</em> to the empty directory <em>dist</em>. I also added <em>pygame.locals</em> to the <em>extra_modules</em> list, but I probably didn&#8217;t need to. I left <em>icon_file</em> empty, since I don&#8217;t have an icon yet).</p>
<p>In the shoodar folder at the command prompt, running:</p>
<pre>c:\Python25\python.exe PySetup.py</pre>
<p>did the trick. Py2exe doesn&#8217;t generate nearly as many files as cx_Freeze &#8230; not that it&#8217;s really a big deal, but it looks less overwhelming in the file manager.</p>
<p>I had one problem with some (apparently) Linux specific code .. the use of <em>os.path.dirname(__file__)</em> which I changed to <em>os.getcwd()</em>. It&#8217;s worth noting that even after fixing this bug, py2exe builds failed until I removed the <em>build</em> (generated by py2exe) and <em>dist</em> directories and started with a clean slate. So, I&#8217;d suggest removing the build directory and the dest_folder between py2exe build attempts.</p>
<p><strong>Next episode:</strong> Wrapping up the distribution in an executable Windows installer package (or <em>How to make an evil &#8220;next&#8221;-&gt;&#8221;next&#8221;-&gt;&#8221;next&#8221;-&gt;&#8221;Finish&#8221; Windows installer for a Python game</em>).</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://omgwtfgames.com/2008/04/packaging-a-python-game-for-distribution-on-windows/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
