<?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>Sean Monahan &#187; Projects</title>
	<atom:link href="http://seanmonahan.org/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://seanmonahan.org</link>
	<description></description>
	<lastBuildDate>Mon, 09 Aug 2010 01:42:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Creating Beat Boost</title>
		<link>http://seanmonahan.org/2010/08/08/creating-beat-boost/</link>
		<comments>http://seanmonahan.org/2010/08/08/creating-beat-boost/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 01:42:58 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Beat Boost]]></category>
		<category><![CDATA[Game Design]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=611</guid>
		<description><![CDATA[As an aspiring game designer and developer I find myself reading tons of interviews with other developers, articles by devs and game postmortems. All of these things give wonderful insight into the process of making games and how games evolve over their development cycles. Having recently completed my first game that I&#8217;ve put out into [...]]]></description>
			<content:encoded><![CDATA[<p>As an aspiring game designer and developer I find myself reading tons of interviews with other developers, articles by devs and game postmortems.  All of these things give wonderful insight into the process of making games and how games evolve over their development cycles.  Having recently completed my <a href="/beatboost" title="Beat Boost">first game that I&#8217;ve put out into the world</a> I thought I&#8217;d also contribute an article detailing my initial plans and the process that got me to the finished product.  Read on for the full details.<br />
<span id="more-611"></span></p>
<h3>The Idea</h3>
<p>Beat Boost was conceived for Boing Boing&#8217;s <a href="http://www.boingboing.net/2010/06/14/games-inspired-by-mu.html">&#8220;Games Inspired by Music&#8221; contest</a>.  The contest was a call for games designed around chiptunes &#8212; a style of music inspired by the midi tunes of the games of yesteryear.  I chose to take this rather literally and immediately began to look into using music tracks to generate the game world.</p>
<p>When I started work on Beat Boost I planned for the game to be a 2D platformer/racing game, not unlike <a href="http://en.wikipedia.org/wiki/Uniracers" title="Uniracers">Uniracers</a> on the SNES.  The player would run through the level and have the ability to perform various tricks and stunts and chain these together.  The ultimate goal was to achieve the highest score possible through a clever combination of stunts.  There was also going to be a two player, split-screen race mode where two players would sit at a single computer a race for glory (and highscores).</p>
<p>The levels in the game are directly generated from that level&#8217;s music.  Doing this was a multistep process that produced a MIDI file that would be used to generate the level.  The tool I used to transcribe each track into midi only took WAVs as input so each mp3 was first transcoded to WAV and then transcibed to MIDI.  The resulting MIDI file could be charted to look something like this:</p>

<a href="http://seanmonahan.org/wp-content/gallery/beat-boost-postmortem/midi.png" title="A visualization of music." class="thickbox" rel="singlepic92" >
	<img class="ngg-singlepic" src="http://seanmonahan.org/wp-content/gallery/cache/92__550x_midi.png" alt="Midi Chart" title="Midi Chart" />
</a>

<h3>The Process</h3>
<p>It&#8217;s pretty easy to envision a platformer game when looking at the MIDI note chart.  From here each MIDI was loaded into the game and parsed into a level, where I quickly ran into two problems with the platformer aspect of the game.  The first was that none of the music tracks I was using were explicitly composed for a game so they don&#8217;t loop well.  Since each level was generated from the music track for that level the player would have to keep pace with the beat to complete the level before the track ended and in order to do this you have to move incredibly fast.  So fast, that it was impossible to react to changes in the level at all.</p>
<p>The second problem was that the tracks I was generating the levels from where, again, not designed to be used in a game so there would be clusters of notes that would break the flow, gaps in the notes and just generally crappy levels.  A lot of these issues could have been smoothed out but this takes us to another issue I had: time.</p>
<p>Though the contest lasted about a month I didn&#8217;t start work on Beat Boost until there was about a week left.  This short deadline forced me to cut a lot of features and constantly rework things so I could submit my game on schedule.  Being a part-time, hobbyist game developer, this strict deadline was nice in that in forced me to push forward and work through problems rather than leave them for another day.  The downside is that I needed to cut features like multiplayer that could have upped the fun factor of Beat Boost quite a bit.</p>
<p>The cutting began with the core of my original idea.  The racing and platforming aspects of the game just were not coming together and the entire experience of playing the game could be summed up as &#8220;frustration&#8221; which is not a good then when you are going for &#8220;fun!&#8221;  So I started looking at what the game was currently doing well and that turned out to be rapidly colliding with lots of blocks while listening to cool chiptunes.  This is when I moved the game toward what it ultimately became: a sort of interactive particle generator (with highscores).</p>

<a href="http://seanmonahan.org/wp-content/gallery/beat-boost-postmortem/particles.jpg" title="Particles and scores in Beat Boost." class="thickbox" rel="singlepic95" >
	<img class="ngg-singlepic" src="http://seanmonahan.org/wp-content/gallery/cache/95__550x_particles.jpg" alt="Particles" title="Particles" />
</a>

<p>At this point Beat Boost was going to be a game where the player piloted a space ship of some sort through a field of blocks that replenished the ship&#8217;s fuel and increased the player&#8217;s score.  Moving the ship around the screen consumed fuel so there would be a strategy to when and where the player should move the ship to maximize their score.  Colliding with the bottom of the score would replenish fuel but deplete the player&#8217;s score; hitting the top of the screen would just reduce the score.  Anytime a block was hit it would shatter into a spray of smaller blocks that would trail the ship.  Each of these blocks also gives the player fuel and points when collided with, though less than the larger blocks.</p>
<p>I had also redesigned the multiplayer mode to be a shared-screen racing mode but the race was now to collect the most points before crossing the finish line.  This was the inspiration for having the large blocks shatter into smaller ones: there could be a strategy and &#8220;fight&#8221; between players to be out in front or to draft the leader.  The smaller blocks would yield fewer points, but if played right you could achieve a higher score by staying back.  The more desirable position would also change given the density of the blocks.  With a high density of blocks it would pay to be in front since the front runner could hit more of the big point blocks than the drafter.  In a lower density section it would pay to draft since there would be so many more small blocks than large.  This positioning strategy based on block density dealt nicely with the fact that the levels would often have clumps of blocks or areas lacking many blocks.  Unfortunately the multiplayer mode was axed entirely as I ran into the deadline.</p>
<p>Despite the fact that multiplayer was now out of the picture I had finally settled on the core mechanic of my game and the name &#8220;Beat Boost&#8221;.  The trick now was to really tweak the mechanic until it was as good as it could be.  One issue with using the blocks as fuel was that the player had to constantly boost, depleting their fuel.  I spent some time tweaking the values for how much fuel each block should give the player but always found that I&#8217;d give too little or two much.  This was a particular problem because I had ceded control of my level design to an algorithm by generating the level from MIDIs so I couldn&#8217;t (well I could, but it would have been time consuming at the least) tweak the design of the levels, which would have been another way to adjust fuel values.</p>
<p>In the end I decided that there needed to be a way the player could get a boost for free.  To receive a free boost the player must hit the top half of a block with the bottom of his avatar.  Doing this gives the player the tiniest, mini boost that can be sustained by hitting more blocks, with the end effect being similar to surfing a wave.  </p>
<h3>Aha!</h3>
<p>The wave idea really brought things together for me.  It was my AHA! moment.  It lead me to ditch the space ship as player avatar for a little surfer dude and kick started the game&#8217;s sound effects.  Up until this point I hadn&#8217;t put much thought into the sound effects for Beat Boost since the game was centered around music I didn&#8217;t want a cacophony of sound overwhelming the musical aspect of the game.  Embracing the surfing idea I created a nice, soft, soothing wave sound effect that plays anytime the player collides with a block.  The only other sound effect used in the game is the &#8220;trick success&#8221; sound, a sound that plays whenever the player pulls of a trick.</p>
<p>Part of my original design for Beat Boost was to have a trick system where tricks could be combined for an ever increasing number of points.  Due, again, to time constraints I didn&#8217;t have time to create the animations for a bunch of tricks so I settled on a single trick, the front flip.  The player is Beat Boost is controlled with the arrow keys, left and right move the player left and right; up boosts the player, using fuel; and down puts the player into a front flip, also using fuel.</p>
<p>While performing a front flip the player does not collide with blocks, thus fuel cannot be replenished.  The reward for a successful front flip is 2,000 points, indicated by the &#8220;trick success&#8221; sound and a quick flash and scale of the player.  If the player hit the ground up-side-down, mid flip he would be docked extra points in addition to the usual points that are deducted for riding the floor.  Flipping was the last aspect of Beat Boost&#8217;s gameplay mechanic.  It introduced a nice risk/reward feature to the gameplay: you could use up extra fuel (now referred to as &#8220;boost&#8221;) when riding through large clumps of blocks (now &#8220;beat blocks&#8221;) and score more points than you would otherwise, but you couldn&#8217;t acquire more boost while flipping and the penalty for mis-timing a flip negates any bonus.</p>
<h3>Keeping Score</h3>
<p>If you&#8217;ve been following along closely (you have right?) you&#8217;ll likely have noticed that I&#8217;ve mentioned high scores and keeping score a number of times in this post.  One of the original parts of Beat Boost&#8217;s design was a high scores system meaning I needed some way to store scores and display them back to players.  </p>
<p>Since Beat Boost is a browser-based web game it made a lot of sense to keep everything in one central location.  This was accomplished with a MySQL database, some PHP and AMF, all of which is a topic for another post the main point being that I had a central, remote location where all scores could be quickly posted and retrieved.  There is certainly no shortage of online leaderboards for this sort of thing but I wanted to avoid one thing in particular: yet another account for some web site you may or may not ever visit again.</p>
<p>Beat Boost is a one-off game for a contest and I didn&#8217;t want to diminish one of the game&#8217;s strengths by putting a sign-up barrier in front of users.  I was also running out of time and coding a sign up and login system is never appealing.  Fortunately the arcades of my youth offered a precedent here, I could simply take the user&#8217;s name and transmit that along with the score and level name to my server to be saved in a high scores database.  This method has the benefits of being technically simple and super fast and account free for players.</p>
<p>All that was required of players was that they complete a level, then enter their names old school style by using the keyboard&#8217;s arrow keys and cycling through the alphabet (both lowercase and capital letters along with numbers).  Once this was done hitting enter submits the score and takes the player to the next level.  The name the player entered is also saved so it only has to be entered once.</p>

<a href="http://seanmonahan.org/wp-content/gallery/beat-boost-postmortem/level_complete.jpg" title="Here we take the player's name and submit the score." class="thickbox" rel="singlepic94" >
	<img class="ngg-singlepic" src="http://seanmonahan.org/wp-content/gallery/cache/94__550x_level_complete.jpg" alt="Beat Boost's Level Complete Screen" title="Beat Boost's Level Complete Screen" />
</a>

<p>To see the scores for a level players could click &#8220;Scores&#8221; on the main menu, then choose the level they were interested in to see the top five scores for that level.</p>

<a href="http://seanmonahan.org/wp-content/gallery/beat-boost-postmortem/scores.jpg" title="The top five scores on Carotid Restraint." class="thickbox" rel="singlepic96" >
	<img class="ngg-singlepic" src="http://seanmonahan.org/wp-content/gallery/cache/96__550x_scores.jpg" alt="High Scores" title="High Scores" />
</a>

<p>I decided to only show the top five because that is what would fit on a single screen and I didn&#8217;t have time to write any scrolling functionality into the scores view.</p>
<h3>Finishing Touches</h3>
<p>With all the gameplay and scoring complete all that was needed was some finishing touches.  This included making a help view to explain the game concept and display the controls, a credits view to give props to everyone involved in the project, the HTML page in which the game SWF was embedded and the game&#8217;s user interface (UI).</p>
<p>The help page and credits are super straightforward.  Help has a two paragraph explanation of how to play Beat Boost with the control buttons listed below that.  Credits is a list of all the roles and the person who filled said role.  The credits list was particularly easy because it was just me and <a href="http://tettix.net" title="Tettix's website">Tettix</a>, the musician who wrote all the music used in Beat Boost.  The HTML page was simply a black background that had &#8220;Beat Boost&#8221; across the top, the game in the middle of the page and the controls listed on the bottom of the page.</p>
<p>This leaves me with the UI.  Since Beat Boost is meant to recall games of the 80s I felt a visually simple UI suited the game well.  That said I wanted the interface to be interesting and lead players along nicely.  What I ended up with is a simple list of all the actions a player can take from the main menu: Play, Scores, Help, and Credits.  Each item in the main menu changes to a different color when moused over (pink, yellow, green and blue, respectively).  When clicked on the item retains the rollover color, scoots across the screen to the upper left corner and fades in the appropriate content.  When clicked back, the current content hides itself and the main menu label animates back to it&#8217;s main menu position before the rest of the main menu fades in.</p>
<p>These last few touches are, for the most part, simple, simple stuff that really do a lot of improve the appearance of Beat Boost as a finished product.  The UI is fairly simple as well, but that is more a case of the aesthetic of Beat Boost being simple 8-bit type stuff and UIs for more ambitious games are certainly anything but simple.  Simpleness of the UI aside I feel like it does a great job of what it&#8217;s supposed to do: display stuff the player clicks on.</p>
<p>This post ended up being quite a bit longer than I had anticipated but I got everything out that I wanted to.  It was a lot of fun to crunch through the evenings after work over the course of a week to bring this game into being and I&#8217;m glad to be sharing my process now.  In an effort to not drag this post out any longer I&#8217;ve left out any postmortem stuff discussing my thoughts on the game once I started getting some responses about it from players &#8212; this will end up being another post so stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2010/08/08/creating-beat-boost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>w00t!</title>
		<link>http://seanmonahan.org/2010/07/16/w00t/</link>
		<comments>http://seanmonahan.org/2010/07/16/w00t/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 21:13:51 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Beat Boost]]></category>
		<category><![CDATA[Boing Boing Arcade]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=627</guid>
		<description><![CDATA[For a week now Boing Boing has had the polls open for voting in the Boing Boing Arcade. It was an excellent competition with quite a few cool games and I was stoked simply to be a part of it. I didn&#8217;t end up winning the grand prize, but did placed third &#8212; not too [...]]]></description>
			<content:encoded><![CDATA[<p>For a week now Boing Boing has had the polls open for voting in the <a href="http://boingboing.net/arcade" title="Boing Boing Arcade">Boing Boing Arcade</a>.  It was an excellent competition with quite a few cool games and I was stoked simply to be a part of it.  I didn&#8217;t end up winning the grand prize, but did <a href="http://www.boingboing.net/2010/07/16/boing-boing-game-dev.html" title="Boing Boing Arcade Results">placed third</a> &#8212; not too shabby for my first (hastily) completed game.</p>
<p>Thanks to everyone who voted, commented and/or emailed me.  It was really great to hear everyone&#8217;s thoughts about the game.  Thanks to Boing Boing for putting on this contest.  Finally, thanks to <a href="http://tettix.net" title="Tettix">Tettix</a> for donating his music to this competition.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2010/07/16/w00t/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boing Boing Arcade</title>
		<link>http://seanmonahan.org/2010/07/08/boing-boing-arcade/</link>
		<comments>http://seanmonahan.org/2010/07/08/boing-boing-arcade/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 14:35:43 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=604</guid>
		<description><![CDATA[Recently I submitted Beat Boost to a games contest on boingboing.net and just this morning I found out I was selected as one of the finalists! So stoked! Check out all the games and vote ( for me ) here. UPDATE: I ended up taking third place!]]></description>
			<content:encoded><![CDATA[<p>Recently I submitted <a href="/beatboost" title="Beat Boost">Beat Boost</a> to a games contest on boingboing.net and just this morning I found out I was selected as one of the finalists!  So stoked!  Check out all the games and vote ( for me <img src='http://seanmonahan.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) <a href="http://boingboing.net/arcade/" title="Boing Boing Arcade">here</a>.</p>
<p>UPDATE: I ended up taking <a href="http://www.boingboing.net/2010/07/16/boing-boing-game-dev.html">third place</a>!  </p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2010/07/08/boing-boing-arcade/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beat Boost: A Fun Music Inspired Game</title>
		<link>http://seanmonahan.org/2010/07/06/beat-boost-a-fun-music-inspired-game/</link>
		<comments>http://seanmonahan.org/2010/07/06/beat-boost-a-fun-music-inspired-game/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 05:02:55 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Beat Boost]]></category>
		<category><![CDATA[Browser Games]]></category>
		<category><![CDATA[Game Design]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=595</guid>
		<description><![CDATA[About a month ago Boing Boing had a call for &#8220;games inspired by music&#8221;. Contestants need only create a game inspired by chiptunes &#8212; a style of music that limits itself to the 8- and 16-bit bleeps and bloops of yore &#8212; and submit it for judgement. My submission is a game called Beat Boost [...]]]></description>
			<content:encoded><![CDATA[<p>About a month ago Boing Boing had <a href="http://www.boingboing.net/2010/06/14/games-inspired-by-mu.html" title="Boing Boing Music Game Contest">a call</a> for &#8220;games inspired by music&#8221;.  Contestants need only create a game inspired by chiptunes &#8212; a style of music that limits itself to the 8- and 16-bit bleeps and bloops of yore &#8212; and submit it for judgement.</p>
<p><span id="more-595"></span></p>
<p>My submission is a game called <a href="/beatboost/" title="Beat Boost">Beat Boost</a> that has a little surfer guy flowing through blocks of music that are generated from the game&#8217;s soundtrack.  In true old school fashion the game is solely about achieving the highest possible score.  To do this you boost the surfer into the colored blocks (called &#8220;beat blocks&#8221;) in each level or perform full, 360 degree front flips.  You can check it out on <a href="http://boingboing.net/arcade" title="Beat Boost on Boing Boing">Boing Boing</a> (don&#8217;t forget to vote)!</p>
<p>The catch is that boosting and flipping depletes your boost meter and when this runs out you fall to the floor where you hemorrhage points (1000 points for hitting the ground upside-down or otherwise mid flip; 1500 per second afterward), but replenish your boost meter.  Hitting boost blocks also refills the boost meter and hitting these blocks just right will give you a boost for free.</p>
<p>Successfully completing a level allows you to enter your name, classic arcade style, where it will be stored in a remote leaderboard.  This leaderboard shows only the top five scores and player names and requires no logins, accounts, etc. &#8212; it&#8217;s just like when you were a kid quickly tapping your initials into that Pac-Man arcade cabinet.</p>
<p>All that tracks in the game are by Tettix, you should definitely <a href="http://tettix.net/" title="Tettix">check him out</a> as he&#8217;s done a ton of great stuff not the least of which was to make his music available for this contest.  The full track list in Beat Boost is:</p>
<ul>
<li>Earth&#8217;s Assault on the Central AI &ndash; <a href="http://www.tettix.net/albums/tech.html">Technology Crisis</a></li>
<li>Infiltration at Dusk &ndash; <a href="http://www.tettix.net/albums/tech_II.html">Technology Crisis II</a></li>
<li>The Slave Rebellion at Genesis Point &ndash; <a href="http://www.tettix.net/albums/tech_II.html">Technology Crisis II</a></li>
<li>Carotid Restraint &ndash; <a href="http://www.tettix.net/albums/tkoep.html">T.K.O.E.P.</a></li>
<li>Scissor Kick &ndash; <a href="http://www.tettix.net/albums/tkoep.html">T.K.O.E.P.</a></li>
<li>Dragon Punch &ndash; <a href="http://www.tettix.net/albums/tkoep.html">T.K.O.E.P.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2010/07/06/beat-boost-a-fun-music-inspired-game/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hand Bound Notebooks</title>
		<link>http://seanmonahan.org/2010/06/27/hand-bound-notebooks/</link>
		<comments>http://seanmonahan.org/2010/06/27/hand-bound-notebooks/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 20:42:52 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[hand bound]]></category>
		<category><![CDATA[Hand made]]></category>
		<category><![CDATA[notebooks]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=589</guid>
		<description><![CDATA[I&#8217;m just about finished with my current Moleskine and rather than buy a new one I&#8217;ve opted to start creating my own notebooks. Check them out here. If you&#8217;d like to commission your own hand bound notebook get in touch with me here]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m just about finished with my current Moleskine and rather than buy a new one I&#8217;ve opted to start creating my own notebooks.  Check them out <a href="/books" title="Hand Bound Notebooks">here</a>.  If you&#8217;d like to commission your own hand bound notebook get in touch with me <a href="/contact" title="Commission your own hand bound notebook">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2010/06/27/hand-bound-notebooks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing a Tile Strip Utility for Flixel: Stripper</title>
		<link>http://seanmonahan.org/2010/05/27/introducing-a-tile-strip-utility-for-flixel-stripper/</link>
		<comments>http://seanmonahan.org/2010/05/27/introducing-a-tile-strip-utility-for-flixel-stripper/#comments</comments>
		<pubDate>Fri, 28 May 2010 05:47:03 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Flixel]]></category>
		<category><![CDATA[Tile Strips]]></category>
		<category><![CDATA[Utilities]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=534</guid>
		<description><![CDATA[Stripper is a simple utility for quickly gathering a bunch of images into a precise tile strip for Flixel-base games. Currently an alpha, you can watch a demo of Stripper here and read more + follow progress here.]]></description>
			<content:encoded><![CDATA[<p>Stripper is a simple utility for quickly gathering a bunch of images into a precise tile strip for Flixel-base games.  Currently an alpha, you can watch a demo of Stripper <a href="http://vimeo.com/12100683" title="Video Demo of Stripper">here</a> and read more + follow progress <a href="/stripper-a-tile-strip-utility-for-flixel" title="Read more about Stripper">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2010/05/27/introducing-a-tile-strip-utility-for-flixel-stripper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defuse World Editor</title>
		<link>http://seanmonahan.org/2010/05/14/defuse-world-editor/</link>
		<comments>http://seanmonahan.org/2010/05/14/defuse-world-editor/#comments</comments>
		<pubDate>Sat, 15 May 2010 02:07:12 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Defuse]]></category>
		<category><![CDATA[tile editor]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=519</guid>
		<description><![CDATA[I recently added a page to this site for Defuse World Editor, a 2D tile-based editor for games. Presently the editor is closely tied to Defuse, a 2D action-puzzle-platformer I&#8217;m finishing up for release this summer, but I plan to cut that cord and make it a much more reusable and general purpose level editor. [...]]]></description>
			<content:encoded><![CDATA[<p>I recently added a page to this site for <a href="/projects/defuse-world-editor-a-tile-based-2d-level-editor/" title="Defuse World Editor">Defuse World Editor</a>, a 2D tile-based editor for games.  Presently the editor is closely tied to Defuse, a 2D action-puzzle-platformer I&#8217;m finishing up for release this summer, but I plan to cut that cord and make it a much more reusable and general purpose level editor.</p>
<p><span id="more-519"></span></p>
<p>Follow the project <a href="/projects/defuse-world-editor-a-tile-based-2d-level-editor/" title="Defuse World Editor">here</a> and check out the first <a href="http://vimeo.com/11417133" title="Defuse World Editor Demo Video #1">demo vid</a> on Vimeo.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2010/05/14/defuse-world-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Pontiac Ventura Restoration Pix</title>
		<link>http://seanmonahan.org/2009/08/04/some-pontiac-ventura-restoration-pix/</link>
		<comments>http://seanmonahan.org/2009/08/04/some-pontiac-ventura-restoration-pix/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 12:00:25 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Frustration]]></category>
		<category><![CDATA[Pontiac]]></category>
		<category><![CDATA[Restoration]]></category>
		<category><![CDATA[Ventura]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=407</guid>
		<description><![CDATA[I&#8217;ve always wanted to learn about working on cars so I&#8217;ve been helping a buddy restore his grandfather&#8217;s 1973 Pontiac Ventura Sprint Custom Hatchback. It&#8217;s been a lot of fun and a lot of frustration. It stared with getting the front bumper off which was secured with about 16 bolts and one metric (yes, metric [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always wanted to learn about working on cars so I&#8217;ve been helping a buddy restore his grandfather&#8217;s 1973 Pontiac Ventura Sprint Custom Hatchback.  It&#8217;s been a lot of fun and a lot of frustration.</p>
<p><span id="more-407"></span></p>
<p>It stared with getting the front bumper off which was secured with about 16 bolts and one metric (yes, metric on a 1973 American car) bolt.  This took awhile since we didn&#8217;t think two of the bolts needed to be removed to pull the bumper off.  We were wrong, a trend that would continue with this project.</p>
<p>Next we removed the hood and fenders all so we could remove the &#8220;Ventura&#8221; insignia on the fenders and then we started on the rear bumper.  The rear bumper that, much like the front one, we thought we had ready to remove.  The rear bumper that ate a wrench and necessitated the over-nighting of new wrenches.  The rear bumper that had to have a stripped bolt drilled out of it.  The rear bumper that still took twenty minutes to remove <em>after</em> all the bolts were removed.  It&#8217;s off now.</p>
<p>While waiting on the wrenches needed for the rear bumper we went to work on the rest of the car&#8217;s insignia.  This included a &#8220;Custom&#8221; and Pontiac logo on each side behind the rear windows and a &#8220;Custom Hatchback&#8221; insignia on the the back.  Figuring these insignia were much the the ones on the fenders we took apart the interior to gain easy access to the bolts from the inside.  Turns out the interior was welded in such a way to make accessing them impossible.  </p>
<p>So we started pulling them off.</p>
<p>And this proceeded for about an hour with little progress.  We tried razor blades, knives, screwdrivers all to get some leverage.  None of it worked.  In the end we invented the ultimate insignia removing tool.  This tool is constructed from microfiber cloth and duct tape.  It starts with a thin piece of duct tape that gets progressively thicker until it connects to the microfiber.  Using this we were able to remove all the remaining insignia in about fifteen minutes.</p>
<p>Presently the Ventura is sanded and ready to be primed.  Some pix are below.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-13-407">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-50" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_010.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_010.jpg" alt="ventura_010.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_010.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-51" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_009.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_009.jpg" alt="ventura_009.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_009.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-52" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_008.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_008.jpg" alt="ventura_008.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_008.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-53" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_007.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_007.jpg" alt="ventura_007.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_007.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-54" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_006.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_006.jpg" alt="ventura_006.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_006.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-55" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_005.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_005.jpg" alt="ventura_005.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_005.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-56" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_004.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_004.jpg" alt="ventura_004.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_004.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-57" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_003.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_003.jpg" alt="ventura_003.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_003.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-58" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_002.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_002.jpg" alt="ventura_002.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_002.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-59" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_001.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_001.jpg" alt="ventura_001.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_001.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-60" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_019.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_019.jpg" alt="ventura_019.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_019.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-61" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_018.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_018.jpg" alt="ventura_018.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_018.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-62" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_017.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_017.jpg" alt="ventura_017.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_017.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-63" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_016.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_016.jpg" alt="ventura_016.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_016.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-64" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_015.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_015.jpg" alt="ventura_015.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_015.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-65" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_014.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_014.jpg" alt="ventura_014.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_014.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-66" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_013.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_013.jpg" alt="ventura_013.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_013.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-67" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_012.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_012.jpg" alt="ventura_012.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_012.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-68" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://seanmonahan.org/wp-content/gallery/ventura-01/ventura_011.jpg" title=" " class="thickbox" rel="set_13" >
								<img title="ventura_011.jpg" alt="ventura_011.jpg" src="http://seanmonahan.org/wp-content/gallery/ventura-01/thumbs/thumbs_ventura_011.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2009/08/04/some-pontiac-ventura-restoration-pix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UPDATE. Blank Project Properties in Flex Builder 3 on Windows Vista 64-bit</title>
		<link>http://seanmonahan.org/2009/06/12/blank-project-properties-in-flex-builder-3-on-windows-vista-64-bit/</link>
		<comments>http://seanmonahan.org/2009/06/12/blank-project-properties-in-flex-builder-3-on-windows-vista-64-bit/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 19:36:01 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[Project Properties]]></category>
		<category><![CDATA[Windows 64-bit]]></category>
		<category><![CDATA[x64]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=399</guid>
		<description><![CDATA[I recently made the switch to Vista 64-bit (loving it by the way, 8GB of RAM is most excellent) and it&#8217;s been a mostly pain-free conversion. One program that as behaved&#8230;curiously&#8230;since the upgrade is Flex Builder 3. Just today I found a bug that seems to affect 64-bit Windows user in the Project Properties dialog. [...]]]></description>
			<content:encoded><![CDATA[<p>I recently made the switch to Vista 64-bit (loving it by the way, 8GB of RAM is most excellent) and it&#8217;s been a mostly pain-free conversion.  One program that as behaved&#8230;curiously&#8230;since the upgrade is Flex Builder 3.</p>
<p>Just today I found a bug that seems to affect 64-bit Windows user in the Project Properties dialog.  The bug in question is that the &#8220;Flex Modules&#8221; section of the properties dialog is blank.  So there is no way to add or remove modules from the project build.  To fix this, open the Properties dialog (Project > Properties), click on &#8220;Resources&#8221; and resize the window horizontally to be as thin as possible.  Then click on &#8220;Flex Modules&#8221; and resize the window to be usable again and BAM! just like magic the modules appear!</p>
<p>UPDATE</p>
<p>I&#8217;ve found that an easier way to do this is just adjust the divider between the list on the left hand side of the dialog and the right hand content area.  Just adjusting the divider a smidge will cause everything to magically appear.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2009/06/12/blank-project-properties-in-flex-builder-3-on-windows-vista-64-bit/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Beer Near Here Part 5: Creating the Art Assets</title>
		<link>http://seanmonahan.org/2009/04/07/beer-near-here-part-5-creating-the-art-assets/</link>
		<comments>http://seanmonahan.org/2009/04/07/beer-near-here-part-5-creating-the-art-assets/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 01:35:40 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[AIR Skinning]]></category>
		<category><![CDATA[Beer Near Here]]></category>
		<category><![CDATA[Custom Chrome]]></category>
		<category><![CDATA[Photo]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=389</guid>
		<description><![CDATA[Previously I discussed the process of implementing a custom chrome in Adobe AIR, with this post I&#8217;ll delve into how I created the assets I used in Beer Near Here Desktop. In particular I&#8217;ll discuss how I acquired all the beer glass images necessary to create the loading animation for Beer Near Here Desktop. What [...]]]></description>
			<content:encoded><![CDATA[<p>Previously I discussed the process of implementing a custom chrome in Adobe AIR, with this post I&#8217;ll delve into how I created the assets I used in Beer Near Here Desktop.  In particular I&#8217;ll discuss how I acquired all the beer glass images necessary to create the loading animation for Beer Near Here Desktop.</p>
<p><span id="more-389"></span></p>
<h3>What You&#8217;ll Need</h3>
<p>To get the beer glass image I used 7 pieces of equipment:</p>
<ol>
<li>A beer</li>
<li>A beer glass</li>
<li>A coaster (this is optional)</li>
<li>Some (cheapie shop) lighting equipment</li>
<li>A large piece of white paper and something to prop it up</li>
<li>A camera</li>
<li>A siphon</li>
</ol>
<h3>Photographing</h3>
<p>The setup was to fill the glass with beer and place it and the coaster on the sheet of paper.  The paper was then propped up (I used a wine bottle), turning it into a backdrop.  The lights were setup so I could get some highlights.  The paper being white is important here because I wanted the glass to be transparent and white lends itself to becoming transparent better than say, black.</p>

<a href="http://seanmonahan.org/wp-content/gallery/beer-near-here-desktop-part-5/half-full.jpg" title="" class="thickbox" rel="singlepic48" >
	<img class="ngg-singlepic" src="http://seanmonahan.org/wp-content/gallery/cache/48__550x_half-full.jpg" alt="half-full.jpg" title="half-full.jpg" />
</a>

<p>Once had the scene setup I placed my camera on a tripod and framed the shot I wanted.  It really helps here to have a camera with a manual focus option and to triple check your focus unless you want to drink a few beers through a siphon.  It wasn&#8217;t very enjoyable.  Additionally, you&#8217;ll want to do this on a stable surface as the goal is to never move the cup at all.</p>
<p>With the stage set I snapped a pic of the full beer glass and then put the siphon in the beer and sucked out a little bit of beer and removed the siphon from the frame.  Rinse and repeat until the glass is empty.  After you have all your images it&#8217;s time to get them into Photoshop.</p>
<h3>Masking</h3>
<p>With your images in Photoshop it&#8217;s time to create some masks so we can knockout the beer glass and coaster.  One of the nice things about this is that, for the shape we are masking (the beer glass), all of these images are essentially the same thanks to the tripod.  So take your time with your masking technique of choice and make a really good mask on one of the images and then copy and paste it into all the other images.  You&#8217;ll end up with something like this:</p>

<a href="http://seanmonahan.org/wp-content/gallery/beer-near-here-desktop-part-5/mask.jpg" title="" class="thickbox" rel="singlepic47" >
	<img class="ngg-singlepic" src="http://seanmonahan.org/wp-content/gallery/cache/47__550x_mask.jpg" alt="mask.jpg" title="mask.jpg" />
</a>

<p>Once I had all my images masked I collected them into a single layered file, one image per frame, and cropped the image down to just the glass.  This is a good point to save your work.</p>
<p>The next thing to do is add some transparency the to progressively more empty images of the glass.  To do this I merged each of my layers with an empty layer.  This has the effect of eliminating the mask used to knockout the glass producing a flat image with transparency where the mask was.  I then created a new layer mask for each layer and used a brush set to about 25% opacity and 25% hardness to slowly paint over the areas where one would expect to be able to see through the beer glass.  I found it helpful to make a screen cap of my desktop and throw it in under all the layers so I could see if the transparency looked good against it.</p>
<p>Creating all these transparencies for the glass is quite time consuming but in the end it creates a very nice effect.  Be sure to save the layered file as a PSD so you can come back to it later if need be.  At this point you have all your assets and now it&#8217;s time to make a decision about how to use them.  In my case one of my goals with Beer Near Here Desktop was to create a completely Flex-based solution.  Specifically, I wanted the animation I created with the beer glass to be done with Flex so I exported all of the layers out as individual 24-bit PNGs (preserving the nice transparency I worked so hard at creating) and imported them into my Flex project.</p>
<p>These PNGs look great but they also now account for the bulk of BNHD&#8217;s file size.  An alternative approach is to import the layered PSD into Flash, create the animation there and then import the resultant SWF into your Flex project.  This will almost certainly result in a smaller size for the app, which is ideal unless you have other goals like I did.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2009/04/07/beer-near-here-part-5-creating-the-art-assets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
