<?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>JetpackHQ</title>
	<atom:link href="http://www.jetpackhq.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jetpackhq.com/blog</link>
	<description>A chronicle of the development of a video game</description>
	<lastBuildDate>Mon, 08 Mar 2010 20:15:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Retrofit Contest &#8211; Week 4</title>
		<link>http://www.jetpackhq.com/blog/2010/03/06/retrofit-contest-week-4/</link>
		<comments>http://www.jetpackhq.com/blog/2010/03/06/retrofit-contest-week-4/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 22:32:41 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Input Requested]]></category>
		<category><![CDATA[Status Updates]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=380</guid>
		<description><![CDATA[Working hard this week and I got a few more great submissions.  I&#8217;ve done some tweaking to the tileset and there&#8217;s finally a game preview below!
Note: I&#8217;ve extended the contest to March 20th to give people more time to submit themes.
Game Preview
A level with the new tileset

Themes
It recently occurred to me that I could [...]]]></description>
			<content:encoded><![CDATA[<p>Working hard this week and I got a few more great submissions.  I&#8217;ve done some tweaking to the tileset and there&#8217;s finally a game preview below!</p>
<p><b>Note:</b> I&#8217;ve extended the contest to <b>March 20th</b> to give people more time to submit themes.</p>
<h3>Game Preview</h3>
<p style='text-align:center; font-weight:bold;'>A level with the new tileset<br />
<img src='/r/example1.jpg' style='border:1px solid black;'></p>
<h3>Themes</h3>
<p>It recently occurred to me that I could swap out a few tiles and give the game a totally different look without much more work.  I generate the curved &#038; stone-wrapped tiles in code, so with only 5 tile swaps most levels can be completely rethemed:</p>
<p style='text-align:center; font-weight:bold;'>A rough example of a castle/outdoor theme<br />
<img src='/r/example2.jpg' style='border:1px solid black;'></p>
<p>It gives a level a whole new feel, doesn&#8217;t it?</p>
<p>If you want to make a theme, just redo the following 5 tiles:<br />
<b>background tile, ladder, brick, hard brick, stone</b><br />
And optionally these 5 tiles:<br />
<b>steel panel, gold panel, column, vines, &#038; fence</b><br />
A few things will stay the same: gems, treasure, switches, barriers, and items.</p>
<p>There&#8217;s a 90&#215;90 repeating background that will apply to the whole level.  Other backgrounds are the standard 30&#215;30 tile size and can be placed behind any other tile.  </p>
<p>The theme could be anything: candyland, nature, castle, etc. In the editor I’ll have an option to preview different themes. This won’t be like jswitch, the theme will stay with the level. Then in the game we can group levels into missions by theme.</p>
<p><script>
var isIE = navigator.appName.indexOf("Microsoft") != -1;
function PlayUrl(url)
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.PlayUrl(url);
}
function StopSong()
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.StopSong();
}
</script><object id="AudioPlayerO" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="0" height="0" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="/r/AudioPlayer.swf" /><embed id="AudioPlayerE" type="application/x-shockwave-flash" width="0" height="0" src="/r/AudioPlayer.swf"></embed></object></p>
<h3>This week&#8217;s entries</h3>
<hr />
<h3 class='contest_date'>Feb 27th</h3>
<p>Some more sounds by <b>Saga Musix</b></p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/bell-life.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> bell-life.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/freezer.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> freezer.mp3</p>
<p>New levels:<br />
<a href="/r/retrofit/levels/saga_6.zip">saga_6.zip</a><br />
<a href="/r/retrofit/levels/axem_3.zip">axem_3.zip</a><br />
<a href="/r/retrofit/levels/brienb_3.zip">brienb_3.zip</a><br />
<a href="/r/retrofit/levels/robertr_2.zip">robertr_2.zip</a><br />
<a href="/r/retrofit/levels/wolfgangs_1.zip">wolfgangs_1.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 28th</h3>
<p>New levels:<br />
<a href="/r/retrofit/levels/dough_1.zip">dough_1.zip</a><br />
<a href="/r/retrofit/levels/robertr_3.zip">robertr_3.zip</a><br />
<a href="/r/retrofit/levels/adamd_2.zip">adamd_2.zip</a></p>
<hr />
<h3 class='contest_date'>Mar 1st</h3>
<p>Slow day&#8230;</p>
<hr />
<h3 class='contest_date'>Mar 2nd</h3>
<p>Some vines from <b>Tim K.</b>:<br />
<img src="/r/retrofit/graphics/timk_2.png" alt="" /></p>
<hr />
<h3 class='contest_date'>Mar 3rd</h3>
<p>A cool Flitzer from <b>Tim K.</b>:<br />
<img src="/r/retrofit/graphics/timk_3.png" alt="" /></p>
<p>New levels:<br />
<a href="/r/retrofit/levels/davidm_1.zip">davidm_1.zip</a> &#8211; some great ones</p>
<hr />
<h3 class='contest_date'>Mar 4th</h3>
<p>Slow day&#8230;</p>
<hr />
<h3 class='contest_date'>Mar 5th</h3>
<p>Some robot concepts from <b>Eric F.</b>:<br />
<img src="/r/retrofit/graphics/ericf_13.png" alt="" /> <img src="/r/retrofit/graphics/ericf_14.png" alt="" /></p>
<p>Some new sounds from <b>Saga Musix</b>:</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/buzz2.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> buzz2.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/buzz-cancel.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> buzz-cancel.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/cool.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> cool.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/death3.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> death3.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/death4.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> death4.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/laser.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> laser.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/steel.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> steel.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/teleport5.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> teleport5.mp3</p>
<p>New levels:<br />
<a href="/r/retrofit/levels/robertr_4.zip">robertr_4.zip</a></p>
<hr />See all the submissions on the <a href='/blog/retrofit/'>Retrofit Updates</a> page.  If you have content to submit, refer to the rules on the <a href='/blog/2010/02/09/the-jetpack-retrofit-contest/'>contest page</a>, and send your work to the <a href='http://www.adeptsoftware.com/contact/'>business email here</a>.  If you don&#8217;t want your entries to be shown in the blog, or if you want to use an alias, just let me know in your email.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2010/03/06/retrofit-contest-week-4/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Retrofit Contest – Week 3</title>
		<link>http://www.jetpackhq.com/blog/2010/02/27/retrofit-contest-%e2%80%93-week-3/</link>
		<comments>http://www.jetpackhq.com/blog/2010/02/27/retrofit-contest-%e2%80%93-week-3/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 13:26:37 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Input Requested]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=371</guid>
		<description><![CDATA[
var isIE = navigator.appName.indexOf("Microsoft") != -1;
function PlayUrl(url)
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.PlayUrl(url);
}
function StopSong()
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.StopSong();
}

This week the contest is slowing down, but we&#8217;ve still gotten some great graphics, songs, and sounds.  We&#8217;re also [...]]]></description>
			<content:encoded><![CDATA[<p><script>
var isIE = navigator.appName.indexOf("Microsoft") != -1;
function PlayUrl(url)
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.PlayUrl(url);
}
function StopSong()
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.StopSong();
}
</script><object id="AudioPlayerO" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="0" height="0" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="/r/AudioPlayer.swf" /><embed id="AudioPlayerE" type="application/x-shockwave-flash" width="0" height="0" src="/r/AudioPlayer.swf"></embed></object></p>
<p>This week the contest is slowing down, but we&#8217;ve still gotten some great graphics, songs, and sounds.  We&#8217;re also starting to get some good beginner levels, keep them coming!  I posted a new level 1 &#038; 2 that I made, which are good examples.</p>
<h3>Level Changes</h3>
<p>I&#8217;m considering breaking the levels into groups of 10-20 (a &#8220;mission&#8221; or &#8220;zone&#8221;), and giving those groups a common theme.  This may mean restyling all the levels in a certain theme like jungle or city.  This is a quick change that involves automatically replacing 10 or so tiles with new custom &#8220;theme&#8221; tiles.  My first goal is getting this previewable to see how well it works, and so people can contribute to the themes.</p>
<p>I&#8217;m going to do away with the concept of &#8220;lives&#8221;, you will have infinite lives and the extra life statues will turn into achievements.  One achievement will be getting the statue for each level, another will be getting all the treasure in each level.  For the new achievements system most levels will need a few changes:</p>
<ul>
<li>Each level should have exactly ONE gold statue, which should be hard to get relative to the level difficulty
<li>Each level should have some treasure which is trickier to get than the gems
<li>All treasure in a level must be gettable &#8211; no more decorative treasure that can&#8217;t be reached
</ul>
<p>Don&#8217;t send in these changes yet, because there will probably be others coming up.</p>
<p>I&#8217;m keeping around 50 levels from the original Jetpack.  <a href="/r/retrofit/levels/maybe.zip">These levels</a> are the ones I put in the &#8220;maybe&#8221; category.  Let me know if there are any in this group that you think should definitely make it to the final game.</p>
<h3>Music Splashes</h3>
<p>I think we could use some short 3-5 second music splashes for game events: a few for winning a level, possibly a few for dying, and 1 for during the level preview &#8211; a quiet song, little melody (maybe just percussion), so it doesn&#8217;t clash with the level music that will follow it.  These types of things are pretty cheap to get online, but if anyone wants to try their hand at it, these are small enough to just be mp3.</p>
<h3>Chosen Graphics</h3>
<p>Here my working copy of the graphics I&#8217;ve chosen so far.  All these are subject to change and tweaking!<br />
<img src="/r/retrofit/graphics/chosen_1.jpg" alt="" /></p>
<h3>This week&#8217;s entries</h3>
<hr />
<h3 class='contest_date'>Feb 19th</h3>
<p>More cool sounds from <b>Saga Musix</b>:</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/death2.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> death2.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/brick.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> brick.mp3</p>
<hr />
<h3 class='contest_date'>Feb 20th</h3>
<p class="songtitle"><a href="javascript:StopSong();"><img src="/r/music_btn_stop.png" alt="" /></a><a href="javascript:PlayUrl('/r/retrofit/music/syniphas/DarkJet.mod');"><img src="/r/music_btn_play.png" alt="" /></a> Syniphas: DarkJet</p>
<p class="songtitle">
And more levels:<br />
<a href="/r/retrofit/levels/alexw_2.zip">alexw_2.zip</a><br />
<a href="/r/retrofit/levels/axem_1.zip">axem_1.zip</a><br />
<a href="/r/retrofit/levels/joes_2.zip">joes_2.zip</a><br />
<a href="/r/retrofit/levels/joec_6.zip">joec_6.zip</a><br />
<a href="/r/retrofit/levels/saga_4.zip">saga_4.zip</a><br />
<a href="/r/retrofit/levels/timb_1.zip">timb_1.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 21st</h3>
<p>Here&#8217;s a nice door concept by <b>Juan G.</b><br />
<img src="/r/retrofit/graphics/juang_1.png" alt="" /><br />
<img src="/r/retrofit/graphics/juang_2.png" alt="" /><br />
And some characters from <b>Eric F.</b><br />
<img src="/r/retrofit/graphics/ericf_11.png" alt="" /><br />
<img src="/r/retrofit/graphics/ericf_12.gif" alt="" /><br />
And some levels:<br />
<a href="/r/retrofit/levels/juang_2.zip">juang_2.zip</a> &#8211; perfect beginner levels!<br />
<a href="/r/retrofit/levels/ericf_4.zip">ericf_4.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 22nd</h3>
<p>A jetman from <b>Silas C.</b>:<br />
<img src="/r/retrofit/graphics/silasc_1.png" alt="" /><br />
And another from <b>Juan D.</b>:<br />
<img src="/r/retrofit/graphics/juand_1.png" alt="" /><br />
While these are cool, I&#8217;m looking for a different design for the new jetman.  Either something metallic or something like <a href='http://www.metronetiq.com/archives/jetpack/SilverJetpack.jpg'>this</a>.</p>
<p>New levels:<br />
<a href="/r/retrofit/levels/jonasr_2.zip">jonasr_2.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 23rd</h3>
<p>More sounds from <b>Saga Musix</b>:</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/door.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> door.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/notice.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> notice.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/monster-spawn.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> monster-spawn.mp3</p>
<p>New levels:<br />
<a href="/r/retrofit/levels/brienb_2.zip">brienb_2.zip</a><br />
<a href="/r/retrofit/levels/felipea_1.zip">felipea_1.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 24th</h3>
<p>A new level 1 &#038; 2 by me.  We could use some more beginner levels after these.  Try to make the learning quick &#038; intuitive, and just a small part of the overall level: <a href="/r/retrofit/levels/me_1.zip">me_1.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 25th</h3>
<p>A work-in-progress song by <b>Saga Musix</b>:</p>
<p class="songtitle"><a href="javascript:StopSong();"><img src="/r/music_btn_stop.png" alt="" /></a><a href="javascript:PlayUrl('/r/retrofit/music/saga/robothunt.mod');"><img src="/r/music_btn_play.png" alt="" /></a> Saga: Robot Hunt</p>
<p>A jetman from <b>Joe C.</b>:<br />
<img src="/r/retrofit/graphics/joec_1.bmp" alt="" /></p>
<p>New levels:<br />
<a href="/r/retrofit/levels/axem_2.zip">axem_2.zip</a><br />
<a href="/r/retrofit/levels/josephc_1.zip">josephc_1.zip</a> levels from the original jetpack alpha!<br />
BTW the level &#8220;Wizard&#8221; was inspired by the game &#8220;<a href='http://www.youtube.com/watch?v=vlQUqLJTxd0'>Wizard</a>&#8221; on the C64 &#8211; I highly recommend it.<br />
<a href="/r/retrofit/levels/josephc_2.zip">josephc_2.zip</a> some tutorial ideas<br />
<a href="/r/retrofit/levels/saga_5.zip">saga_5.zip</a> great easy level!</p>
<hr />
<h3 class='contest_date'>Feb 26th</h3>
<p>New levels:<br />
<a href="/r/retrofit/levels/robertr_1.zip">robertr_1.zip</a></p>
<hr />See all the submissions on the <a href='/blog/retrofit/'>Retrofit Updates</a> page.  If you have content to submit, refer to the rules on the <a href='/blog/2010/02/09/the-jetpack-retrofit-contest/'>contest page</a>, and send your work to the <a href='http://www.adeptsoftware.com/contact/'>business email here</a>.  If you don&#8217;t want your entries to be shown in the blog, or if you want to use an alias, just let me know in your email.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2010/02/27/retrofit-contest-%e2%80%93-week-3/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Title Screen &#8211; Work in Progress</title>
		<link>http://www.jetpackhq.com/blog/2010/02/21/title-screen-work-in-progress/</link>
		<comments>http://www.jetpackhq.com/blog/2010/02/21/title-screen-work-in-progress/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 15:04:10 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Input Requested]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=361</guid>
		<description><![CDATA[
v2, better gems!

]]></description>
			<content:encoded><![CDATA[<p><img src='/r/title-wip1.jpg'></p>
<p>v2, better gems!<br />
<img src='/r/title-wip2.jpg'></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2010/02/21/title-screen-work-in-progress/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Retrofit Contest &#8211; Week 2</title>
		<link>http://www.jetpackhq.com/blog/2010/02/20/retrofit-contest-week-2/</link>
		<comments>http://www.jetpackhq.com/blog/2010/02/20/retrofit-contest-week-2/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 13:37:07 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Development News]]></category>
		<category><![CDATA[Input Requested]]></category>
		<category><![CDATA[Status Updates]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=355</guid>
		<description><![CDATA[
var isIE = navigator.appName.indexOf("Microsoft") != -1;
function PlayUrl(url)
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.PlayUrl(url);
}
function StopSong()
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.StopSong();
}

More excellent work this week, but entries are starting to slow down, so let me lay out our greatest needs:

 [...]]]></description>
			<content:encoded><![CDATA[<p><script>
var isIE = navigator.appName.indexOf("Microsoft") != -1;
function PlayUrl(url)
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.PlayUrl(url);
}
function StopSong()
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.StopSong();
}
</script><object id="AudioPlayerO" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="0" height="0" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="/r/AudioPlayer.swf" /><embed id="AudioPlayerE" type="application/x-shockwave-flash" width="0" height="0" src="/r/AudioPlayer.swf"></embed></object></p>
<p>More excellent work this week, but entries are starting to slow down, so let me lay out our greatest needs:</p>
<ul>
<li> A jetman!
<li> Exit door
<li> More music
<li> New sound effect ideas
</ul>
<p>And here are some things which I have, but could use some better / more creative entries:</p>
<ul>
<li> Steel ball, homer, flitzer, any enemy improvements
<li> The blue/red/cyan barriers
<li> Invincible cloak, stunner
<li> Switches, spikes, gem in wall, column, foreground vines, steel, gold brick
<li> Easy / teaching levels
</ul>
<h3>Levels</h3>
<p>It&#8217;s slow work reviewing good quality levels, and there are a lot of great ones in here so reviewing them took many hours!<br />
I reviewed 241 levels and put 69 in the final round.  These include:</p>
<p>3 bonus levels<br />
7 easy<br />
22 moderate<br />
24 hard<br />
13 extreme</p>
<p>Here are my brief notes for each designer:</p>
<blockquote><p>
adamd &#8211; Good variety and great visuals (with the limited tile palette).  Favorite: d-m-ship<br />
alexw &#8211; Some great variety and ideas in these.  Favorite: artee001<br />
benj &#8211; Magnificently tricky riddle<br />
bens &#8211; Some fun ideas here.  Favorite: beehive<br />
bent &#8211; There are some great levels here.  I like the way you use enemies to reveal secrets, like the insubstantial tiles.<br />
brienb &#8211; These are some sadistic levels!  Favorite: lotto/ohoh<br />
ericf &#8211; Some good hard levels and clever game mechanics.  Favorite: E1<br />
jasonw &#8211; A deceptively tricky level.<br />
joec &#8211; Some wicked hard levels, but a couple good easy ones too.  Favorite: Shrine<br />
joes &#8211; These have great playability, and a perfect progression from easy to difficult.  Favorite: ventuz05<br />
jonasr &#8211; Some really cool ideas here.  Favorite: wer12<br />
juang &#8211; These have a few cool new ideas, and are a lot of fun.  Favorite: bcmissil<br />
nickr &#8211; Good level.  Could be interesting to offer an extra life for an extra trip across.<br />
saga &#8211; Great intricate designs, but most are way too hard.  Favorite: where<br />
sebm &#8211; All crazy hard, at least for me.  Favorite: switches<br />
sn &#8211; Some very hard levels.  Favorite: easy7
</p></blockquote>
<h3>Learning Curve Needed</h3>
<p>We badly need easy levels, and easy means super easy.  The casual game crowd needs a very gentle introduction.  I tried to do this somewhat in the original first 5 levels but it wasn&#8217;t nearly enough.  My wife can&#8217;t even beat my original level 0 &#8211; it failed to be a good introduction to the game, except to experienced gamers.  People were just looking around and learning about jumping when the trackbot killed them.  Then they were getting fuel and learning how to fly when the trackbot killed them.  As soon as they learned how to fly to avoid the trackbot, the spikes killed them.  We need a much more gradual learning curve, and we need to make the harder parts of a level optional (eg, containing treasure only).  Don&#8217;t assume the person playing these levels has EVER played an action game.  </p>
<p>If you think an easy level can&#8217;t be challenging, think about how you would teach all these things in one level:</p>
<ul>
<li> understanding the game goal
<li> becoming comfortable with basic movement
<li> sensing danger
<li> jumping small gaps, then large gaps
<li> flying, then flying with control, then flying level
<li> learning to conserve fuel, and to monitor your fuel level
<li> learning to read clues that there may be traps, and thinking before acting when there are traps
<li> learning that missiles move in a predictable pattern
<li> learning how smart the trackbot is
<li> learning each special tile function
<li> using teleporters, then being aware of and predicting enemy teleportation, then using invincibility while teleporting
<li> learning what switches do, then how to use them, and enemy-triggered switches
<li> learning that phasing is possible, then where and how to phase
<li> learning to move quickly through purple doors, then through multiple doors
<li> learning not to destroy crates you may need
<li> phasing up, then phasing while jumping, then phasing while flying up, then phasing while flying level
<li> learning how to use enemies to your advantage
</ul>
<p>These should be taught over 10-20 levels, with lots of fun stuff mixed in.  I don&#8217;t like tutorials.  The best way to teach these things it to show them in actual use, without the player being in danger.</p>
<p>Some examples:</p>
<p><b>* learning to move quickly through purple doors</b><br />
On the first encounter with a purple door, put it on ice.  The player will slide through before they know what happened.</p>
<p><b>* learning not to destroy crates you may need</b><br />
Put gold above crates initially, not essential items like gems or switches.</p>
<h3>Game Changes</h3>
<p>Playing through all these levels has led me to some conclusions about changes that will affect gameplay.  I can&#8217;t adjust difficulty by changing the monsters&#8217; speed relative to the player because it screws up a lot of game mechanics.  Maybe I&#8217;ll just leave in the game speed adjustment via +/-.  How do you beat hard levels, do you find the slowdown useful?</p>
<p>Some of these may require tweaking your levels in the beta (don&#8217;t bother changing anything yet):</p>
<ul>
<li>faint outline where barriers will be
<li>smaller collision area for spikes &#038; spear
<li>no getting stuck on corners when jumping
<li>jump or step close to a spear will set it off, then you can move past slowly
<li>make phasing while jumping easier &#8211; only phase when at the middle of a tile
<li>show a faint outline when jetman is behind bricks
<li>flitzer light shows future movement
<li>maybe a button which reveals hidden paths
<li>placeable invincibility cloak
</ul>
<p>There will be automatic visual enhancements to levels, including:</p>
<ul>
<li>replace repeating columns with a solid column
<li>replace stacked ice stone with icy stone wall
<li>automatic edge finding + enhancement
<li>sag physical floor of sludge pool
</ul>
<p>And I want to add these options when saving a level:</p>
<ul>
<li>frequency of bonus items
<li>longer description
<li>music selection
<li>par completion time
</ul>
<h3>This week&#8217;s entries</h3>
<hr />
<h3 class='contest_date'>Feb 12th</h3>
<p>A full tileset replacement from <strong>Joseph S.</strong>:<br />
<img src="/r/retrofit/graphics/josephs_1.png" alt="" /><br />
Love that extra life! Anyone want to make a character out of that shape?</p>
<hr />
<h3 class='contest_date'>Feb 13th</h3>
<p>We have some sound effects! These are by <b>Saga Musix</b>:</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/close.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> close.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/gem.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> gem.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/gem2.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> gem2.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/open.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> open.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/select.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> select.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/teleport.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> teleport.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/teleport2.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> teleport2.mp3</p>
<p>And several more levels.  <b>Ben J.</b> has a great puzzle &#8211; maybe too hard!<br />
<a href="/r/retrofit/levels/benj_1.zip">benj_1.zip</a><br />
<a href="/r/retrofit/levels/bens_1.zip">bens_1.zip</a><br />
<a href="/r/retrofit/levels/joec_3.zip">joec_3.zip</a><br />
<a href="/r/retrofit/levels/alexw_1.zip">alexw_1.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 14th</h3>
<p>Enjoy your VD everyone!<br />
Today brings another sweet tune from <b>Coda</b>:</p>
<p class="songtitle"><a href="javascript:StopSong();"><img src="/r/music_btn_stop.png" alt="" /></a><a href="javascript:PlayUrl('/r/retrofit/music/coda/jetskillz.mod');"><img src="/r/music_btn_play.png" alt="" /></a> Coda: JetSkillz</p>
<p><b>Eric F.</b> sends in a trophy graphic:<br />
<img src="/r/retrofit/graphics/ericf_9.png" alt="" /></p>
<p>And here&#8217;s another batch of levels:<br />
<a href="/r/retrofit/levels/jasonw_1.zip">jasonw_1.zip</a><br />
<a href="/r/retrofit/levels/joec_4.zip">joec_4.zip</a><br />
<a href="/r/retrofit/levels/juang_1.zip">juang_1.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 15th</h3>
<p>Today <b>Saga Musix</b> offers more sounds:</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/death1.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> death1.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/phaser.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> phaser.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/stuck.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> stuck.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/stuck2.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> stuck2.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/teleport3.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> teleport3.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/teleport4.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> teleport4.mp3</p>
<p class="songtitle"><a href="javascript:PlayUrl('/r/retrofit/sounds/saga/weird_jewel.mp3');"><img src="/r/music_btn_play.png" alt="" /></a> weird_jewel.mp3</p>
<p>And we have some more great levels:<br />
<a href="/r/retrofit/levels/adamd_1.zip">adamd_1.zip</a><br />
<a href="/r/retrofit/levels/joec_5.zip">joec_5.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 16th</h3>
<p>Here are the great graphics previously contributed by <strong>Tim K.</strong>:<br />
<img src="/r/retrofit/graphics/timk_1.png" alt="" /></p>
<p>And some creative new designs by <strong>Eric F.</strong>:<br />
<img src="/r/retrofit/graphics/ericf_10.png" alt="" /></p>
<p>New level submissions:<br />
<a href="/r/retrofit/levels/brienb_1.zip">brienb_1.zip</a><br />
<a href="/r/retrofit/levels/arthurm_2.zip">arthurm_2.zip</a></p>
<hr />
<h3 class='contest_date'>Feb 17th &#038; 18th</h3>
<p>Slow days&#8230;</p>
<p>See all the submissions on the <a href='/blog/retrofit/'>Retrofit Updates</a> page.  If you have content to submit, refer to the rules on the <a href='/blog/2010/02/09/the-jetpack-retrofit-contest/'>contest page</a>, and send your work to the <a href='http://www.adeptsoftware.com/contact/'>business email here</a>.  If you don&#8217;t want your entries to be shown in the blog, or if you want to use an alias, just let me know in your email.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2010/02/20/retrofit-contest-week-2/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Retrofit Contest &#8211; Week 1</title>
		<link>http://www.jetpackhq.com/blog/2010/02/13/retrofit-contest-week-1/</link>
		<comments>http://www.jetpackhq.com/blog/2010/02/13/retrofit-contest-week-1/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 12:53:33 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Development News]]></category>
		<category><![CDATA[Input Requested]]></category>
		<category><![CDATA[Status Updates]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=320</guid>
		<description><![CDATA[
var isIE = navigator.appName.indexOf("Microsoft") != -1;
function PlayUrl(url)
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.PlayUrl(url);
}
function StopSong()
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.StopSong();
}

We are getting some very cool contributions via the contest, thanks to everyone who is participating!  If you have [...]]]></description>
			<content:encoded><![CDATA[<p><script>
var isIE = navigator.appName.indexOf("Microsoft") != -1;
function PlayUrl(url)
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.PlayUrl(url);
}
function StopSong()
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.StopSong();
}
</script><object id="AudioPlayerO" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="0" height="0" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="/r/AudioPlayer.swf" /><embed id="AudioPlayerE" type="application/x-shockwave-flash" width="0" height="0" src="/r/AudioPlayer.swf"></embed></object><br />
We are getting some very cool contributions via the contest, thanks to everyone who is participating!  If you have content to submit, refer to the rules on the <a href='/blog/2010/02/09/the-jetpack-retrofit-contest/'>contest page</a>, and send your work to the <a href='http://www.adeptsoftware.com/contact/'>business email here</a>.  If you don&#8217;t want your entries to be shown in the blog, or if you want to use an alias, just let me know in your email.  The odds of picking up some cash are still good, and as always, if even a single sprite you submit is used, you&#8217;ll get a free copy of Jetpack.</p>
<h3>Music</h3>
<p>Our first week has seen some awesome music.  My favorite is from <a href='http://sagamusix.de/'>Saga Musix</a> </p>
<p>I always thought trance or an ambient techno would be a good fit for Jetpack.  We need music that doesn&#8217;t overpower the gameplay, for 3 different level types/moods: <b>light adventure</b>, <b>mysterious puzzle</b>, and <b>challenging action</b>.  I&#8217;ll let the level authors choose which song should go with their level after the levels &#038; music are chosen.</p>
<p>Music should be about 4 minutes long to avoid restarting during a typical level.  If you have a short song, you can just add some looping to your patterns to stretch it out.  I need <b>.MOD</b> format music with a max of 10 channels for performance reasons.  I&#8217;m using Flod for mod playback, it supports 3 or 5 octaves and the following effects:</p>
<table cellspacing='0' cellpadding='6' style='font-size:80%;'>
<tr>
<td>
0&#215;00:ARPEGGIO<br />
0&#215;01:PORTAMENTO_UP<br />
0&#215;02:PORTAMENTO_DOWN<br />
0&#215;03:TONE_PORTAMENTO<br />
0&#215;04:VIBRATO<br />
0&#215;05:TONE_PORTA_VOLUME_SLIDE<br />
0&#215;06:VIBRATO_VOLUME_SLIDE<br />
0&#215;07:TREMOLO<br />
0&#215;08:PANNING<br />
0&#215;09:SAMPLE_OFFSET<br />
0&#215;0A:VOLUME_SLIDE<br />
0&#215;0B:POSITION_JUMP<br />
0&#215;0C:SET_VOLUME<br />
0&#215;0D:PATTERN_BREAK<br />
0&#215;0E:EX_EFFECT<br />
0&#215;0F:SET_SPEED
</td>
<td>
</td>
<td>
0xE0:SET_FILTER<br />
0xE1:FINE_SLIDE_UP<br />
0xE2:FINE_SLIDE_DOWN<br />
0xE3:GLISSANDO_CONTROL<br />
0xE4:VIBRATO_CONTROL<br />
0xE5:SET_FINETUNE<br />
0xE6:PATTERN_LOOP<br />
0xE7:TREMOLO_CONTROL<br />
0xE8:KARPLUS_STRONG<br />
0xE9:RETRIG_NOTE<br />
0xEA:FINE_VOLUME_UP<br />
0xEB:FINE_VOLUME_DOWN<br />
0xEC:NOTE_CUT<br />
0xED:NOTE_DELAY<br />
0xEE:PATTERN_DELAY<br />
0xEF:INVERT_LOOP
</td>
</tr>
</table>
<h3>Sound Effects</h3>
<p>There have been <b>no</b> sound effects entries yet!</p>
<h3>Graphics</h3>
<p>I&#8217;ve also gotten some great graphic entries.  <b>Eric F.</b> has made some great contributions, including an interesting take on the bat.</p>
<p>For the graphics, leave the backgrounds transparent, and feel free to send in a larger size, or add frames if you think they are needed &#8211; I will do any necessary conversions.  I&#8217;m also open to any new ideas you might have.</p>
<p>Because animating takes a lot of work, I&#8217;ve decided to choose certain characters <b>in the next couple weeks</b>.  Once a character is chosen, no further designs will be accepted, so the creator can finish the animation without worrying about his/her time being wasted.  This is especially important for the main Jetman, since he has several frames.</p>
<h3>Levels</h3>
<p>There have been tons of levels submitted that I haven&#8217;t had time to review yet.  From what I&#8217;ve seen, I think we have a lot of hard levels, and could probably use some more on the clever puzzle side, and some on the easy side.  We want to appeal mainly to casual gamers &#8211; for hardcore gamers there will be a difficulty level that speeds up the enemies.  It occurred to me that it may help to know my favorites, so here they are:</p>
<ul>
<li><b>70: Work Those Leg Muscles</b> &#8211; my all time favorite, varied tests of skill
<li><b>40: The Gauntlet</b> &#8211; like an obstacle course, a feeling that you&#8217;re being tested
<li><b>30: Mission Possible</b> &#8211; a feeling of a mission in an exotic location
<li><b>04: The Complex</b> &#8211; a feeling of escaping, or intruding into a fortification
<li><b>12: Fuel Shortage</b> &#8211; not sure why I like this one, maybe just the simplicity
<li><b>50: Montezuma&#8217;s Revenge</b> &#8211; has a jungle feeling
<li><b>90: The Volcano</b> &#8211; original use of devices, you have to find a way to penetrate the structure
</ul>
<p>Analyzing these selections, they have a few things in common:  There&#8217;s a feeling of adventure within the level, each level has distinct sections, you can easily form your own story behind the level, and you have a feeling of outsmarting &#038; conquering something big at the end.  They are all tricky without being too frustrating &#8211; I&#8217;d say a couple of these are close to the limit of how hard a level should be in a casual game.</p>
<h3>More Features</h3>
<p>Time is tight on this project, and I haven&#8217;t planned any gameplay enhancements, but it would be nice to have a couple of new things.  There may or may not make it into the final release, but here are a few I&#8217;m considering:</p>
<ul>
<li> multi-tile scenic objects on the background wall &#8211; brickwork, shackles, tapestries, windows, etc
<li> a new enemy
<li> a new gameplay/puzzle element
<li> some physics effects
</ul>
<p>All the public entries this week are below.</p>
<hr />
<h3><span style="text-decoration: underline;"><strong>Feb 5th</strong></span></h3>
<p>Here&#8217;s our first submission, some sweet tunes from <strong>coda</strong>:</p>
<p class="songtitle"><a href="javascript:StopSong();"><img src="/r/music_btn_stop.png" alt="" /></a><a href="javascript:PlayUrl('/r/retrofit/music/coda/rad.mod');"><img src="/r/music_btn_play.png" alt="" /></a> Coda: Rad</p>
<p class="songtitle"><a href="javascript:StopSong();"><img src="/r/music_btn_stop.png" alt="" /></a><a href="javascript:PlayUrl('/r/retrofit/music/coda/puzzling.mod');"><img src="/r/music_btn_play.png" alt="" /></a> Coda: Puzzling</p>
<p class="songtitle"><a href="javascript:StopSong();"><img src="/r/music_btn_stop.png" alt="" /></a><a href="javascript:PlayUrl('/r/retrofit/music/coda/phenomenon.mod');"><img src="/r/music_btn_play.png" alt="" /></a> Coda: Phenomenon</p>
<p>A level by Nick R.: <a href="/r/retrofit/levels/nickr_1.zip">nickr_1.zip</a></p>
<h3><span style="text-decoration: underline;"><strong>Feb 6th</strong></span></h3>
<p>A stomping track by <strong>Saga Musix</strong>:</p>
<p class="songtitle"><a href="javascript:StopSong();"><img src="/r/music_btn_stop.png" alt="" /></a><a href="javascript:PlayUrl('/r/retrofit/music/saga/jetpack_.mod');"><img src="/r/music_btn_play.png" alt="" /></a> Saga: song1</p>
<p>Some hard levels by <strong>Joe C.</strong>: <a href="/r/retrofit/levels/joec_1.zip">joec_1.zip</a></p>
<h3><span style="text-decoration: underline;"><strong>Feb 7th</strong></span></h3>
<p>A bassy tune by <strong>Travis R.</strong>:</p>
<p class="songtitle"><a href="javascript:StopSong();"><img src="/r/music_btn_stop.png" alt="" /></a><a href="javascript:PlayUrl('/r/retrofit/music/travisr/Bass.mod');"><img src="/r/music_btn_play.png" alt="" /></a> Travis R.: Bass</p>
<p>More hard levels by <strong>Saga Musix</strong>: <a href="/r/retrofit/levels/saga_1.zip">saga_1.zip</a><br />
Some more levels by <strong>Joe C.</strong>: <a href="/r/retrofit/levels/joec_2.zip">joec_2.zip</a></p>
<h3><span style="text-decoration: underline;"><strong>Feb 8th</strong></span></h3>
<p>More levels by <strong>Saga Musix</strong>: <a href="/r/retrofit/levels/saga_2.zip">saga_2.zip</a><br />
Levels by <strong>Ben T.</strong>: <a href="/r/retrofit/levels/bent_1.zip">bent_1.zip</a><br />
Levels by <strong>Eric F.</strong>: <a href="/r/retrofit/levels/ericf_1.zip">ericf_1.zip</a></p>
<h3><span style="text-decoration: underline;"><strong>Feb 9th</strong></span></h3>
<p>Some simple graphics from <strong>Eric F.</strong>:<br />
<img src="/r/retrofit/graphics/ericf_1.png" alt="" /><br />
More levels by <strong>Eric F.</strong>: <a href="/r/retrofit/levels/ericf_2.zip">ericf_2.zip</a><br />
A cool teleporter concept from <b>Eric F.</b>:<br />
<img src="/r/retrofit/graphics/ericf_2.png" alt="" /></p>
<h3><span style="text-decoration: underline;"><strong>Feb 10th</strong></span></h3>
<p>Lots of contributions today!<br />
Another level by <strong>Saga Musix</strong>: <a href="/r/retrofit/levels/saga_3.zip">saga_3.zip</a><br />
A pack of levels by <strong>Sebastian M.</strong>: <a href="/r/retrofit/levels/sebm_1.zip">sebm_1.zip</a><br />
A pack of levels by <strong>Joe S.</strong>: <a href="/r/retrofit/levels/joes_1.zip">joes_1.zip</a></p>
<p>A tight robot by <strong>Eric F.</strong>:<br />
<img src="/r/retrofit/graphics/ericf_3.png" alt="" /><br />
Some new bat graphics by <strong>Henry F.</strong>:<br />
<img src="/r/retrofit/graphics/henryf_1.jpg" alt="" /></p>
<h3><span style="text-decoration: underline;"><strong>Feb 11th</strong></span></h3>
<p>Another song by <b>Travis R.</b>:</p>
<p class="songtitle"><a href="javascript:StopSong();"><img src="/r/music_btn_stop.png" alt="" /></a><a href="javascript:PlayUrl('/r/retrofit/music/travisr/Icy.mod');"><img src="/r/music_btn_play.png" alt="" /></a> Travis R.: Icy</p>
<p>New graphics from <strong>Eric F.</strong>:<br />
<img src="/r/retrofit/graphics/ericf_4.png" alt="" /><br />
<img src="/r/retrofit/graphics/ericf_5.png" alt="" /><br />
<img src="/r/retrofit/graphics/ericf_6.png" alt="" /><br />
<img src="/r/retrofit/graphics/ericf_7.png" alt="" /><br />
<img src="/r/retrofit/graphics/ericf_8.png" alt="" /></p>
<p>A few new tiles from <strong>Jason W.</strong>:<br />
<img src="/r/retrofit/graphics/jasonw_1.png" alt="" /></p>
<p>And a bunch of levels!  If you find any favorites when playing these, point them out to me and I&#8217;ll give them extra attention.<br />
<a href="/r/retrofit/levels/ericf_3.zip">ericf_3.zip</a><br />
<a href="/r/retrofit/levels/arthurm_1.zip">arthurm_1.zip</a><br />
<a href="/r/retrofit/levels/jonasr_1.zip">jonasr_1.zip</a><br />
<a href="/r/retrofit/levels/sn_easy_1.zip">sn_easy_1.zip</a><br />
<a href="/r/retrofit/levels/sn_hard_1.zip">sn_hard_1.zip</a></p>
<p>See all the submissions on the <a href='/blog/retrofit/'>Retrofit Updates</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2010/02/13/retrofit-contest-week-1/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The Jetpack Retrofit Contest!</title>
		<link>http://www.jetpackhq.com/blog/2010/02/09/the-jetpack-retrofit-contest/</link>
		<comments>http://www.jetpackhq.com/blog/2010/02/09/the-jetpack-retrofit-contest/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 05:00:01 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Development News]]></category>
		<category><![CDATA[Input Requested]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=214</guid>
		<description><![CDATA[
var isIE = navigator.appName.indexOf("Microsoft") != -1;
function PlayUrl(url)
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.PlayUrl(url);
}
function StopSong()
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.StopSong();
}

I&#8217;ve set a goal to release the new web playable Jetpack in March.   To get all the programming done [...]]]></description>
			<content:encoded><![CDATA[<p><script>
var isIE = navigator.appName.indexOf("Microsoft") != -1;
function PlayUrl(url)
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.PlayUrl(url);
}
function StopSong()
{
    var player = document.getElementById(isIE? 'AudioPlayerO' : 'AudioPlayerE');
    player.StopSong();
}
</script><object id='AudioPlayerO' width='0' height='0' classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="/r/AudioPlayer.swf" /><embed id='AudioPlayerE' src="/r/AudioPlayer.swf" width='0' height='0' type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object><br />
I&#8217;ve set a goal to release the <strong>new web playable Jetpack</strong> in March.   To get all the programming done in the next month will take a lot of work, not to mention the graphics, music, sounds, and extra levels.  If you&#8217;ve been following this blog, you know this is an indie release with a shoestring budget, and I can&#8217;t afford to hire an artist.  So instead, I&#8217;ve decided to <strong>blow it all</strong> on a contest!  This will give everyone in the Jetpack fan community a chance to contribute to the new Jetpack, and will help to reward some of the great work that&#8217;s being donated.</p>
<div style="text-align: center;"><img src="/r/retrofit-example.png" alt="" /></div>
<h3>Calling All Artists, Musicians, SFX Wizards, and Level Designers</h3>
<p>I already have a few volunteer Jetpack fans doing some great work, but we need a lot more.  You can contribute any of the following resources for the final release:</p>
<ul>
<li><strong>Graphics:</strong> Use <a href="/r/retrofit-graphics-template.zip">this template</a> and replace the old blocky graphics with new ones that are closer to the style of modern flash games.  Just leave the backgrounds transparent.</li>
<li><strong>Sound Effects</strong>:  Record your own replacements for the <a href="/r/retrofit-sound-effects.zip">sound effects here</a>.  There&#8217;s no remastering these, since my masters are 8 bit 8000hz mono VOC.  I need 256bit 44khz stereo mp3.  Feel no obligation to stay close to the originals!</li>
<li><strong>Music</strong>:   I need MOD format music, 50k-150k per song, in styles to suit different types of levels.  You must be the copyright holder.  I recommend <a href="http://www.milkytracker.org/">MilkyTracker</a> or <a href="http://www.modplug.com/">ModPlug Tracker</a>. Note the exact format we can support is still up in the air.</li>
<li><strong>Levels</strong>:  I&#8217;d like to put a lot of new levels in the release.  Send me your creations that you consider to be <strong>the cream of the crop</strong>.  Currently the only way to create levels is with the <a href="/r/jetpak15.zip">DOS version of Jetpack</a></li>
</ul>
<p>New creations are great, and if you have any past work to which you still hold the copyright, that will work too.  I&#8217;ll use the best parts out of what I receive, as long as it meets my quality standards.</p>
<p>For more details on what&#8217;s needed, see the post <a href='/blog/2010/02/13/retrofit-contest-week-1/'>Retrofit Contest &#8211; Week 1</a>.</p>
<h3>Prizes</h3>
<p>A total of <strong>$200 </strong>will go to the 6 people who create the most content chosen for use in Jetpack.</p>
<ul>
<li>The top 2 will receive <strong>$50.00</strong></li>
<li>4 runners-up will receive <strong>$25.00</strong></li>
</ul>
<p>In addition <strong>EVERYONE</strong> who submits work used in Jetpack will receive:</p>
<ul>
<li>A <strong>FREE</strong> premium/deluxe/platinum edition of Jetpack</li>
<li>Your name in the credits of the game</li>
</ul>
<h3>Get Started!</h3>
<p>The contest ends on <strong>March 20th</strong>.  Send in your creations as often as you like, the sooner the better.  With your permission, I&#8217;ll place your entries in a members-only section of the blog for members to vote &amp; comment on.  Until I get a submission form set up, you can submit your work to the business email <a href="http://www.adeptsoftware.com/contact/">here</a>.</p>
<p>Also, please help spread the word about this contest to any gaming groups or forums you&#8217;re on!</p>
<div style="text-align: center;">
<p style='font-size:20px; font-weight:bold;'>See all the latest submissions on the <a href="/blog/retrofit/">contest updates</a> page!</p>
<p class='songtitle'>Here&#8217;s a sample: <a href="javascript:StopSong();"><img src='/r/music_btn_stop.png'></a><a href="javascript:PlayUrl('/r/retrofit/music/saga/jetpack_.mod');"><img src='/r/music_btn_play.png'></a><b>song1 by Saga Musix</b></p>
</div>
<h3>Rules</h3>
<p>* The &#8220;Content&#8221; refers to any submitted work, data, or content, or any number of parts of such Content.<br />
* You must be the copyright holder of the submitted Content, with the ability to transfer copyright ownership of the Content.<br />
* By sending Content to Adept Software, you grant Adept Software the unlimited royalty-free license to use, modify, publish, and sell the Content as part of a game.<br />
* While votes may be encouraged from users, Adept Software will be the sole judge of the winners of the contest.<br />
* Winners are solely responsible for all taxes and/or fees that may be incurred.<br />
* Adept Software reserves the right to alter the rules of this contest at any time.</p>
<p>BY SUBMITTING AN ENTRY, YOU WARRANT AND REPRESENT THAT IT: (A) IS YOUR OWN ORIGINAL WORK, (B) DOES NOT CONTAIN, INCORPORATE OR REFERENCE ANYTHING THAT IS OWNED BY ANY THIRD PARTY OR ENTITY OR WOULD REQUIRE THE CONSENT OF ANY THIRD PARTY OR ENTITY IN ANY JURISDICTION, (C) DOES NOT INFRINGE UPON THE COPYRIGHTS, TRADEMARKS, RIGHTS OF PRIVACY, PUBLICITY OR OTHER INTELLECTUAL PROPERTY OR OTHER RIGHTS OF ANY PERSON OR ENTITY, AND (D) THAT PUBLICATION OF THE WORK WILL NOT INFRINGE ON THE RIGHTS OF ANY THIRD PARTY. ANY SUCH ENTRANT WILL INDEMNIFY AND HOLD HARMLESS, SPONSOR FROM ANY CLAIMS TO THE CONTRARY.  Contest void where prohibited or restricted by law and subject to all applicable federal, state, local and municipal laws and regulations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2010/02/09/the-jetpack-retrofit-contest/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Good News, Everyone!</title>
		<link>http://www.jetpackhq.com/blog/2010/01/31/good-news-everyone/</link>
		<comments>http://www.jetpackhq.com/blog/2010/01/31/good-news-everyone/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 23:34:39 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Development News]]></category>
		<category><![CDATA[Status Updates]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=192</guid>
		<description><![CDATA[(apologies to Hubert J. Farnsworth)
We&#8217;re shifting gears!
Instead of just releasing a small retro port as a milestone on the way to Jetpack 2, I suddenly realized with so much work done, taking a bit more work I could make a full game release out of it.  Announcing the March 2010 release of a brand [...]]]></description>
			<content:encoded><![CDATA[<p><small>(apologies to Hubert J. Farnsworth)</small></p>
<p>We&#8217;re shifting gears!</p>
<p>Instead of just releasing a small retro port as a milestone on the way to Jetpack 2, I suddenly realized with so much work done, taking a bit more work I could make a full game release out of it.  Announcing the <strong>March 2010</strong> release of a brand new &amp; enhanced, web playable Jetpack!</p>
<div style="text-align: center;"><img src="/r/main-logo.png" alt="Jetpack Logo" /></div>
<p>From the press release:</p>
<blockquote><p><strong>Jetpack</strong> is a classic game from the MSDOS era (1993).  Jetpack was the #1 top seller for its publisher out of 70 titles, and since its re-release as freeware in 1995 it has been downloaded over 1 million times from AdeptSoftware.com.  Many people have fond memories of the family-friendly brand.  The old DOS version of Jetpack continues to receive 2000+ downloads per month from our site, despite requiring DOSBox to run in new versions of Windows.  The re-release of Jetpack to the web platform will add high res graphics, new levels, remastered sounds, realistic physics, and a pixelated &#8220;retro mode&#8221;, as well as a level editor integrated into the level repository at JetpackHQ.com.</p>
<p><strong><a href='http://www.adeptsoftware.com/'>Adept Software</a></strong> was founded in 1997 and incorporated in 2004.  Past projects range from development applications (PLC, Nautilus) to dating &amp; social networking services (CyberSoulmate, NetRelate, ConnectMate).  Our current focus is on web playable video games, specifically reviving classic retro games.</p></blockquote>
<div style="float:right; margin:20px 40px 20px 40px;"><img src="/r/level-intro.png" alt="Jetpack Level Intro" /></div>
<p>&nbsp;<br />
&nbsp;<br />
The title of this game will just be &#8220;Jetpack&#8221;, like the original.  As for Jetpack 2, the plan is for a release near the end of this year.   I&#8217;m <strong>pulling the retro mode out of Jetpack 2</strong> &#8211; it will only exist in Jetpack 1.  The gameplay of Jetpack 2 will be significantly different, so you&#8217;ll want to play them both.<br />
&nbsp;<br />
&nbsp;<br />
It&#8217;s great to be working toward a goal that&#8217;s so close!  We&#8217;ll be staying true to the original gameplay, but with your help there will be several enhancements:</p>
<ul style='clear:both;'>
<li> New <strong>high res graphics &amp; sound effects</strong></li>
<li> <strong>Music</strong>!</li>
<li> <strong>New levels</strong>!</li>
<li> <strong>Difficulty levels</strong>.  Finally my mom will be able to play.</li>
<li> Improvements to controls and physics</li>
<li> Shiny new info panels &amp; end level stats</li>
<li> The author &amp; background story for each original level, including the official hintbook text</li>
<li> <strong>Web playable</strong>, embeddable, and downloadable versions</li>
<li> <strong>Retro mode</strong> with the original, old school graphics and sounds</li>
</ul>
<p>I say &#8220;with your help&#8221;, because I&#8217;m going to need help creating new graphics, music, sounds, and levels.  More on that coming soon.</p>
<p><strong>Adam</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2010/01/31/good-news-everyone/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Control Me</title>
		<link>http://www.jetpackhq.com/blog/2010/01/18/control-me/</link>
		<comments>http://www.jetpackhq.com/blog/2010/01/18/control-me/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 19:58:35 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Input Requested]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Status Updates]]></category>
		<category><![CDATA[Tech Demos]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=171</guid>
		<description><![CDATA[In the good old days of Jetpack 1, things were much simpler.  Input from the keyboard or joystick was translated directly into action.
It was along the lines of:

if(key[right arrow]) speedx += 10;
sprite.posx += speedx;

Sometimes I miss the old days&#8230;  The new path from input to action now looks like:

set up key bindings from [...]]]></description>
			<content:encoded><![CDATA[<p>In the good old days of Jetpack 1, things were much simpler.  Input from the keyboard or joystick was translated directly into action.</p>
<p>It was along the lines of:</p>
<ul>
<li>if(key[right arrow]) speedx += 10;</li>
<li>sprite.posx += speedx;</li>
</ul>
<p>Sometimes I miss the old days&#8230;  The new path from input to action now looks like:</p>
<ul>
<li>set up key bindings from default or configuration data</li>
<li>for each human player, translate input into commands based on bindings table; &#8220;right arrow&#8221; becomes &#8220;move right&#8221;</li>
<li>send commands to each player&#8217;s controlled entity</li>
<li>each entity processes commands through its state machine(s); if we&#8217;re on the ground, &#8220;move right&#8221; becomes &#8220;run right&#8221;</li>
<li>active states run actions &#8211; in this case, the &#8220;run right&#8221; state applies horizontal force to the entity&#8217;s physical body</li>
<li>the graphical representation of the physical body is updated</li>
</ul>
<p>The new process is certainly more powerful, but requires somewhere around 1000x more effort to write.  Below lies the implementation of the above process, the control tech demo.  You can use the arrows to control all the various entities, and [square backets] or the mouse to switch entities.  Your entity&#8217;s active state machines are displayed in the debug line at the bottom.</p>
<div style="text-align: center;">
<object id="iefix_unique2010_01" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="/r/launcher.swf?launch=/r/2010-01_control.swf" /><embed type="application/x-shockwave-flash" width="800" height="600" src="/r/launcher.swf?launch=/r/2010-01_control.swf"></embed></object></div>
<p>One of the nice things about this newfangled control system is that it meshes very well with the AI, which only needs to supply a command list to an entity, and not worry about the implementation details.  You can see this in action when you launch a guided missile &#8211; it will follow the mouse cursor using a generic AI &#8220;chase&#8221; algorithm.  This release also incorporates various other enhancements, including the <a href="/blog/2009/11/17/using-a-launcher-swf/">launcher from a previous post</a>.</p>
<h2>Jetpack 2 Engine Status</h2>
<p>I meant to have this demo out a month ago, but I opened up the Pandora&#8217;s Box of AS3 code optimization and fell in.  This had to be done at some point, so I&#8217;m glad its mostly out of the way.  On the plus side, I found several optimizations that doubled the frame rate of the game engine &#8211; there will be a big post on this later.  The engine is pretty close to basic playability now, and I&#8217;ll be releasing a special retro version of Jetpack in March.</p>
<h2>Personal Stuff</h2>
<p>My gallbladder surgery was successful, but I&#8217;m only feeling about 25% better.  I think it was worth it, but it looks like that wasn&#8217;t the cure-all I was hoping for.  Thanks to all the well-wishers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2010/01/18/control-me/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Progress Report</title>
		<link>http://www.jetpackhq.com/blog/2009/12/02/progress-report/</link>
		<comments>http://www.jetpackhq.com/blog/2009/12/02/progress-report/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 21:31:03 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Status Updates]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=159</guid>
		<description><![CDATA[Very shortly I&#8217;ll be releasing the next tech demo, on controlling entities with state machines.  Before I wrap that up, here&#8217;s an update on the progress since the last demo:
What&#8217;s Done

 faux-3D depth: What a headache.  I spent days banging my head against different methods of faux-3D depth sorting in 2D, until I [...]]]></description>
			<content:encoded><![CDATA[<p>Very shortly I&#8217;ll be releasing the next tech demo, on controlling entities with state machines.  Before I wrap that up, here&#8217;s an update on the progress since the last demo:</p>
<h2><strong>What&#8217;s Done</strong></h2>
<ul>
<li> <strong>faux-3D depth</strong>: What a headache.  I spent days banging my head against different methods of faux-3D depth sorting in 2D, until I finally realized the problem: it&#8217;s impossible.  Depth in 3D is not sequential, and approximating it cannot be done perfectly using a back-to-front rendering system without some big hacks.  So I adjusted the tiles to be slightly less 3D, and I think it&#8217;s just as good with no sacrifice in speed.</li>
<li> <strong>control</strong>: input bindings, command queues, state machines, actions</li>
<li><strong>animated effects</strong>: &#8220;tween&#8221; style</li>
<li> <strong>created entities</strong>: ball, spring, missile, retro jetman</li>
</ul>
<h2><strong>What&#8217;s To Come</strong></h2>
<p>I had hoped to get pre-alpha relase 1 done by December 31st, but my work needs me for extra time this month.  When its done, this first official release should be a roughly <strong>playable </strong>&#8220;retro-mode&#8221; of a few levels, using the original graphics.  I also have gall bladder surgery scheduled in early January.  Hopefully that will cure or at least help with my chronic fatigue.</p>
<p>Remaining tasks for the pre-alpha:</p>
<ul>
<li> <strong>basic sound effects</strong></li>
<li> <strong>basic menus</strong></li>
<li><strong>retro tile behavior</strong>: ladders, gems, treasure, teleporters, conveyor belts</li>
<li><strong> retro creature behavior</strong>: jetman, ball, spring, missile, homer, bat, trackbot, flitzer, spikes</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2009/12/02/progress-report/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Using a Launcher SWF</title>
		<link>http://www.jetpackhq.com/blog/2009/11/17/using-a-launcher-swf/</link>
		<comments>http://www.jetpackhq.com/blog/2009/11/17/using-a-launcher-swf/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 14:01:49 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.jetpackhq.com/blog/?p=145</guid>
		<description><![CDATA[Since this blog could potentially have many SWF examples on a single page, I have to consider effect of having them load and run all at once, both on the browser and on my bandwidth.  Users will not always want to see every SWF, so ideally a &#8220;click to start&#8221; intro would precede the loading [...]]]></description>
			<content:encoded><![CDATA[<p>Since this blog could potentially have many SWF examples on a single page, I have to consider effect of having them load and run all at once, both on the browser and on my bandwidth.  Users will not always want to see every SWF, so ideally a &#8220;click to start&#8221; intro would precede the loading of each example.</p>
<p>I tried this with just an image: when it was clicked, it would hide itself and embed the SWF where the image had been. Unfortunately, the SWF was not focused and would have to be clicked again, and Firefox has a flaw that does not always allow javascript to focus a SWF <img src='http://www.jetpackhq.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . Therefore the nice and simple image idea had to give way to a whole separate SWF as a launcher for the examples. The launcher is always running, but it&#8217;s small and the frame rate is low and it doesn&#8217;t do too much. Once the launcher is clicked it loads the example SWF and bumps up the frame rate to the proper level.  Of course, since this is Actionscript, what takes a sentence to write took 2 days to implement.</p>
<p>This is a form of preloader, and I&#8217;ve gotten confused a few times when thinking about this, so I&#8217;ll document it here.  It also helped me to refer back to my <a href="/blog/2008/03/25/writing-a-preloader-in-actionscript-3/">post on preloaders</a>.</p>
<h3>preloader via separate swf</h3>
<ul>
<li>displays &#8220;click to start&#8221; and waits &#8211; this can be bypassed via an argument to the swf</li>
<li> loads the main swf while updating progress</li>
<li> sets the new framerate, activates the main swf, and goes away</li>
</ul>
<h3>preloader embedded in main swf</h3>
<ul>
<li>the preloader is on frame 1 of the timeline, and begins to execute while the rest of the timeline loads</li>
<li> large assets are embedded in later frames</li>
<li> the preloader passes control to the main program once the swf fully loads</li>
</ul>
<p>For Jetpack, I&#8217;m going to attempt a combination of the 2 methods, so the user experience will be as follows:</p>
<ul>
<li>The game window will instantly show loading progress (preloader swf)</li>
<li>The preloader will fade away, revealing a Jetpack level in demo playback (main swf preloader)</li>
<li>While the demo game runs, a status bar will show progress as the rest of the assets (mp3 music) load<br />
(At this point, an in-game ad could be shown, but the income from those is not impressive and I&#8217;d rather not clutter up the game.)</li>
<li>When loading is complete, the main menu will fade into view</li>
</ul>
<p>There are some other advantages to using a launcher swf that I can think of:</p>
<ul>
<li> When users embed the launcher swf on their own websites, it will always load the latest version of Jetpack from JetpackHQ.</li>
<li> I&#8217;ll have full stats on who is playing and where.</li>
<li> Security against game reskinning is improved, by having the launcher and the main swf validate eachother.</li>
</ul>
<p>Getting the launcher just right took some struggling with Actionscript, but the result works great.  It&#8217;s only 2k, and can serve just about any swf file (on the same server).  I was able to find a way to read the target framerate from the loaded swf and set that before launching it.  You can also read the width &amp; height, but I know no way of resizing the SWF at runtime without using javascript.  I&#8217;ve attached the source code to this project at the bottom of this post.  Here&#8217;s a sample:</p>
<blockquote>
<pre>function Startup()
{
    // ARGS - launch='', now=0/1
    var args = stage.loaderInfo.parameters;
    if(args.launch!=undefined) launch_swf_path = args.launch;
    if(args.now!=undefined) wait_for_click = !int(args.now);
    if(!launch_swf_path) Fail("usage: launcher.swf?launch=abc.swf&amp;now=0");

    if(wait_for_click)
    {
        Show_WaitForClick();
        stage.addEventListener(MouseEvent.CLICK, StartLaunch);
    }
    else StartLaunch();
}

//--------------------------------------

function Shutdown()
{
    root.Shutdown();
    root = null;
    System.gc();
}

//------------------------------------------------------------------------------

function StartLaunch(event:MouseEvent=null)
{
    if(wait_for_click)
    {
        stage.removeEventListener(MouseEvent.CLICK, StartLaunch);
        Hide_WaitForClick();
    }
    Show_Preloader();
    loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, CheckReady_Hack);
    stage.addEventListener(Event.ENTER_FRAME, CheckReady_Hack);
    loader.load(new URLRequest(launch_swf_path));
}

//--------------------------------------

function CheckReady_Hack(event:Event)
{
    // in certain cases when not waiting for click, complete/init fires but loaderInfo.frameRate
    // is not accessible.  misinformation from the official ActionScript docs: "When the loaderInfo
    // object dispatches the init event, you can access all properties of the loaderInfo object"
    if(event.type==Event.COMPLETE)
    {
        ready_hack = true;
        loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, CheckReady_Hack);
    }
    if(event.type==Event.ENTER_FRAME)
    {
        if(!ready_hack) return;
        stage.removeEventListener(Event.ENTER_FRAME, CheckReady_Hack);
        Launch();
    }
}

//--------------------------------------

function Launch()
{
    Hide_Preloader();

    var swf:DisplayObject = loader.content;
    // frameRate, width, height are only available before unload()
    stage.frameRate = swf.loaderInfo.frameRate;
    loader.unload();
    loader = null;

    // clear the stage
    while(stage.numChildren) stage.removeChildAt(0);
    // launch the loaded swf
    stage.addChild(swf);
    Shutdown();
}</pre>
</blockquote>
<p><img style="vertical-align:middle;" src="/r/download_icon.png" alt="" width="32" height="32" /> <a href="/r/launcher-2009-11-17.zip">Download launcher-2009-11-17.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jetpackhq.com/blog/2009/11/17/using-a-launcher-swf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
