<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>Lost Decade Games</title>
	<link href="https://www.lostdecadegames.com/rss.xml" rel="self"/>
	<link href="https://www.lostdecadegames.com/"/>
	<updated>2022-03-15T00:00:00Z</updated>
	<id>http://www.lostdecadegames.com/</id>
	<author>
		<name>Lost Decade Games</name>
		<email>hello@lostdecadegames.com</email>
	</author>
	
	
	<entry>
		<title>Why Geoff Failed and the Road to Redemption</title>
		<link href="https://www.lostdecadegames.com/why-geoff-failed-and-the-road-to-redemption/"/>
		<updated>2010-05-31T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/why-geoff-failed-and-the-road-to-redemption/</id>
		<content type="html">&lt;p&gt;I blame my father for my obsession with making video games. It was he that introduced me to the wonderful world of BASIC on his Commodore 64. Dad was a gamer at heart and, just like me, has a passion for tinkering with computers. The very first reason I had for learning to code was to make a game.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4051/4657126554_8313d46af9.jpg&quot; alt=&quot;Shapes&quot; title=&quot;Shapes&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Fast forward quite a few years and I&#39;ve yet to fulfill that initial dream of making a game. Now, when I say &amp;quot;making a game&amp;quot; I don&#39;t mean prototypes and &lt;a href=&quot;http://geoffblair.com/games/shapes/&quot; title=&quot;Shapes&quot;&gt;incomplete demos&lt;/a&gt;. I&#39;m talking about actual, complete and polished games. The kind that people would be willing fork over cash to play.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Why have I failed to produce a completed game?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Good question. There are quite a few reasons. None of them are unsurmountable obstacles. It is my hope, however, to overcome these previous barricades by acknowledging (and documenting) their existence and plotting their demise. Let&#39;s walk through a few of my stumbling blocks.&lt;/p&gt;
&lt;h2&gt;Will code for food&lt;/h2&gt;
&lt;p&gt;Although I&#39;ve not shipped any games, I have spent the last decade writing lots and lots of code. Coding for a living really limits the amount of time I can seriously dedicate to making games. However, I don&#39;t regret this for even a second. Instead of spending my time developing prototypes and little RPG demos in the hot language of the week I need to double down on a specific game.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution: I will focus my game development energy on the game I actually want to make.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Creepy features&lt;/h2&gt;
&lt;p&gt;Feature creep isn&#39;t just a problem for game programmers; it&#39;s one that I struggle with on a regular basis. I&#39;ve found that feature creep is especially nasty for a lone developer working on a game in their spare time. There are so many cool things that can go into games that it can be overwhelming at times.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution: I will endeavor to keep it simple, release early and iterate often.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;The one man army&lt;/h2&gt;
&lt;p&gt;Trying to wear every hat in the game development cycle can be daunting. In addition, developing in a vacuum robs you of the valuable feedback from others. Sometimes, just the mere fact that someone will be &lt;a href=&quot;http://github.com/geoffb&quot; title=&quot;My github page.&quot;&gt;reading my code&lt;/a&gt; forces me to avoid shortcuts and bad design. I&#39;ve also found that I really need teammates to help motivate me and to excel in areas where I am weak.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution: I will surround myself with passionate developers who share my vision for games.&lt;/strong&gt;&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Why You Can&#39;t Play Matt&#39;s Dream Game (Yet)</title>
		<link href="https://www.lostdecadegames.com/why-you-cant-play-matts-dream-game-yet/"/>
		<updated>2010-05-31T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/why-you-cant-play-matts-dream-game-yet/</id>
		<content type="html">&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/4657520990/&quot; class=&quot;after&quot;&gt;
	&lt;img alt=&quot;Spacius! A space adventure&quot; src=&quot;http://farm5.static.flickr.com/4026/4657520990_c170960342_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	I grew up playing games like the original Dragon Warrior (NES). And from the moment a friend taught me &lt;code&gt;PRINT &quot;hello world&quot;&lt;/code&gt; in &lt;a href=&quot;http://seanbaby.com/readers/richter1.htm&quot;&gt;QBASIC&lt;/a&gt;, I&#39;ve been trying to develop my own RPG.
&lt;/p&gt;

&lt;p&gt;
	It started out as just a hobby, one that for whatever reason would often consume my entire life weeks at a time. Fast forward about &lt;em&gt;17 years&lt;/em&gt; and the passion is as strong as ever. The sad thing is I&#39;ve just never been able to make it happen. &lt;strong&gt;Why haven&#39;t I ever shipped my beloved RPG?&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
	I&#39;ve been &lt;a href=&quot;http://github.com/richtaur&quot;&gt;writing software&lt;/a&gt; and &lt;a href=&quot;http://widgets.yahoo.com/&quot;&gt;shipping products&lt;/a&gt; professionally for almost 7 years now, so I know I&#39;m capable of finishing a basic game. After much pondering, I think I&#39;ve figured out the &lt;strong&gt;two main reasons&lt;/strong&gt; I&#39;ve failed for so long:
&lt;/p&gt;

&lt;h2&gt;The pie in the sky&lt;/h2&gt;

&lt;p&gt;
	When you think about your dream game, your head&#39;s in the clouds. You think about all the cool features you would make and all the problems other games have that yours wouldn&#39;t. You want it to be spectacular because, after all, it&#39;s your &lt;em&gt;dream game&lt;/em&gt;! But the problem is it&#39;s just too much. As an amateur developer, I&#39;d have been better off thinking up the next Tetris or Bejeweled, because a one-man-army could make the next one of those, but not the &lt;a href=&quot;http://www.escapistmagazine.com/news/view/96420-Blizzard-Stop-Trying-to-Copy-WoW&quot;&gt;next WoW&lt;/a&gt;. The good news is that the solution is easy: &lt;strong&gt;build a small, concise game&lt;/strong&gt;.
&lt;/p&gt;

&lt;h2&gt;Loss of motivation&lt;/h2&gt;

&lt;p&gt;
	The passion persists, but the motivation is fleeting. I would get into these little boosts of energy where I&#39;d remember &quot;Oh yeah! I should make that RPG I&#39;ve always wanted to! I&#39;m pretty good with JavaScript now, I could do it!&quot; And I get revved up and spend the next month rewriting the crappy engine I had from last time around, then like clockwork, the spark dies. &lt;strong&gt;What causes the loss of motivation? A few things:&lt;/strong&gt;
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;Working in a vacuum&lt;/em&gt; makes it feel like nobody cares about your project, and as humans, it&#39;s easy to think &quot;well then why should &lt;em&gt;I&lt;/em&gt; care?&quot; and quit. The key here is to &lt;strong&gt;collaborate and spread the word about your project&lt;/strong&gt;.&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Missing assets like graphics and music&lt;/em&gt; can really kill your spirit. You&#39;re thinking about all the different problems you have to solve like tilemaps, scrolling, inventory management ... then you remember you need an entire game&#39;s worth of graphics, music and sound effects to boot. Game over! (Luckily these days a clever Googler can find free graphics and &lt;a href=&quot;http://jmflava.com/&quot;&gt;amazing&lt;/a&gt; &lt;a href=&quot;http://forums.indiegamer.com/forumdisplay.php?f=13&quot;&gt;musicians&lt;/a&gt;. But most importantly, it&#39;s not that big of a problem, so &lt;a href=&quot;http://www.lostgarden.com/2007/12/how-to-bootstrap-your-indie-art-needs.html&quot;&gt;figure it out and move on&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Distracting &lt;a href=&quot;http://forums.indiegamer.com/showthread.php?t=21228&quot;&gt;side projects&lt;/a&gt; come up.&lt;/em&gt; I&#39;ve been hacking on various things like &lt;a href=&quot;http://richtaur.com/&quot;&gt;fancy new versions of my website&lt;/a&gt; since I was about 12. But the only project that I really feel like I let slip through my fingers over the years is my own RPG. So clearly, I&#39;ve been spending my time on the wrong things.&lt;/li&gt;
&lt;/ul&gt;

&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/4656666809/&quot; class=&quot;before&quot;&gt;
	&lt;img alt=&quot;Valadria&quot; src=&quot;http://farm5.static.flickr.com/4046/4656666809_625a796787_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	That said, it hasn&#39;t been all bad. I made a &lt;a href=&quot;http://scriptnode.com/lab/spacius/&quot;&gt;crappy little retro shooter called &lt;strong&gt;Spacius!&lt;/strong&gt;&lt;/a&gt;, and before Geoff and I started working on our game together, I was working on a medieval fantasy RPG I call &lt;strong&gt;Valadria&lt;/strong&gt;. It was going well, probably better than it had in years. I put up a &lt;a href=&quot;http://playvaladria.appspot.com/&quot;&gt;playable demo&lt;/a&gt; on Google&#39;s &lt;a href=&quot;http://code.google.com/appengine/&quot;&gt;App Engine&lt;/a&gt; (which I really recommend trying out). So some progress is there, it just hasn&#39;t been enough.
&lt;/p&gt;

&lt;h2&gt;Summary: how to avoid these problems&lt;/h2&gt;

&lt;p&gt;
	I&#39;m only going to &lt;em&gt;spend my time on tasks that will get me closer to achieving my goal&lt;/em&gt;, which is to ship a professional RPG. There are tons of other cool projects out there, but this is the one for me. I&#39;m also going to &lt;em&gt;collaborate&lt;/em&gt; and try to &lt;em&gt;get the attention of people who like playing (or building) the kind of games&lt;/em&gt; I want to make.
&lt;/p&gt;

&lt;p&gt;
	Do you have a project you&#39;ve always wanted to complete your whole life? If so, what are you going to do to make it a reality?
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Diggy, an open source JavaScript game engine (with example game)</title>
		<link href="https://www.lostdecadegames.com/diggy-open-source-javascript-game-engine-with/"/>
		<updated>2010-07-05T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/diggy-open-source-javascript-game-engine-with/</id>
		<content type="html">&lt;p&gt;
	Today I&#39;m happy to announce &lt;a href=&quot;http://github.com/richtaur/diggy&quot;&gt;Diggy&lt;/a&gt;,
	an open source game engine written in JavaScript.
	Embedded below is &lt;a href=&quot;http://playbombada.appspot.com/&quot;&gt;Bombada&lt;/a&gt;,
	a game made with &lt;em&gt;Diggy&lt;/em&gt;:
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe frameborder=&quot;0&quot; src=&quot;http://playbombada.appspot.com/static/app.htm&quot; width=&quot;480&quot; height=&quot;320&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;
	&lt;em&gt;(Works best in
	&lt;a href=&quot;http://www.google.com/chrome&quot;&gt;Chrome&lt;/a&gt; or
	&lt;a href=&quot;http://www.apple.com/safari/&quot;&gt;Safari&lt;/a&gt;.)&lt;/em&gt;
&lt;/p&gt;

&lt;h2&gt;More about &lt;em&gt;Diggy&lt;/em&gt;&lt;/h2&gt;

&lt;p&gt;
	The name &quot;Diggy&quot; came from &lt;acronym title=&quot;DHTML Game Engine&quot;&gt;DGE,
	which stands for &lt;em&gt;&lt;acronym title=&quot;Dynamic Hypertext Markup Language&quot;&gt;DHTML&lt;/acronym&gt; Game Engine&lt;/em&gt;.
	It&#39;s a relatively full-featured game engine meant to empower developers to rapidly produce browser-based games.
&lt;/acronym&gt;&lt;/p&gt;

&lt;p&gt;
	You&#39;ve already seen what &lt;em&gt;Diggy&lt;/em&gt; can do, so here&#39;s what it is &lt;strong&gt;not&lt;/strong&gt;:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;A &lt;a href=&quot;http://sizzlejs.com/&quot;&gt;&lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt;&lt;/a&gt; selector.&lt;/li&gt;
	&lt;li&gt;An event manager.&lt;/li&gt;
	&lt;li&gt;A canvas or &lt;acronym title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/acronym&gt; library.&lt;/li&gt;
	&lt;li&gt;Useful for standard web apps.&lt;/li&gt;
	&lt;li&gt;Meant to do anything but make &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM games.&lt;/acronym&gt;&lt;/li&gt;
	&lt;li&gt;Very stable or ready to make enterprise games.&lt;/li&gt;
	&lt;li&gt;Still in development (at least by me).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	&lt;em&gt;(There are also &lt;a href=&quot;http://github.com/richtaur/diggy&quot;&gt;known issues&lt;/a&gt; to be aware of.)&lt;/em&gt;
&lt;/p&gt;

&lt;h2&gt;More about &lt;em&gt;Bombada&lt;/em&gt;&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4758225910/&quot;&gt;
	&lt;img alt=&quot;Bombada&quot; src=&quot;http://farm5.static.flickr.com/4122/4758225910_c45450a649_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	As you may have
	&lt;a href=&quot;https://www.lostdecadegames.com/why-you-cant-play-matts-dream-game-yet&quot;&gt;read previously&lt;/a&gt;,
	I&#39;m an amateur game developer.
	I&#39;ve never shipped a &quot;real&quot; game and &lt;em&gt;Bombada&lt;/em&gt; is a baby step towards fixing that.
	Here&#39;s more about the project:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
		&lt;em&gt;Bombada&lt;/em&gt; was orginally intended as an &lt;strong&gt;iPhone game&lt;/strong&gt; (hence the 480x320 resolution).
	&lt;/li&gt;
	&lt;li&gt;
		&lt;em&gt;Bombada&lt;/em&gt; was also intended to work with &lt;a href=&quot;http://nodejs.org/&quot;&gt;node&lt;/a&gt; (hence &lt;code&gt;match3.js&lt;/code&gt; being a separate file and attaching to the &lt;code&gt;exports&lt;/code&gt; object).
	&lt;/li&gt;
	&lt;li&gt;
		99% of the code was &lt;strong&gt;written from scratch&lt;/strong&gt; by me,
		with some exceptions being the easing library
		(borrowed from the
		&lt;a href=&quot;http://developer.yahoo.com/yui/animation/&quot;&gt;&lt;acronym title=&quot;Yahoo! User Interface&quot;&gt;YUI2&lt;/acronym&gt;&lt;/a&gt;
		library)
		and the
		&lt;a href=&quot;http://json.org/&quot;&gt;&lt;acronym title=&quot;JavaScript Object Notation&quot;&gt;JSON&lt;/acronym&gt; parser&lt;/a&gt;.
	&lt;/li&gt;
	&lt;li&gt;
		I also made the graphics, which are &lt;strong&gt;free to use&lt;/strong&gt; but have some
		&lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/us/&quot;&gt;Creative Commons&lt;/a&gt;
		restrictions.
	&lt;/li&gt;
	&lt;li&gt;
		The &lt;strong&gt;music and sound effects&lt;/strong&gt; were made by &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt;,
		a freelance music composer. Hire him, he&#39;s fantastic.
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	&lt;em&gt;Bombada&lt;/em&gt; ended up taking about &lt;strong&gt;7 months&lt;/strong&gt; of part-time development.
	But it&#39;s not that complex, so why did it take so long?
	Partly because as a fulltime web developer, I don&#39;t have a lot of free time.
	But also partly because I was building &lt;em&gt;Diggy&lt;/em&gt; along with it,
	so in theory any future games could be built much more rapidly.
&lt;/p&gt;

&lt;p&gt;
	I love postmortems, so I may write one up eventually comprised of what worked, what failed, and
	any valuable lessons learned. If that&#39;s something that would interest you, please let me know in the comments.
&lt;/p&gt;

&lt;h2&gt;Those links again please?&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;
		&lt;em&gt;Diggy&lt;/em&gt; game engine &lt;a href=&quot;http://github.com/richtaur/diggy&quot;&gt;source code on GitHub&lt;/a&gt;.
	&lt;/li&gt;
	&lt;li&gt;
		&lt;em&gt;Bombada&lt;/em&gt; puzzle game &lt;a href=&quot;http://github.com/lostdecade/bombada&quot;&gt;source code on GitHub&lt;/a&gt;.
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href=&quot;http://playbombada.appspot.com/&quot;&gt;Play Bombada&lt;/a&gt; in its own window.
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4768878908/&quot;&gt;
		&lt;img alt=&quot;Bombada original soundtrack album cover&quot; src=&quot;http://farm5.static.flickr.com/4096/4768878908_ed53554391_m.jpg&quot; /&gt;
	&lt;/a&gt;
	&lt;strong&gt;Edit 7/6/2010:&lt;/strong&gt;
	&lt;em&gt;Bombada&lt;/em&gt; composer
	&lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt;
	has put his excellent original soundtrack
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/bombada-original-soundtrack&quot;&gt;on sale over at Bandcamp&lt;/a&gt;.
	It&#39;s a steal at just $3 (or more if you&#39;re feeling generous).
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Our Boing Boing &quot;Games Inspired by Music&quot; entry - Onslaught!</title>
		<link href="https://www.lostdecadegames.com/our-boing-boing-games-inspired-by-music-entry/"/>
		<updated>2010-07-09T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/our-boing-boing-games-inspired-by-music-entry/</id>
		<content type="html">&lt;p&gt;&lt;a class=&quot;after&quot; href=&quot;http://www.boingboing.net/2010/07/07/games-inspired-by-mu-9.html&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4078/4777434649_ef03d55f04_m_d.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Our game, &lt;a title=&quot;Onslaught!&quot; href=&quot;http://www.boingboing.net/2010/07/07/games-inspired-by-mu-9.html&quot; target=&quot;_blank&quot;&gt;Onslaught!&lt;/a&gt;, has been selected as a finalist in &lt;a title=&quot;Games Inspired by Music&quot; href=&quot;http://www.boingboing.net/2010/07/08/games-inspired-by-mu-10.html&quot; target=&quot;_blank&quot;&gt;Boing Boing&#39;s &quot;Games Inspired by Music&quot; competition&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;Boing Boing Arcade&quot; href=&quot;http://www.boingboing.net/arcade/&quot; target=&quot;_blank&quot;&gt;Check out our entry along with the others&lt;/a&gt; and please vote for Onslaught! (Voting is handled at the bottom of &lt;a title=&quot;Boing Boing Arcade&quot; href=&quot;http://www.boingboing.net/arcade/&quot; target=&quot;_blank&quot;&gt;this page&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;If you don&#39;t care for all this contest nonsense you can &lt;a title=&quot;Play Onslaught!&quot; href=&quot;http://lostdecadegamesapp.appspot.com/&quot; target=&quot;_blank&quot;&gt;just play the game!&lt;/a&gt; We&#39;d love to hear your feedback on the game so don&#39;t hesitate to leave comments on this post!&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Onslaught! v0.2 &amp;amp; Freeplay Awards</title>
		<link href="https://www.lostdecadegames.com/onslaught-v02-freeplay-awards/"/>
		<updated>2010-07-19T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/onslaught-v02-freeplay-awards/</id>
		<content type="html">&lt;p&gt;
	&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4810592758/&quot;&gt; &lt;img src=&quot;http://farm5.static.flickr.com/4099/4810592758_26afaf2689_m.jpg&quot; alt=&quot;&quot; /&gt; &lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
	We&#39;ve been hard at work the last several weeks improving Onslaught! after &lt;a href=&quot;https://www.lostdecadegames.com/our-boing-boing-games-inspired-by-music-entry&quot; target=&quot;_self&quot;&gt;entering in the Boing Boing contest&lt;/a&gt; (Post-mortem coming soon!).
&lt;/p&gt;
&lt;p&gt;Now we&#39;re entering Onslaught! in the &lt;a href=&quot;http://www.freeplay.net.au/2010/06/freeplay-awards/&quot; target=&quot;_blank&quot;&gt;Freeplay Awards&lt;/a&gt;&amp;nbsp;with bunches of bug fixes and gameplay enhancements such as:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Brief invincibility when you get hit&lt;/li&gt;
	&lt;li&gt;Improved the &quot;30 second experience&quot; by giving the player two weapons to start&lt;/li&gt;
	&lt;li&gt;You can now cycle through your weapons with Z and X&lt;/li&gt;
	&lt;li&gt;Cyclops now throw rocks or energy balls&lt;/li&gt;
	&lt;li&gt;Improved the &quot;waves&quot; flow with gates opening/close&lt;/li&gt;
	&lt;li&gt;You can now pause the game by pressing P&lt;/li&gt;
	&lt;li&gt;Various behind-the-curtains improvements and bug fixes&lt;/li&gt;
	&lt;li&gt;Pain and death animations&lt;/li&gt;
	&lt;li&gt;Demoblin now gets near you and throws tridents&lt;/li&gt;
	&lt;li&gt;New title&lt;/li&gt;
	&lt;li&gt;Tweaked the hell out of gameplay&lt;/li&gt;
	&lt;li&gt;Added dragon boss!&lt;/li&gt;
	&lt;li&gt;Hit point bars for dragon and superclops&lt;/li&gt;
	&lt;li&gt;Got rid of rocks in favor of swords&lt;/li&gt;
	&lt;li&gt;How to play screen&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	Sounds great, right?
&lt;/p&gt;
&lt;p&gt;
	&lt;a title=&quot;Play Onslaught!&quot; href=&quot;http://lostdecadegamesapp.appspot.com/&quot; target=&quot;_blank&quot;&gt;Play Onslaught! v0.2!&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
	As always, we love feedback so leave us some comments here on the blog or &lt;a href=&quot;https://forums.lostdecadegames.com/&quot; target=&quot;_self&quot;&gt;in our forums&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
	(Matt scored around 500k the other night during testing, please take him down a notch and post screenshots of your higher scores!)
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Boing Boing Contest Post Mortem -- Onslaught!</title>
		<link href="https://www.lostdecadegames.com/boing-boing-contest-post-mortem-onslaught-0/"/>
		<updated>2010-07-20T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/boing-boing-contest-post-mortem-onslaught-0/</id>
		<content type="html">&lt;p&gt;
	There are a lot of game development contests out there, and for the longest time it&#39;s felt like we kept missing them.
	So when we heard about
	&lt;a href=&quot;http://www.boingboing.net/2010/06/14/games-inspired-by-mu.html&quot;&gt;Boing Boing&#39;s Music Inspired by Games&lt;/a&gt;
	contest, we decided to derail our current game project a bit and dive in. Here&#39;s our postmortem on how that went.
&lt;/p&gt;

&lt;h2&gt;The Game We Built&lt;/h2&gt;

&lt;p&gt;
	First things first, we built a
	&lt;a href=&quot;http://lostdecadegamesapp.appspot.com/&quot;&gt;game called Onslaught!&lt;/a&gt;
	which can be played in a
	&lt;a href=&quot;http://www.google.com/chrome&quot;&gt;canvas-enabled browser&lt;/a&gt;.
&lt;/p&gt;

&lt;h2&gt;What Worked Well&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4812629713/&quot; title=&quot;Games Inspired by Music by Lost Decade Games, on Flickr&quot;&gt;
	&lt;img src=&quot;http://farm5.static.flickr.com/4075/4812629713_26fe9cfe4f_m.jpg&quot; width=&quot;240&quot; height=&quot;138&quot; alt=&quot;Games Inspired by Music&quot; /&gt;
&lt;/a&gt;

&lt;ul&gt;
	&lt;li&gt;
		We are ambitious people but we did a surprisingly good job of
		&lt;strong&gt;finishing the damn thing&lt;/strong&gt;
		by &lt;strong&gt;pushing back on features&lt;/strong&gt;.
		There were excellent ideas such as &lt;strong&gt;4 playable classes&lt;/strong&gt;
		and &lt;strong&gt;multiple stages with different music&lt;/strong&gt;,
		but none of it seemed feasible in the 2-3 weeks of time that we had.
		So that feels like the one thing that we did really well.
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href=&quot;http://github.com/lostdecade&quot;&gt;GitHub&lt;/a&gt; and
		&lt;a href=&quot;https://www.dropbox.com/referrals/NTUxMTM0Mjk&quot;&gt;Dropbox&lt;/a&gt;
		worked out very well for organization and collaboration.
		These are such fantastic sharing services that you can use right now for free.
	&lt;/li&gt;
	&lt;li&gt;
		We had a good, &lt;strong&gt;concrete definition of our game&lt;/strong&gt; that we could refer to often when wondering which features to include.
		Our mantra was &quot;a medieval fantasy Smash-TV&quot;, which helped the direction we went immensely.
	&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;What Didn&#39;t Work So Well&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;
		Our
		&lt;a href=&quot;http://code.google.com/appengine/&quot;&gt;Google App Engine&lt;/a&gt;
		account wasn&#39;t billing-enabled, so &lt;strong&gt;our game page went down almost &lt;em&gt;immediately&lt;/em&gt;&lt;/strong&gt; after the contest began.
		And that&#39;s a mistake that
		&lt;a href=&quot;https://www.lostdecadegames.com/diggy-open-source-javascript-game-engine-with&quot;&gt;Matt&lt;/a&gt;
		should have learned from having &quot;launched&quot;
		&lt;a href=&quot;https://www.lostdecadegames.com/diggy-open-source-javascript-game-engine-with&quot;&gt;Bombada&lt;/a&gt;
		just recently.
		Lesson learned now, &lt;strong&gt;twice&lt;/strong&gt;!
	&lt;/li&gt;
	&lt;li&gt;
		We also &lt;strong&gt;did not include Google Analytics&lt;/strong&gt;.
		We figured &lt;em&gt;App Engine&lt;/em&gt; had some kind of analytics-like service for free, but nope.
		&lt;em&gt;Google Analytics&lt;/em&gt; is easy to setup and can provide invaluable feedback, and we hadn&#39;t installed it until recently, so we fucked up.
	&lt;/li&gt;
	&lt;li&gt;
		We &lt;strong&gt;didn&#39;t make it clear that flash was required for audio&lt;/strong&gt;.
		We received many comments about audio not working.
		Blocking flash is common, especially for savvy Internet users.
		And for &lt;em&gt;this&lt;/em&gt; contest especially, music was integral.
		Not letting the players know that was a mistake.
	&lt;/li&gt;
	&lt;li&gt;
		Should have &lt;strong&gt;made the keyboard controls&lt;/strong&gt; easier to discover.
		We did include some text on the title page of how to play, but it wasn&#39;t enough; many people said they couldn&#39;t figure out how to move or fire.
	&lt;/li&gt;
	&lt;li&gt;
		We should have been more clear in our email to
		&lt;a href=&quot;http://boingboing.net/&quot;&gt;Boing Boing&lt;/a&gt;
		that this was a game by &lt;em&gt;Lost Decade Games&lt;/em&gt;.
		On the
		&lt;a href=&quot;http://www.boingboing.net/arcade/&quot;&gt;arcade page&lt;/a&gt;, it says
		&quot;Matt Hackett&#39;s Onslaught!&quot; which isn&#39;t fair because
		&lt;a href=&quot;http://geoffblair.com/&quot;&gt;Geoff&lt;/a&gt; did the lion&#39;s share of the code.
		We were pleased to see a direct link to
		&lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&#39;s personal website&lt;/a&gt;,
		which we think everyone should check out because his music is so incredible.
	&lt;/li&gt;
	&lt;li&gt;
		We did not build a game that would thrive in the &lt;strong&gt;30 second experience&lt;/strong&gt; domain.
		Here&#39;s what we mean: with 9 entries, people only have a minute or two at max of patience for each game.
		Our game was challenging immediately: you&#39;re fighting off goblins and bats with rocks.
		That&#39;s not fun. We feel that our game can get pretty compelling for fans of the genre eventually, but only after 2-3 minutes, once you&#39;ve collected
		better weapons and are fighting cooler enemies like &lt;em&gt;cyclops&lt;/em&gt; or &lt;em&gt;a dragon&lt;/em&gt;.
		&lt;p&gt;
			The 30 second experience is especially important in a contest which is based on users votes rather than of a panel of judges. Random visitors aren&#39;t going to give your game a fair shot if you don&#39;t &lt;strong&gt;hook them within the first 30 seconds&lt;/strong&gt;.
		&lt;/p&gt;
		&lt;p&gt;
			For those interested, we believe we have created a better &lt;em&gt;30 second experience&lt;/em&gt;
			by removing rocks in favor of swords, providing two weapons to start with, and getting into the action quicker (goblins instead of bats in the first wave).
			It&#39;s now more fun to play immediately, which is great for anyone who plays.
		&lt;/p&gt;
		&lt;p&gt;Don&#39;t take our word for it, though. &lt;a href=&quot;http://lostdecadegamesapp.appspot.com/&quot;&gt;Play it yourself&lt;/a&gt; and leave your feedback here on the blog or &lt;a href=&quot;https://forums.lostdecadegames.com/&quot;&gt;in our forums&lt;/a&gt;.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;The URL is forever.&lt;/strong&gt;
		We submitted our entry at
		&lt;a href=&quot;http://lostdecadegamesapp.appspot.com/&quot;&gt;http://lostdecadegamesapp.appspot.com/&lt;/a&gt;,
		which we intended to use for other things as well.
		But the game itself is in the root directory, and we&#39;ve noticed that some good folks out there have
		&lt;a href=&quot;http://www.retromundi.com/games/beatemup-games/onslaught.html&quot;&gt;embedded Onslaught! as an iframe&lt;/a&gt;,
		which is great, but now if we ever change that page
		we&#39;re going to be providing broken experiences for potential players and pissing some people off.
		That won&#39;t do! So the URL is permanent and we can never have anything there but a playable version of &lt;em&gt;Onslaught!&lt;/em&gt;.
		Lesson learned.
	&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4813905516/&quot;&gt;
	&lt;img alt=&quot;Onslaught! dragon&quot; src=&quot;http://farm5.static.flickr.com/4135/4813905516_f6e55409d4_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	We made some mistakes and learned some valuable lessons.
	And now we have something that we can (and have!) submitted to
	&lt;a href=&quot;http://www.freeplay.net.au/2010/06/freeplay-awards/&quot;&gt;other contests&lt;/a&gt;.
	And the great thing is that, for the &lt;em&gt;Free Play&lt;/em&gt; contest,
	we were able to spend most of our time tweaking gameplay for fun factor instead of building from scratch.
&lt;/p&gt;

&lt;p&gt;
	Also, having a &lt;strong&gt;hard deadline that you cannot push back&lt;/strong&gt; can be very good for productivity.
	All in all, it was a great experience and we highly recommending entering a contest if you happen to come across one.
&lt;/p&gt;

&lt;h2&gt;Links!&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;Play the &lt;a href=&quot;http://2.latest.lostdecadegamesapp.appspot.com/&quot;&gt;version of Onslaught!&lt;/a&gt; that we entered in the &lt;em&gt;Boing Boing&lt;/em&gt; contest.&lt;/li&gt;
	&lt;li&gt;Play the &lt;a href=&quot;http://lostdecadegamesapp.appspot.com/&quot;&gt;latest version of Onslaught!&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;Play &lt;a href=&quot;http://www.boingboing.net/arcade/&quot;&gt;all 9 contest entries&lt;/a&gt;.
&lt;/li&gt;&lt;/ul&gt;</content>
	</entry>
	
	
	<entry>
		<title>Fun With Logos</title>
		<link href="https://www.lostdecadegames.com/fun-with-logos/"/>
		<updated>2010-07-25T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/fun-with-logos/</id>
		<content type="html">&lt;p&gt;
	Whenever I have free time to work on game development,
	I always struggle to concentrate on the &lt;strong&gt;game development itself&lt;/strong&gt;.
	Sometimes I lose this struggle and I work on something peripheral like
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/sets/72157624259233822/&quot;&gt;logo design&lt;/a&gt;.
	That happened recently, and here&#39;s what came out of it:
&lt;/p&gt;

&lt;p&gt;
	&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4693243921/&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games sign logo&quot; src=&quot;http://farm5.static.flickr.com/4052/4693243921_47f9778372_m.jpg&quot; /&gt;
	&lt;/a&gt;
	For some reason I kept picturing the name engraved in gold.
	And I was thinking it would be cool for the logo to look like a &lt;em&gt;ye olde tavern&lt;/em&gt; sign,
	like an &quot;INN&quot; sign in &lt;a href=&quot;http://rpgclassics.com/&quot;&gt;classic RPGs&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
	I didn&#39;t spend much time on this beore I realized I was going in the wrong direction.
	It looks more like a piece of ugly jewelry glued to a sign hanging by thick string.
&lt;/p&gt;

&lt;p style=&quot;clear: both;&quot;&gt;
	&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4693243401/&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games playground logo&quot; src=&quot;http://farm5.static.flickr.com/4039/4693243401_d6745f961f_m.jpg&quot; /&gt;
	&lt;/a&gt;
	And here&#39;s a different approach: an abandoned playground.
	I definitely dig the style
	(I swear some movie company had an animated logo that had a similar look and it was really cool. Anybody know what that is?)
	and I like how it plays on the company name.
	But overall it made me more sad than motivated.
	Maybe &amp;#8230; maybe I am just too sensitive &amp;#8230;
&lt;/p&gt;

&lt;p style=&quot;clear: both;&quot;&gt;
	&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4693879442/&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games hourglass logo&quot; src=&quot;http://farm5.static.flickr.com/4044/4693879442_ec692f7cc5_m.jpg&quot; /&gt;
	&lt;/a&gt;
	I was actually really pleased with how this concept turned out.
	The hourglass represents the idea from the company name about
	&lt;a href=&quot;https://www.lostdecadegames.com/why-geoff-failed-and-the-road-to-redemption&quot;&gt;lost&lt;/a&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/why-you-cant-play-matts-dream-game-yet&quot;&gt;time&lt;/a&gt;,
	and the sand falling on the dragon represents the medieval fantasy game we&#39;ve been wanting to make.
	The main problem is: how do you make a logo out of that?
	If a &lt;a href=&quot;http://www.google.com/logos/official.html&quot;&gt;logo is rectangular, it&#39;s usually horizontal&lt;/a&gt;.
	We could cut out the top portion but then it looks odd, with the glass stopping at the edge of the image.
&lt;/p&gt;

&lt;p&gt;
	Plus, the idea of a sundial came up, and that sounded really cool for some reason &amp;#8230;
&lt;/p&gt;

&lt;p style=&quot;clear: both;&quot;&gt;
	&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4693244353/&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games sundial (iron) logo&quot; src=&quot;http://farm5.static.flickr.com/4044/4693244353_9076dee919_m.jpg&quot; /&gt;
	&lt;/a&gt;
	This was my first shot at the sundial concept.
	I modeled it after an actual sundial we had in our yard while growing up.
	It looks very similar except there was a character where the title is (I think it was the Grim Reaper).
	The idea of making the center piece
	(the part that casts a shadow to tell the time) a sword came late in the design, which I felt made the whole thing come together.
&lt;/p&gt;

&lt;p style=&quot;clear: both;&quot;&gt;
	&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4693879754/&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games sundial (copper) logo&quot; src=&quot;http://farm5.static.flickr.com/4049/4693879754_0074cc265e_m.jpg&quot; /&gt;
	&lt;/a&gt;
	This is a deeper dive into the initial sundial concept.
	Copper replaced iron because it strikes me as a very medieval-fantasy type of metal
	(probably because it was the first decent
	&lt;a href=&quot;http://shrines.rpgclassics.com/nes/dw1/weapons.shtml&quot;&gt;weapon to buy in Dragon Warrior&lt;/a&gt;).
	Then some texture was added to the face, the hilt of the sword got more design attention,
	and the title was enlarged.
&lt;/p&gt;

&lt;p&gt;
	Overall I think we were pretty happy with it, but we collaborated on an idea
	to have a &lt;strong&gt;stone&lt;/strong&gt; sundial, where the center piece is actually an
	&lt;strong&gt;axe that was just slammed into the sundial whoooaaaaaa&lt;/strong&gt;!
	We thought this was awesomely &lt;em&gt;metal&lt;/em&gt; so &amp;#8230;
&lt;/p&gt;

&lt;p style=&quot;clear: both;&quot;&gt;
	&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4693879996/&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games &quot; src=&quot;http://farm5.static.flickr.com/4023/4693879996_36f5ee9cc9_m.jpg&quot; /&gt;
	&lt;/a&gt;
	Here it is!
	We&#39;re really happy with it and we hope it conveys &quot;young company that makes medieval fantasy games for you to enjoy,&quot;
	because that was our goal.
&lt;/p&gt;

&lt;p&gt;
	The &quot;Lost Decade Games&quot; text itself hasn&#39;t seen much design attention yet;
	I think that&#39;s something that we&#39;ll iterate on.
	But in the meantime, now we have an image to attach to our
	&lt;a href=&quot;http://twitter.com/lostdecadegames&quot;&gt;various&lt;/a&gt;
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/&quot;&gt;online&lt;/a&gt;
	&lt;a href=&quot;http://delicious.com/lostdecadegames&quot;&gt;accounts&lt;/a&gt;,
	which should satisfy our &lt;acronym title=&quot;Obsessive compulsive disorder&quot;&gt;OCD&lt;/acronym&gt; for now.
&lt;/p&gt;

&lt;p style=&quot;clear: both;&quot;&gt;
	&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4693244785/&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games turd lolgo&quot; src=&quot;http://farm5.static.flickr.com/4066/4693244785_c3655f8c2e_m.jpg&quot; /&gt;
	&lt;/a&gt;
	&lt;strong&gt;Oh boy bonus!&lt;/strong&gt;
	I admit there are some designs we&#39;re not showing here because they&#39;re embarrassingly bad.
	Here&#39;s an example: I was exploring the idea of using the name of the company in the design itself,
	and I formed the words into the shape of a sword.
&lt;/p&gt;

&lt;p&gt;
	It was a decent idea in my head, but in
	&lt;a href=&quot;http://www.mydamnchannel.com/You_Suck_at_Photoshop/Season_1/YouSuckAtPhotoshop1DistortWarpandLayerEffects_1373.aspx&quot;&gt;Photoshop&lt;/a&gt;
	it looked so bad I thought it deserved a turd for a handle.
&lt;/p&gt;

&lt;p&gt;
	Oh, we also recently added a
	&lt;a href=&quot;http://www.moddb.com/company/lost-decade-games&quot;&gt;developer page on Mod DB&lt;/a&gt;
	(and &lt;a href=&quot;http://www.indiedb.com/company/lost-decade-games&quot;&gt;Indie DB&lt;/a&gt;, though I don&#39;t understand the difference)
	which had ridiculous logo requirements like image resolutions at:
	&lt;strong&gt;940x360&lt;/strong&gt;,
	&lt;strong&gt;950x150&lt;/strong&gt; and
	&lt;strong&gt;1024x768&lt;/strong&gt;.
	Isn&#39;t that odd? Anyway you can see more (huge!) versions of the final logo
	&lt;a href=&quot;http://www.moddb.com/company/lost-decade-games&quot;&gt;there&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
	Have you worked on a logo before? What problems did you have and what worked well?
	Or better yet, have you
	&lt;a href=&quot;http://blog.wolfire.com/2010/06/Evolution-of-the-Wolfire-Logo&quot;&gt;blogged about it&lt;/a&gt;
	like the &lt;a href=&quot;http://www.wolfire.com/&quot;&gt;Wolfire&lt;/a&gt; guys?
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>A Simple Guide to Game Development Contests</title>
		<link href="https://www.lostdecadegames.com/a-simple-guide-to-game-development-contests/"/>
		<updated>2010-07-30T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/a-simple-guide-to-game-development-contests/</id>
		<content type="html">&lt;h2&gt;How do you find out about these things?&lt;/h2&gt;

&lt;p&gt;
	I hear about game development contests relatively often,
	but it&#39;s almost always too late to enter.
	I end up just being frustrated and wonder:
	&quot;Where do people find out about these contests?&quot;
&lt;/p&gt;

&lt;p&gt;
	We&#39;ve recently been more fortunate and have been able to successfully enter
	&lt;a href=&quot;https://www.lostdecadegames.com/boing-boing-contest-post-mortem-onslaught-0&quot;&gt;two&lt;/a&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/onslaught-v02-freeplay-awards&quot;&gt;contests&lt;/a&gt;.
	And here&#39;s how we finally were able to find out about them in time:
	&lt;strong&gt;by subscribing to insane amount of gaming news&lt;/strong&gt;.
	Below is a list of game development related news sites, feeds and other resources.
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4812629713/&quot;&gt;&lt;img alt=&quot;Boing Boing&#39;s Games Inspired by Music contest&quot; src=&quot;http://farm5.static.flickr.com/4075/4812629713_26fe9cfe4f_m.jpg&quot; /&gt;&lt;/a&gt;

&lt;h2&gt;News sites:&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;
		&lt;a href=&quot;http://gamasutra.com/&quot;&gt;Gamasutra&lt;/a&gt;
		&amp;bull; &lt;a href=&quot;http://feeds.feedburner.com/GamasutraNews&quot;&gt;News RSS&lt;/a&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href=&quot;http://www.gamedev.net/&quot;&gt;GameDev.net&lt;/a&gt;
		&amp;bull; &lt;a href=&quot;http://www.gamedev.net/xml/&quot;&gt;RSS&lt;/a&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href=&quot;http://www.globalgamejam.org/&quot;&gt;Global Game Jam&lt;/a&gt;
		&amp;bull; &lt;a href=&quot;http://www.globalgamejam.org/rss.xml&quot;&gt;RSS&lt;/a&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href=&quot;http://www.igf.com/&quot;&gt;Independent Games Festival&lt;/a&gt;
		&amp;bull; &lt;a href=&quot;http://feeds2.feedburner.com/igfnews&quot;&gt;News RSS&lt;/a&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href=&quot;http://www.reddit.com/r/IndieGaming&quot;&gt;reddit IndieGaming&lt;/a&gt;
		&amp;bull; &lt;a href=&quot;http://www.reddit.com/r/IndieGaming/.rss&quot;&gt;RSS&lt;/a&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href=&quot;http://www.tigsource.com/&quot;&gt;TIGSource&lt;/a&gt;
		&amp;bull; &lt;a href=&quot;http://www.tigsource.com/feed/&quot;&gt;RSS&lt;/a&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Indie-related Twitter profiles:&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://twitter.com/triptych&quot;&gt;Andrew Wooldridge&lt;/a&gt; - random game news and web development links from a professional web developer.&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://twitter.com/IndieDB&quot;&gt;IndieDB&lt;/a&gt; - News, insight and media direct from the developers. &lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://twitter.com/indiegamescom&quot;&gt;IndieGames.com&lt;/a&gt; - The latest independent games news, interviews, and features, from the makers of Gamasutra.&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://twitter.com/jseidelin&quot;&gt;Jacob Seidelin&lt;/a&gt; - Ridiculously good &lt;a href=&quot;http://blog.nihilogic.dk/&quot;&gt;JavaScript hacker&lt;/a&gt; and creator of &lt;a href=&quot;http://javascriptgaming.com/&quot;&gt;javascriptgaming.com&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://twitter.com/makegames&quot;&gt;Make Games&lt;/a&gt; - A collection of interesting games and game design related links. High content, no noise. (From a current Twitter employee and previous co-worker of mine, &lt;a href=&quot;http://twitter.com/k&quot;&gt;Kevin Cheng&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://twitter.com/Wolfire&quot;&gt;Wolfire&lt;/a&gt; - An independent game company (they blog almost every single day, yowza).&lt;/li&gt;
	&lt;li&gt;Of course there&#39;s also &lt;a href=&quot;http://twitter.com/lostdecadegames&quot;&gt;our Twitter profile&lt;/a&gt; where we tweet about our own doings and game-related news.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	&lt;em&gt;Do you know of any additional resources for game development contest news?
	Please let me know and I&#39;ll happily add them to the list.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
	So now that you &lt;strong&gt;know&lt;/strong&gt; about these contests coming up &amp;#8230;
&lt;/p&gt;

&lt;h2&gt;How do you know if you should enter?&lt;/h2&gt;

&lt;p&gt;
	So you found out about an upcoming contest and you&#39;re interested.
	Should you try to put a game together to enter into the contest?
	This is a difficult question.
	First:
	&lt;strong&gt;is it a good fit?&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
	If the contest requires that your game is built on
	&lt;a href=&quot;http://unity3d.com/&quot;&gt;Unity&lt;/a&gt;
	but all of your experience is with
	&lt;a href=&quot;http://www.pygame.org/news.html&quot;&gt;pygame&lt;/a&gt;,
	that&#39;s probably a good sign to forget about the
	contest and get back to whatever else you were doing.
&lt;/p&gt;

&lt;p&gt;
	It &lt;em&gt;could&lt;/em&gt; be that the contest is so amazing that it&#39;s worth derailing your current project,
	starting a new one, or learning a new language,
	but I&#39;d seriously advise against that.
	I think it&#39;s a good adage to &lt;strong&gt;finish what you&#39;ve started&lt;/strong&gt;
	and &lt;strong&gt;play to your strengths&lt;/strong&gt;.
	You might be able to enter a contest outside of your skill set, but you&#39;d probably make a better game just for yourself for fun.
	So I guess what you should ask yourself is:
&lt;/p&gt;

&lt;h2&gt;Will you benefit from entering?&lt;/h2&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4844819097/&quot;&gt;&lt;img alt=&quot;Onslaught! &#39;box art&#39;&quot; src=&quot;http://farm5.static.flickr.com/4084/4844819097_f169bb11f9_m.jpg&quot; /&gt;&lt;/a&gt;

&lt;p&gt;
	On the surface, this is another way of asking, &lt;strong&gt;Could you win?&lt;/strong&gt;
	The benefit of winning many of these contests is clear: for example,
	with the recently-announced
	&lt;a href=&quot;http://www.activision.com/index.html#sweepstakes|en_US&quot;&gt;Activision contest&lt;/a&gt;,
	the grand prize is something like &lt;em&gt;$100k&lt;/em&gt; and a publishing deal. That&#39;s pretty major!
	But keep in mind that with a prize like that, you&#39;re going to get some very polished entries by some veteran game developers.
	The competition will be intense.
&lt;/p&gt;

&lt;p&gt;
	So, maybe you can win and maybe you can&#39;t;
	other benefits can arise from entering.
	For example, if you read our
	&lt;a href=&quot;https://www.lostdecadegames.com/boing-boing-contest-post-mortem-onslaught-0&quot;&gt;postmortem on the Boing Boing contest&lt;/a&gt;,
	you saw that we were driven by the hard, unchangeable deadline,
	which was great because we often can&#39;t find motivation.
	We also made a bunch of mistakes and learned from them, which is another beneficial side effect.
&lt;/p&gt;

&lt;p&gt;
	Merely being involved in a contest can also get some much desired attention to your game.
	According to
	&lt;a href=&quot;http://www.google.com/analytics/&quot;&gt;Google Analytics&lt;/a&gt;,
	&lt;a href=&quot;http://boingboing.net/&quot;&gt;Boing Boing&lt;/a&gt; has referred over &lt;em&gt;1,500&lt;/em&gt; people to our game
	&lt;a href=&quot;http://lostdecadegamesapp.appspot.com/&quot;&gt;Onslaught!&lt;/a&gt;.
	That&#39;s not much from a big business perspective, but for a tiny and unknown team like ours, it&#39;s great!
&lt;/p&gt;

&lt;h2&gt;Determining if a contest or promotion is shady&lt;/h2&gt;

&lt;p&gt;
	So you found a contest, you figured it&#39;s worth your time for one reason or another, and now you&#39;re in!
	You want to enter.
	Just please do one more quick thing first: &lt;strong&gt;make sure the contest isn&#39;t shady&lt;/strong&gt;.
	You can do that by &lt;strong&gt;reading the fine print and getting a second opinion&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
	If you&#39;re seriously considering entering, it&#39;s probably worth your time to read the fine print.
	It&#39;s certainly not fun reading,
	but you could get into a bind otherwise: a single sentence could disqualify your game
	or remove your rights to your
	&lt;a href=&quot;http://en.wikipedia.org/wiki/Intellectual_property&quot;&gt;intellectual property&lt;/a&gt;.
	Fortunately, there are resources out there to help you.
&lt;/p&gt;

&lt;p&gt;
	The guys over at
	&lt;a href=&quot;http://wolfire.com/&quot;&gt;Wolfire&lt;/a&gt;
	often write about the bigger contests
	(&lt;a href=&quot;http://blog.wolfire.com/2010/06/Activision-Indie-Games-Competition&quot;&gt;like they recently did&lt;/a&gt;).
	For &lt;em&gt;that&lt;/em&gt; particular contest, you can also get
	&lt;a href=&quot;http://gameattorney.com/blog/?p=89&quot;&gt;insight&lt;/a&gt;
	from
	&lt;a href=&quot;http://gameattorney.com/&quot;&gt;Tom Buscaglia&lt;/a&gt;:
	&lt;a href=&quot;http://twitter.com/gameattorney&quot;&gt;The Game Attorney&lt;/a&gt; (a real attorney!).
&lt;/p&gt;

&lt;p&gt;
	Now, if you can&#39;t &lt;strong&gt;find&lt;/strong&gt; the fine print, that&#39;s a bad sign right there.
	A legitimate company running a &quot;real&quot; contest is going to have documentation to cover their asses.
	If you&#39;re just entering into a
	&lt;a href=&quot;http://gamejolt.com/community/forums/topics/game-jolt-s-second-jam/613/&quot;&gt;quick weekend contest&lt;/a&gt;
	like the fine folks over at &lt;a href=&quot;http://gamejolt.com/&quot;&gt;Game Jolt&lt;/a&gt; regularly hold, that&#39;s fine.
	But if there&#39;s supposedly a cash prize, and you&#39;re going to expend hard-earned time and/or money on your project,
	it had damned well better be legit.
&lt;/p&gt;

&lt;p&gt;
	When in doubt, why not ask your
	&lt;a href=&quot;http://forums.indiegamer.com/&quot;&gt;indie game development peers&lt;/a&gt;?
	Late last year I bumped into an interesting thread with the subject
	&lt;a href=&quot;http://forums.indiegamer.com/showthread.php?t=18518&quot;&gt;Indie Game Competition - $15k and possible publishing deals!&lt;/a&gt;.
	What was interesting to me was
	&lt;a href=&quot;http://forums.indiegamer.com/showpost.php?p=207401&amp;amp;postcount=3&quot;&gt;a post&lt;/a&gt;
	that said:
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;
	And you still owe me over $250,000. I also found out I am not the only developer being scammed by Zoo Games, so this should be a warning to everyone here.
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;
	I&#39;m not going to pretend to know what&#39;s going on there, but it doesn&#39;t &lt;em&gt;smell&lt;/em&gt; right, know what I mean?
	For that reason, I&#39;d have passed on that contest.
&lt;/p&gt;

&lt;h2&gt;Decide quickly and move on with your development&lt;/h2&gt;

&lt;p&gt;
	The most important thing is not to be affected by &lt;a href=&quot;http://en.wikipedia.org/wiki/Analysis_paralysis&quot;&gt;decision paralysis&lt;/a&gt;.
	In the past I&#39;ve spent an embarassing amount of time just &lt;em&gt;thinking&lt;/em&gt; about these sort of contests.
	And in the end I never entered, so all I had to show for it was a ton of lost time.
	Think about it this way: &lt;strong&gt;you&#39;re probably going to keep making games either way&lt;/strong&gt;,
	aren&#39;t you?
	So set aside a little time to determine if it&#39;s worth your while,
	then move on and get back to making games!
&lt;/p&gt;

&lt;p&gt;
	Have I missed any important steps?
	Have you had any luck (good or bad) with these contests?
	Hope to hear from you.
&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Puzzle Punk -- a Postmortem on a Failed Puzzle Quest Clone</title>
		<link href="https://www.lostdecadegames.com/puzzle-punk-a-postmortem-on-a-failed-puzzle-q/"/>
		<updated>2010-08-14T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/puzzle-punk-a-postmortem-on-a-failed-puzzle-q/</id>
		<content type="html">&lt;h2&gt;My vicious cycle&lt;/h2&gt;

&lt;p&gt;
	Something had to give.
	I&#39;d been
	&lt;a href=&quot;https://www.lostdecadegames.com/why-you-cant-play-matts-dream-game-yet&quot;&gt;trying and failing&lt;/a&gt;
	to make my game idea a reality for years and years.
	The vision was simple: &lt;strong&gt;an online, multiplayer retro &lt;acronym title=&quot;Role-Playing Game&quot;&gt;RPG&lt;/acronym&gt;&lt;/strong&gt;.
	I guess the term would have been
	&lt;a href=&quot;http://www.massively.com/&quot; title=&quot;Massively Multiplayer Online Role-Playing Game&quot;&gt;MMORPG&lt;/a&gt;
	but I&#39;d been working on various implementations of this project long before the days of
	&lt;a href=&quot;http://www.worldofwarcraft.com/&quot;&gt;World of Warcraft&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
	I remember being a kid and &lt;em&gt;longing&lt;/em&gt; to play games
	in the time of
	&lt;a href=&quot;http://www.shiningforcecentral.com/&quot;&gt;Shining Force&lt;/a&gt; and
	&lt;a href=&quot;http://shrines.rpgclassics.com/snes/som/&quot;&gt;Secret of Mana&lt;/a&gt;.
	I had that same longing, but this time it was to make my own game.
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4656666809/in/set-72157624517441461/&quot;&gt;
	&lt;img alt=&quot;Valadria (super alpha)&quot; src=&quot;http://farm5.static.flickr.com/4046/4656666809_625a796787_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Eventually I started referring to my game project as &lt;strong&gt;Valadria&lt;/strong&gt;.
	Sure, I&#39;d go off on &lt;a href=&quot;http://olremix.org/&quot;&gt;tangents&lt;/a&gt;
	and I&#39;d sometimes work on &lt;a href=&quot;http://scriptnode.com/lab/spacius/&quot;&gt;other little crappy games&lt;/a&gt;,
	but I&#39;d &lt;em&gt;always&lt;/em&gt; come back to this core retro RPG concept.
&lt;/p&gt;

&lt;p&gt;
	&lt;em&gt;
		My last iteration of &lt;strong&gt;Valadria&lt;/strong&gt; is
		&lt;a href=&quot;http://playvaladria.appspot.com/&quot;&gt;up on App Engine&lt;/a&gt;.
		It&#39;s a very early prototype, but it&#39;s playable.
		I&#39;ve also &lt;a href=&quot;http://github.com/richtaur/Valadria&quot;&gt;put the source on GitHub&lt;/a&gt;
		(something I wish I&#39;d been able to do with each of my iterations over the years).
	&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
	So I had a pretty good idea about the game I wanted to build,
	but I&#39;d been working on it for years with very little to show for it.
	Here was my vicious cycle:
&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;For some unexplainable reason, my dream game would pop into my head, and &lt;strong&gt;I&#39;d get motivated&lt;/strong&gt;.&lt;/li&gt;
	&lt;li&gt;
		I&#39;d scrounge up freetime between work, school, social life and gaming,
		and I&#39;d put whatever knowledge I had together towards &lt;strong&gt;making the game&lt;/strong&gt;.
	&lt;/li&gt;
	&lt;li&gt;
		Eventually (and this was inevitable), I&#39;d hit a hurdle and &lt;strong&gt;stop working&lt;/strong&gt;.
		Graphics, music, networking code, whatever.
		Something would kill my motivation, most often the hopeless feeling of knowing I&#39;d never finish what
		I&#39;d started.
		This step felt like &lt;em&gt;getting fired or dumped&lt;/em&gt;; it was heartbreaking.
	&lt;/li&gt;
	&lt;li&gt;Rinse, &lt;strong&gt;repeat&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
	&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4855358427/&quot;&gt;
		&lt;img alt=&quot;Puzzle Punk: loading_complete&quot; src=&quot;http://farm5.static.flickr.com/4096/4855358427_362cee4609_m.jpg&quot; /&gt;
	&lt;/a&gt;

	&lt;em&gt;And&lt;/em&gt; it should be noted that every time I went through the first step, I&#39;d start from scratch.
	It had been months or &lt;em&gt;years&lt;/em&gt; since the last iteration,
	so the code was gross and the ideas were stale.
	I had been repeating this process for over 10 years.
&lt;/p&gt;

&lt;p&gt;
	It can take time to learn, especially when you&#39;re so close to something that you become blind to it.
	I didn&#39;t notice this cycle. I just thought I liked making games in my free time.
	What&#39;s wrong with that?
	But it wasn&#39;t that simple and it wasn&#39;t that harmless.
	I was suffering from a repeated, defeating, soul-crushing feeling of hopelessness every few years
	when I&#39;d get fed up without getting anywhere and shelve my dream game.
	It was making me depressed and negatively affecting other areas of my life.
	And when I finally realized this, I took action to prevent it.
&lt;/p&gt;

&lt;h2&gt;My prevention plan&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4855358605/&quot;&gt;
	&lt;img alt=&quot;Puzzle Punk: select_a_character&quot; src=&quot;http://farm5.static.flickr.com/4093/4855358605_7fcaf16472_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	How was I going to stop this vicious cycle?
	I had recently read
	&lt;a href=&quot;http://amzn.to/16Do5NZ&quot;&gt;Switch: How to Change Things When Change Is Hard&lt;/a&gt;
	which inspired me to fix areas of my life that felt broken.
	And so the next time I was motivated to work on &lt;strong&gt;Valadria&lt;/strong&gt;,
	I instead focused my attention on examining why the project always failed and what to do about it.
&lt;/p&gt;

&lt;p&gt;
	After much internal debating, whiteboarding and sleepless nights, here was my plan:
&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
		Create a JavaScript
		&lt;a href=&quot;http://github.com/richtaur/diggy&quot;&gt;game engine&lt;/a&gt;
		and use it to build a simple match-3 game.
	&lt;/li&gt;
	&lt;li&gt;
		Extend this same engine and create a
		&lt;a href=&quot;http://en.wikipedia.org/wiki/Puzzle_Quest:_Challenge_of_the_Warlords&quot;&gt;Puzzle Quest&lt;/a&gt;
		clone.
	&lt;/li&gt;
	&lt;li&gt;
		Extend this new engine to build my dream game, an online
		&lt;a href=&quot;http://playvaladria.appspot.com/&quot;&gt;retro RPG&lt;/a&gt;.
	&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
	This list probably looks really unexpected for an amateur indie developer who wants to work on retro RPGs.
	So let me explain my line of thinking &amp;#8230;
&lt;/p&gt;

&lt;h3&gt;Why a match-3 game in JavaScript?&lt;/h3&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4855358387/&quot;&gt;
	&lt;img alt=&quot;Puzzle Punk: create_a_character&quot; src=&quot;http://farm5.static.flickr.com/4081/4855358387_503a9b5ee6_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Over the years, I had tried to build &lt;strong&gt;Valadria&lt;/strong&gt; in everything from
	&lt;em&gt;QBASIC&lt;/em&gt; to &lt;em&gt;C++&lt;/em&gt; to &lt;em&gt;Turbo Pascal&lt;/em&gt;.
	When I was 23, I started working as a &lt;a href=&quot;http://php.net/&quot;&gt;PHP programmer&lt;/a&gt;,
	which got me looking more seriously at &lt;a href=&quot;http://flixel.org/&quot;&gt;Flash&lt;/a&gt;
	and &lt;a href=&quot;http://crockford.com/&quot;&gt;JavaScript&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
	&lt;em&gt;Flash&lt;/em&gt; was pretty cool (&lt;em&gt;ActionScript 3&lt;/em&gt; is particularly wonderful)
	but I was learning the most about JavaScript and I felt the most comfortable with it.
	So after a few more failures and still feeling pulled to JavaScript,
	I just said &quot;fuck it&quot; and decided to use it, even though it had never really been tested as a true gaming language.
&lt;/p&gt;

&lt;p&gt;
	And I know what you may have thought: &quot;Just what the world needs: another match-3 game.&quot;
	I feel the same way, I do; I&#39;ll explain in the next section.
&lt;/p&gt;

&lt;h3&gt;What? A &lt;em&gt;Puzzle Quest&lt;/em&gt; clone?!&lt;/h3&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4855977662/&quot;&gt;
	&lt;img alt=&quot;Puzzle Punk mockup&quot; src=&quot;http://farm5.static.flickr.com/4116/4855977662_b9fb2ca61d_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	You may notice I used the term &lt;em&gt;clone&lt;/em&gt; here, though I am embarrassed to admit it.
	As an amateur indie game developer, I feel that clones are wrong in so many ways.
	They lack innovation, they are sleazy and unethical, and they are at their core lazy game design.
	Borrowing design elements is just another part of making great software,
	but one should not borrow too heavily.
&lt;/p&gt;

&lt;p&gt;
	So how did I arrive at the conclusion that I should work on a &lt;em&gt;Puzzle Quest&lt;/em&gt; clone?
&lt;/p&gt;

&lt;p&gt;
	My desire was to make a pretty massive retro RPG. I had to, for some reason.
	But I thought about it, and I had never even made &quot;real&quot; game of &lt;em&gt;any&lt;/em&gt; kind.
	Not even a &lt;a href=&quot;http://www.tetris.com/&quot;&gt;Tetris&lt;/a&gt; clone or
	a &lt;a href=&quot;http://nifflas.ni2.se/?page=Knytt+Stories&quot;&gt;side-scrolling platformer&lt;/a&gt;.
	I was untested as a game developer and so my aspirations were unreachable.
&lt;/p&gt;

&lt;p&gt;
	Enter &lt;em&gt;Puzzle Quest&lt;/em&gt;.
	I was a &lt;a href=&quot;http://raptr.com/game/DS/Puzzle_Quest_Challenge_of_the_Warlords/review/richtaur&quot;&gt;huge fan&lt;/a&gt;
	of the original and, like
	&lt;a href=&quot;http://www.gamespot.com/pc/puzzle/galactrix/review.html&quot;&gt;many&lt;/a&gt;
	&lt;a href=&quot;http://www.gamerevolution.com/review/ds/puzzle-quest-galactrix&quot;&gt;others&lt;/a&gt;,
	was very disappointed with &lt;a href=&quot;http://www.playpuzzlequestgalactrix.com/&quot;&gt;the next Puzzle Quest&lt;/a&gt; game.
&lt;/p&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4855976904/&quot;&gt;
	&lt;img alt=&quot;Puzzle Punk: battle_local&quot; src=&quot;http://farm5.static.flickr.com/4079/4855976904_837b9a6805_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	I really &lt;strong&gt;wanted&lt;/strong&gt; to play an online version of &lt;em&gt;PQ&lt;/em&gt; with my friends,
	but the developer of the original did not choose to go that route.
	Plus, I knew I couldn&#39;t get motivated to work on something like
	&lt;a href=&quot;http://www.bobpitch.com/zookeeper/zk.html&quot;&gt;ZooKeeper&lt;/a&gt;;
	I&#39;m just too much of a medieval fantasy geek to get excited about much else.
	But I could get behind something like &lt;em&gt;Puzzle Quest&lt;/em&gt;,
	so I came up with what I called &lt;strong&gt;Puzzle Punk&lt;/strong&gt;:
	a game similar to &lt;em&gt;Puzzle Quest&lt;/em&gt; in a steampunk world with online multiplayer capabilities.
&lt;/p&gt;

&lt;p&gt;
	But even this game was far too complicated.
	I was an untested game developer, after all, and had never shipped a single finished game.
	So the plan was to first make a match-3 game.
	That would be my baby step.
	I&#39;d make a solid, stable match-3 game and then use that core framework to build &lt;strong&gt;Puzzle Punk&lt;/strong&gt;.
&lt;/p&gt;

&lt;h3&gt;Connecting the pieces&lt;/h3&gt;

&lt;p&gt;
	My end goal was not to make &lt;strong&gt;Puzzle Punk&lt;/strong&gt;.
	That was not the desire that was keeping me up all night and defeating me every year or so.
	Indeed, I beat myself up a lot over the last few months for having such a stupid idea as
	a clone in the first place.
	I&#39;d second guess my plan and consider scratching it, but then I&#39;d remember how I arrived at this plan,
	and the soul-crushing defeat was pending again,
	so I just got back on track for finishing &lt;strong&gt;Bombada&lt;/strong&gt;.
	I wasn&#39;t really happy with my plan but at least I finally &lt;em&gt;had&lt;/em&gt; one.
&lt;/p&gt;

&lt;h2&gt;So what happened?&lt;/h2&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4855977452/&quot;&gt;
	&lt;img alt=&quot;Puzzle Punk: shop_modal&quot; src=&quot;http://farm5.static.flickr.com/4114/4855977452_b2d638cc8d_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	This plan failed.
	But that&#39;s ok.
	I actually did finish the match-3 game; it&#39;s called &lt;strong&gt;Bombada&lt;/strong&gt;.
	It&#39;s &lt;a href=&quot;http://playbombada.appspot.com/&quot;&gt;playable in your browser right now&lt;/a&gt;
	and I put the &lt;a href=&quot;http://github.com/lostdecade/bombada&quot;&gt;source code up on GitHub&lt;/a&gt;.
	So I finished one step out of three.
&lt;/p&gt;

&lt;p&gt;
	And as you can see from the
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/sets/72157624517441461/&quot;&gt;many images&lt;/a&gt;
	of the game&#39;s development sprinkled about,
	I did make some progress on &lt;strong&gt;Puzzle Punk&lt;/strong&gt; (step 2).
&lt;/p&gt;

&lt;p&gt;
	The reason I shelved development on &lt;strong&gt;Puzzle Punk&lt;/strong&gt; is because
	I started working with Geoff.
	We had met some time before and had mutual friends but never seriously talked about collaborating.
	He had some of his own ideas and his own engine he was working on,
	and all that stuff sounded way more fun than what I was doing.
	I guess if we had not decided to work together (or never met),
	it&#39;s conceivable that I could still be working on &lt;strong&gt;Puzzle Punk&lt;/strong&gt;,
	but I doubt it.
&lt;/p&gt;

&lt;p&gt;
	I guess the reason I think that is because I didn&#39;t even attempt to try to get Geoff on board
	for my &lt;strong&gt;Puzzle Punk&lt;/strong&gt; idea. I wanted to be working on something else.
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4855977580/&quot;&gt;
	&lt;img alt=&quot;Puzzle Punk: shop_phase_2&quot; src=&quot;http://farm5.static.flickr.com/4121/4855977580_9f604de3d8_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;h2&gt;What was good&lt;/h2&gt;

&lt;p&gt;
	It wasn&#39;t all bad: I learned some extremely valuable lessons from all this.
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
		Having a plan at all made me feel in control and empowered me,
		adding to my motivation at a time when I otherwise felt powerless.
		&lt;strong&gt;Plans can go to shit over time but it&#39;s important to have one anyway.&lt;/strong&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Having a &lt;em&gt;small&lt;/em&gt; project to work on first
		(&lt;strong&gt;Bombada&lt;/strong&gt;, the match-3 game) also helped to remove my feeling of hopelessness.
		When thinking about how far I had to go in the long run, it was overwhelming.
		But it was easy to make progress on &lt;strong&gt;Bombada&lt;/strong&gt;, and it was very rewarding.
	&lt;/li&gt;
	&lt;li&gt;
		Keeping really great records of my progress helped drive development.
		If I would ever feel like I wasn&#39;t gaining enough ground,
		I could dig through my
		&lt;a href=&quot;http://github.com/lostdecade/bombada/commits/master&quot;&gt;git history&lt;/a&gt;
		and be reminded of what I &lt;em&gt;had&lt;/em&gt; accomplished.
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

&lt;/p&gt;

&lt;h2&gt;What was bad&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;
		I think I was on the right track using a language I know and love like JavaScript, but
		I should have used a technology like
		&lt;a href=&quot;https://developer.mozilla.org/en/drawing_graphics_with_canvas&quot;&gt;canvas&lt;/a&gt;
		that makes more sense for game development
		(as opposed to &lt;a href=&quot;http://github.com/lostdecade/bombada&quot;&gt;DOM&lt;/a&gt;).
		Hearing Geoff talk about cool canvas stuff (which is so much better suited for games)
		got me really excited; I could have used some of that motivation.
	&lt;/li&gt;
	&lt;li&gt;
		Instead of a match-3 game, I should have been working on a ridiculously simple medieval fantasy game.
		This would have held my attention better and kept me motivated.
		Cliffski of
		&lt;a href=&quot;http://www.positech.co.uk/&quot;&gt;Positech Games&lt;/a&gt;
		has
		&lt;a href=&quot;http://positech.co.uk/cliffsblog/?p=753&quot;&gt;written about&lt;/a&gt; this kind of thing.
	&lt;/li&gt;
	&lt;li&gt;
		Instead of building &lt;strong&gt;Puzzle Punk&lt;/strong&gt;,
		I should have been building a slightly more complicated version of the previously mentioned simple game.
		Then I should have iterated on that, and continued the process.
	&lt;/li&gt;
&lt;/ul&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4855977112/&quot;&gt;
	&lt;img alt=&quot;Puzzle Punk: modal_stats&quot; src=&quot;http://farm5.static.flickr.com/4136/4855977112_68a373a345_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Overall, I guess this plan was as good as any other.
	Clearly something needed to change because what I was trying was just not working.
	It&#39;s hard to say if the plan would have worked overall, but my single biggest takeaway from all
	of this is: &lt;strong&gt;if you find you can&#39;t do it alone, it can really help to collaborate&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
	Case in point: after working just a few months together, Geoff and I have put together what we think is
	&lt;a href=&quot;https://arcade.lostdecadegames.com/onslaught_arena/&quot;&gt;a cool little game&lt;/a&gt;.
	And this is a great building block towards building bigger games.
&lt;/p&gt;

&lt;h2&gt;Google Docs&lt;/h2&gt;

&lt;p&gt;
	I have no idea if this will be interesting to anyone or not, but in addition to uploading
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/sets/72157624517441461/&quot;&gt;the mocks and wireframes&lt;/a&gt;
	to
	&lt;a href=&quot;http://www.flickr.com/people/50655575@N03/&quot;&gt;Flickr&lt;/a&gt;,
	I&#39;ve also opened up the game documentation I was working on.
	You can view the files below on Google Docs:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
		&lt;a href=&quot;https://docs.google.com/Doc?docid=0ARyJ8rdGusOsZGRibnNqOTVfMzRoY21zODJnMw&amp;amp;hl=en&quot;&gt;Puzzle Punk Economy&lt;/a&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href=&quot;https://docs.google.com/Doc?docid=0ARyJ8rdGusOsZGRibnNqOTVfMzFja2h3anBoNQ&amp;amp;hl=en&quot;&gt;Puzzle Punk Gameplay&lt;/a&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	Do you have any failed game projects? I can&#39;t be the only one!
	I&#39;d love to read about someone else&#39;s failed project as well.
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>What to do when your game is too easy and too hard</title>
		<link href="https://www.lostdecadegames.com/what-to-do-when-your-game-is-too-easy-and-too/"/>
		<updated>2010-08-29T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/what-to-do-when-your-game-is-too-easy-and-too/</id>
		<content type="html">&lt;p&gt;
	We&#39;ve been preparing to release &lt;em&gt;version 1.0&lt;/em&gt; of our game
	&lt;a href=&quot;http://lostdecadegamesapp.appspot.com/&quot;&gt;Onslaught!&lt;/a&gt;
	and part of that process has included looking wherever we can for feedback on how to improve the game.
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4938446723/in/set-72157624619472766/&quot;&gt;
	&lt;img alt=&quot;Onslaught! preview screenshot&quot; src=&quot;http://farm5.static.flickr.com/4118/4938446723_306ca551c5_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Luckily for us, &lt;strong&gt;Onslaught!&lt;/strong&gt; has
	&lt;a href=&quot;http://delicious.com/lostdecadegames/onslaught+press&quot;&gt;been talked about a little bit on the &#39;net&lt;/a&gt;
	(especially on
	&lt;a href=&quot;http://www.reddit.com/r/WebGames/comments/cwq66/onslaught_an_html5_medieval_fantasy_shoot_em_up/&quot;&gt;/r/WebGames&lt;/a&gt;;
	thanks
	&lt;a href=&quot;http://www.reddit.com/&quot;&gt;Reddit&lt;/a&gt;!)
	so we&#39;ve been able to dig through some players&#39; comments.
	And we&#39;ve noticed two recurring themes:
&lt;/p&gt;

&lt;h2&gt;It&#39;s too easy&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://playstuff.net/showthread.php/2716-hmtl5-Onslaught-game?p=39546&amp;viewfull=1#post39546&quot;&gt;&quot;lol it was easy just spam the space bar with the 3 way swords shooting at every door&quot;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.reddit.com/r/WebGames/comments/cwq66/onslaught_an_html5_medieval_fantasy_shoot_em_up/c0vvbkp&quot;&gt;&quot;It would be nice is the difficulty actually ramped up past a certain point&quot;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.reddit.com/r/WebGames/comments/cwq66/onslaught_an_html5_medieval_fantasy_shoot_em_up/c0vvgg4&quot;&gt;&quot;I don&#39;t want to die on purpose&quot;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://playstuff.net/showthread.php/2716-hmtl5-Onslaught-game?p=39547&amp;viewfull=1#post39547&quot;&gt;&quot;272,460 I&#39;m so bored.....&quot;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;It&#39;s too hard&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.canvasdemos.com/2010/08/02/onslaught/&quot;&gt;&quot;Too hard, I think&quot;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://playstuff.net/showthread.php/2716-hmtl5-Onslaught-game?p=39581&amp;viewfull=1#post39581&quot;&gt;&quot;I officially suck at this game.&quot;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.reddit.com/r/WebGames/comments/cwq66/onslaught_an_html5_medieval_fantasy_shoot_em_up/c0vvo0x&quot;&gt;&quot;I died when they started spawning two cyclops at a time :(&quot;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.reddit.com/r/WebGames/comments/cwq66/onslaught_an_html5_medieval_fantasy_shoot_em_up/c0vuyx8&quot;&gt;&quot;That game was fucking hard.&quot;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;So, it&#39;s too easy AND too hard?&lt;/h2&gt;

&lt;p&gt;
	If the feedback was consistently that &lt;strong&gt;Onslaught!&lt;/strong&gt; was too easy,
	here are some easy tweaks we could have made to help make the game more difficult:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Increase the number of enemies.&lt;/li&gt;
	&lt;li&gt;Increase enemy speed.&lt;/li&gt;
	&lt;li&gt;Increase enemy damage.&lt;/li&gt;
	&lt;li&gt;Decrease the hero&#39;s damage.&lt;/li&gt;
	&lt;li&gt;Decrease the hero&#39;s health.&lt;/li&gt;
	&lt;li&gt;Decrease weapon drops.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	Likewise, we could have reversed any of those rules to make the game easier.
	But what is a game designer supposed to do with conflicting requirements?
&lt;/p&gt;

&lt;h2&gt;The difficulty curve&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/4813905516/in/set-72157624619472766/&quot;&gt;
	&lt;img alt=&quot;Onslaught! dragon boss&quot; src=&quot;http://farm5.static.flickr.com/4135/4813905516_f6e55409d4_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	The
	&lt;a href=&quot;http://8.latest.lostdecadegamesapp.appspot.com/&quot;&gt;current version&lt;/a&gt;
	of &lt;strong&gt;Onslaught!&lt;/strong&gt; has a very simple algorithm for increasing difficulty.
	There are seven waves, the final wave consisting primarily of the
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/4813905516/in/set-72157624619472766/&quot;&gt;dragon boss&lt;/a&gt;.
	After defeating this wave, the player is thrown back to the beginning of the loop with the number of enemies
	increased steadily by 50% of the first wave (so it would go: 10 bats, 15 bats, 20 bats, 25 bats, etc.).
&lt;/p&gt;

&lt;p&gt;
	According to &lt;a href=&quot;http://www.google.com/analytics/&quot;&gt;Google Analytics&lt;/a&gt;,
	&lt;strong&gt;Onslaught!&lt;/strong&gt;&#39;s
	10,000+ players have played the game for an average of
	&lt;strong&gt;32 seconds&lt;/strong&gt; each.
	We mentioned previously how we had
	&lt;a href=&quot;https://www.lostdecadegames.com/boing-boing-contest-post-mortem-onslaught-0&quot;&gt;failed to make a 30 second game&lt;/a&gt;,
	and for the final release of &lt;strong&gt;Onslaught!&lt;/strong&gt; we decided it would be good to expand on that idea.
&lt;/p&gt;

&lt;p&gt;
	What we were wanting instead of a steady climb in difficulty like this was an easy beginning with a sharp
	increase in difficulty.
	So after the first couple of wave cycles, the game should &lt;em&gt;rapidly&lt;/em&gt; increase in difficulty,
	providing a challenge for hardcore gamers.
&lt;/p&gt;

&lt;p&gt;
	The below graph shows the previous difficulty curve (&lt;em&gt;v0.2&lt;/em&gt;, in blue),
	and the difficulty curve we are shooting for in &lt;em&gt;v1.0&lt;/em&gt; (in red):
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/4938960236/&quot;&gt;
		&lt;img alt=&quot;Onslaught! difficulty curve&quot; src=&quot;http://farm5.static.flickr.com/4098/4938960236_578e95dab8.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;

&lt;h2&gt;What we&#39;re going to do and why&lt;/h2&gt;

&lt;p&gt;
	This is going to be a difficult (but fun!) problem to solve. Here&#39;s what we have in mind:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;
		We&#39;re adding &lt;strong&gt;four new enemies&lt;/strong&gt;: flaming skull, flying imps, wizards and sandworms (each with new behavior).
		These enemies will increase the length of gameplay (giving us room to play with difficulty)
		as well as mixing up the player&#39;s strategy with varying enemy behaviors.
	&lt;/li&gt;
	&lt;li&gt;
		Players will battle &lt;strong&gt;two new classic D&amp;D-style bosses&lt;/strong&gt; (guess what they are!).
		The first will be relatively easy and the second will be extremely difficult.
	&lt;/li&gt;
	&lt;li&gt;
		After completing a cycle of waves, traps will begin to appear in the arena!
		The number of traps will steadily increase as the player completes cycles.
		They do damage to the player when touched, so this will limit the area the player can navigate.
	&lt;/li&gt;
	&lt;li&gt;
		Complete weapon overhaul: this includes balancing current weapons as well as adding new weapons
		(such as a &lt;strong&gt;bouncing battle axe&lt;/strong&gt; and &lt;strong&gt;flaming sword&lt;/strong&gt; that leaves a trail of fire in its wake)!
	&lt;/li&gt;
	&lt;li&gt;
		For the
		&lt;a href=&quot;http://www.freeplay.net.au/2010/06/freeplay-awards/&quot;&gt;Freeplay awards&lt;/a&gt;,
		we
		&lt;a href=&quot;https://www.lostdecadegames.com/onslaught-v02-freeplay-awards&quot;&gt;did two things&lt;/a&gt;
		to improve the &lt;strong&gt;30 second experience&lt;/strong&gt;:
		we replaced the default weapon (rocks, which are boring) with swords (which are more fun!)
		and we provided the player with two starting weapons.
		These weapons were randomly generated, so players were able to reload the game
		in order to get whatever weapons they wanted (for instance, the overpowered trident).
		For &lt;em&gt;v1.0&lt;/em&gt;, we&#39;re going to provide set weapons to balance this out (probably knives and fireballs).
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	We&#39;ve got these improvements and many others in mind as well!
	Our hope is that these gameplay tweaks and content additions will make the game more enjoyable
	for both casual and hardcore players alike.
	What do you think? Is &lt;strong&gt;Onslaught!&lt;/strong&gt; currently too easy or too hard?
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Onslaught! Arena 1.0 Gameplay Teaser</title>
		<link href="https://www.lostdecadegames.com/onslaught-arena-10-gameplay-teaser/"/>
		<updated>2010-10-16T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/onslaught-arena-10-gameplay-teaser/</id>
		<content type="html">&lt;p&gt;Onslaught! Arena 1.0 is nearly complete! The latest version of the game is chock full of new enemies, weapons and traps! Take a look at the video below for a sneak peek at the challenges which await you in the arena!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;&lt;iframe width=&quot;480&quot; height=&quot;390&quot; frameborder=&quot;0&quot; src=&quot;http://www.youtube.com/embed/_knh7lwSFVU?rel=0&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;Onslaught! Arena will be launching with the &lt;a title=&quot;Google Chrome Web Store&quot; href=&quot;https://chrome.google.com/webstore&quot; target=&quot;_blank&quot;&gt;Google Chrome Web Store&lt;/a&gt;&amp;nbsp;later this year. The full version of the game will be purchasable from the Chrome Web Store via Google Checkout and of course we&#39;ll have a&amp;nbsp;&lt;strong&gt;free trial version &lt;/strong&gt;available so you can get a taste of the fast paced action!&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Obfuscating JavaScript with Closure Compiler Advanced Optimizations</title>
		<link href="https://www.lostdecadegames.com/obfuscating-javascript-with-closure-compiler/"/>
		<updated>2010-11-17T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/obfuscating-javascript-with-closure-compiler/</id>
		<content type="html">&lt;p&gt;While working on our upcoming game, Onslaught! Arena, we wanted to obfuscate the JavaScript code as much as possible. Using tools like &lt;a href=&quot;http://developer.yahoo.com/yui/compressor/&quot;&gt;YUICompressor&lt;/a&gt; and &lt;a href=&quot;http://code.google.com/closure/compiler/&quot;&gt;Google Closure Compiler&lt;/a&gt; (with Standard Optimizations) just weren&#39;t enough. Luckily, Closure Complier has an &amp;quot;&lt;a href=&quot;http://code.google.com/closure/compiler/docs/api-tutorial3.html&quot;&gt;Advanced Optimizations&lt;/a&gt;&amp;quot; mode. This mode will really make your JavaScript gross and unreadable!&lt;/p&gt;
&lt;p&gt;Here are some cases to watch out for along with some tips for those trying to make their JavaScript as unreadable as possible:&lt;/p&gt;
&lt;h2&gt;Don&#39;t access object properties as string literals&lt;/h2&gt;
&lt;p&gt;Using Advanced Optimizations has its &lt;a href=&quot;http://code.google.com/closure/compiler/docs/api-tutorial3.html#dangers&quot;&gt;pitfalls&lt;/a&gt;. Because of it&#39;s super aggressive renaming, Closure Compiler will &lt;strong&gt;break your code&lt;/strong&gt; if you access object properties using string literals. For example:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; thing&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;stuff &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;bar&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// This will break after Advanced Optimization :(&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; foo &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; thing&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;stuff&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;foo&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Closure will rewrite &lt;code&gt;thing.stuff&lt;/code&gt; as something like &lt;code&gt;a.b&lt;/code&gt; and accessing &lt;code&gt;a[&amp;quot;stuff&amp;quot;]&lt;/code&gt; isn&#39;t going to work.&lt;/p&gt;
&lt;h2&gt;Don&#39;t use string literals&lt;/h2&gt;
&lt;p&gt;Closure Compiler won&#39;t obfuscate string literals for obvious reasons so just stay away from them as much as you can! Here&#39;s an example:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad. Can&#39;t obfuscate well.&lt;/span&gt;
myObject&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;wounded&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Good!&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; States &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;Wounded&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;Stunned&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;Attacking&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
myObject&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; States&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Wounded&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Instead of seeing &lt;code&gt;a.b = &amp;quot;wounded&amp;quot;;&lt;/code&gt; in your compiled code, you&#39;ll get something like &lt;code&gt;a.b = c.d;&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Stay away from built-in JavaScript object property names&lt;/h2&gt;
&lt;p&gt;If you want to achieve maximum obfuscation, don&#39;t use built-in JavaScript object properties such as &lt;code&gt;.position&lt;/code&gt;, &lt;code&gt;.left&lt;/code&gt; or &lt;code&gt;.width&lt;/code&gt; in your custom objects. Here&#39;s an example:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Bad; &quot;type&quot; and &quot;position&quot; won&#39;t be obfuscated.&lt;/span&gt;
myObject&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
myObject&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;position &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token literal-property property&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Better; &quot;thing&quot; and &quot;coords&quot; will be obfuscated.&lt;/span&gt;
myObject&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;thing &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
myObject&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;coords &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token literal-property property&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The list of properties such as in this example is pretty long and many of them are common, sensible names for properties. I&#39;m certainly not recommending that you stop using all of them. Find the balance that makes sense to you but keep in mind the more you can refrain from using these properties, the more obfuscated your code will be.&lt;/p&gt;
&lt;p&gt;Here&#39;s an (incomplete!) list of properties that won&#39;t be obfuscated:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;add&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; canvas&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; create&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; direction&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; display&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; execute&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; height&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; history&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; images&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; layers&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; left&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; load&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; loop&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; map&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; normalize&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; now&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; paused&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; play&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; position&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; reset&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; scale&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; setInterval&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; setTimeout&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; size&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; start&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; stop&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; style&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; top&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; type&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; update&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; view&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; width&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; y&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;These are the lessons we&#39;ve learned while obfuscating our code as much as possible to help protect our work. Can you think of any additional best practices to assist in this process?&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Announcing Onslaught! Arena for sale in the Google Chrome Webstore!</title>
		<link href="https://www.lostdecadegames.com/announcing-onslaught-arena-for-sale-in-the-go/"/>
		<updated>2010-12-07T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/announcing-onslaught-arena-for-sale-in-the-go/</id>
		<content type="html">&lt;p&gt;&lt;strong&gt;Lost Decade Games&lt;/strong&gt; is proud to announce its first release: &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt;, a medieval fantasy arcade shoot &#39;em up. Built using HTML5 technologies, &lt;strong&gt;Onslaught! Arena&lt;/strong&gt; is now &lt;a href=&quot;https://chrome.google.com/extensions/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;available for sale in the Chrome Webstore&lt;/a&gt; via Google Checkout.&lt;/p&gt;

&lt;h2&gt;About Onslaught! Arena&lt;/h2&gt;
&lt;p&gt;Originally created for the &lt;a href=&quot;http://www.boingboing.net/arcade/&quot;&gt;Games Inspired by Music&lt;/a&gt; contest from &lt;a href=&quot;http://www.boingboing.net/2010/06/14/games-inspired-by-mu.html&quot;&gt;Boing Boing&lt;/a&gt;, &lt;strong&gt;Onslaught! Arena&lt;/strong&gt; began as a quick two-week project with programming by &lt;a href=&quot;http://geoffblair.com/&quot;&gt;Geoff Blair&lt;/a&gt;, art by &lt;a href=&quot;http://richtaur.com/&quot;&gt;Matt Hackett&lt;/a&gt; and music/sound effects by &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt;. Over the next few months, Geoff and Matt continued to tweak and improve the game and stuff it full of content, including:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;50 waves of combat&lt;/li&gt;
	&lt;li&gt;Over a dozen ferocious monsters&lt;/li&gt;
	&lt;li&gt;More than 6 types of weapons&lt;/li&gt;
	&lt;li&gt;Ability to continue from a saved game&lt;/li&gt;
	&lt;li&gt;Online high score table&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;About Lost Decade Games&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lost Decade Games&lt;/strong&gt; was founded by Geoff Blair and Matt Hackett in September of 2010. Combined, Geoff and Matt have over 20 years of programming and design experience. Our goal is to create engaging, fun HTML5 games with a focus on gameplay and strategy.&lt;/p&gt;

&lt;h2&gt;About the Chrome Webstore&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&quot;https://chrome.google.com/webstore&quot;&gt;Chrome Webstore&lt;/a&gt; is &quot;an open market for apps.&quot; Released by Google in December of 2010, the webstore enables users to easily discover and install applications built for the web, with the option to pay for premium software via &lt;a href=&quot;https://checkout.google.com/&quot;&gt;Google Checkout&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Related links&lt;/h2&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&#39;s official home page&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;Onslaught! Arena in the Chrome Webstore&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://arcade.lostdecadegames.com/onslaught_arena/demo&quot;&gt;Onslaught! Arena Free Trial / Demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>
	</entry>
	
	
	<entry>
		<title>App Engine and Chrome Webstore Issues</title>
		<link href="https://www.lostdecadegames.com/app-engine-and-chrome-webstore-issues/"/>
		<updated>2010-12-12T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/app-engine-and-chrome-webstore-issues/</id>
		<content type="html">&lt;h2&gt;Quick background&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5252913696/&quot;&gt;
  &lt;img alt=&quot;Onslaught! Arena featured in the Chrome Webstore&quot; src=&quot;http://farm6.static.flickr.com/5281/5252913696_1538e10fd7_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
  We recently launched &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt; in the &lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;Chrome Webstore&lt;/a&gt;. We&#39;re using &lt;a href=&quot;http://code.google.com/appengine/docs/python/gettingstarted/&quot;&gt;App Engine (Python)&lt;/a&gt; as our backend and we are integrated with Google Checkout&#39;s &lt;a href=&quot;http://code.google.com/chrome/webstore/docs/get_started.html&quot;&gt;Webstore Licensing API&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
  So first off, we messed up: right when we launched, there was a bug in our app that was causing the game demo to serve even to users who had successfully paid for the game. Firstly we&#39;d like to apologize to those users who were affected. We&#39;re happy to say that this bug got fixed the night of release.
&lt;/p&gt;

&lt;h2&gt;The troubles we were (and are) having&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    When we first launched, the Licensing API calls were failing. We fixed this, which caused the next two issues:
  &lt;/li&gt;
  &lt;li&gt;
    Some users are getting served &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5255588472/&quot;&gt;error pages&lt;/a&gt; instead of the game itself.
  &lt;/li&gt;
  &lt;li&gt;
    Our app is asking for access to users&#39; email addresses, which understandably makes them uncomfortable. (This is particularly frustrating to us because we neither need or want email addresses.)
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Licensing API calls failing&lt;/h2&gt;

&lt;p&gt;
  So on the night of &lt;a href=&quot;https://www.lostdecadegames.com/announcing-onslaught-arena-for-sale-in-the-go&quot;&gt;the day we launched&lt;/a&gt;, we noticed that users who had purchased the game were still getting served the demo. That&#39;s awful! Nobody spotted it because we obviously had access to the game ourselves, and we were also allowing &lt;strong&gt;Google internal beta testers&lt;/strong&gt; access (so they couldn&#39;t have found this bug either). We put the fire out quickly (by about 1am PST) and it looks like only 2-3 users even noticed, which is good. Our apologies to any users who were affected.
&lt;/p&gt;

&lt;p&gt;
  Here&#39;s why it was happening. Our Python calls to &lt;code&gt;user.federated_identity()&lt;/code&gt; were returning &lt;code&gt;None&lt;/code&gt; on production, invalidating our Licensing API calls (since the API requires OpenID URLs). We feel that this was really easy to miss for the following reasons:
&lt;/p&gt;&lt;p&gt;

&lt;/p&gt;&lt;ul&gt;
  &lt;li&gt;Dev/local instances of App Engine do not support OpenID URLs at all (this used to be a documented exception, which I can&#39;t find anymore on the Google docs page). This makes debugging a &lt;strong&gt;serious time sink&lt;/strong&gt; because we must push to production to test any fixes!&lt;/li&gt;
  &lt;li&gt;The example code (this must have also been removed because I can no longer find it) suggested the use of &lt;code&gt;user_id = user.federated_identity() or user.user_id()&lt;/code&gt; which can be &lt;a href=&quot;http://groups.google.com/a/chromium.org/group/chromium-reviews/msg/c4e98d56d02229e5&quot;&gt;tricky to debug&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Enabling OpenID support is &lt;a href=&quot;http://code.google.com/appengine/articles/openid.html&quot;&gt;experimental&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
  Once we enabled the &quot;Administration / Application Settings / Authentication Options / (Experimental) Federated Login&quot; option from our App Engine dashboard, &lt;code&gt;user.federated_identity()&lt;/code&gt; was returning the OpenID URL as expected and the Licensing API calls started working again.
&lt;/p&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5252304247/&quot;&gt;
  &lt;img alt=&quot;Onslaught! Arena featured in the Chrome Webstore&quot; src=&quot;http://farm6.static.flickr.com/5130/5252304247_0e56ef269d_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;h2&gt;Server Error pages&lt;/h2&gt;

&lt;p&gt;
  Enabling &lt;strong&gt;Federated Login&lt;/strong&gt; has caused some other pretty nasty issues. One is that some users are getting stuck into &lt;a href=&quot;http://code.google.com/appengine/articles/openid.html#su&quot;&gt;redirect loops&lt;/a&gt;, ultimately resulting in &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5255588472/&quot;&gt;error pages&lt;/a&gt;. We&#39;ve spent a ton of time debugging, researching and otherwise trying to figure out a solution to this, with no real solid solution. There are &lt;a href=&quot;https://github.com/sje397/Chess&quot;&gt;pretty good examples&lt;/a&gt; of work-arounds, but they&#39;re all kind of hack jobs and still have edge cases that result in the same error. While I freely admit I&#39;m new to both Python and App Engine, I do not currently see a bulletproof solution to this without Google fixing their OpenID implementation.
&lt;/p&gt;

&lt;p&gt;
  This is a serious problem and if you have experienced this error in our game yourself, we&#39;ve very sorry. We&#39;re trying really hard to find a fix.
&lt;/p&gt;

&lt;h2&gt;Asking for email addresses&lt;/h2&gt;

&lt;p&gt;
  The other issue that came up after enabling &lt;strong&gt;Federated Login&lt;/strong&gt; is that the application now asks for users&#39; email addresses when they authenticate with the app. We&#39;ve seen a bunch of complaints about this in the reviews and aren&#39;t entirely sure what to do about it yet. We do not want, need or use email addresses so we&#39;d ideally like to skip this step altogether.
&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;
  Many of these platforms and APIs are brand-spanking-new, so problems can be expected. But some of these issues are serious showstoppers and are causing awful user experiences and seriously depleting our already limited development resources. If you have any thoughts or ideas on solutions, we&#39;re all ears! And again, if you&#39;ve been affected by any of our issues, we&#39;re sincerely sorry.
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Our first week in the Chrome Webstore (the numbers)</title>
		<link href="https://www.lostdecadegames.com/our-first-week-in-the-chrome-webstore-the-num/"/>
		<updated>2010-12-14T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/our-first-week-in-the-chrome-webstore-the-num/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5199457969/in/set-72157624619472766/&quot;&gt;
		&lt;img alt-=&quot;Onslaught! Arena&quot; src=&quot;http://farm6.static.flickr.com/5243/5199457969_d96cde54e0_m.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;
	Our new game &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt; launched mid-afternoon a week ago today in the new &lt;a href=&quot;https://chrome.google.com/webstore&quot;&gt;Google Chrome Webstore&lt;/a&gt;. This is a brand-new platform from Google and many people are curious (if not excited) about it, so we thought we&#39;d share our numbers from the first week. &lt;em&gt;Note: We got this data from a combination of &lt;a href=&quot;http://www.google.com/analytics/&quot;&gt;Google Analytics&lt;/a&gt;, Google Checkout, and our own &lt;a href=&quot;http://code.google.com/chrome/webstore/docs/index.html&quot;&gt;Licensing API&lt;/a&gt; caching system.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
	First up is the number of unique visitors to our &lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;Chrome Webstore page&lt;/a&gt;:
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5261584284/&quot;&gt;
		&lt;img alt=&quot;Visitors to Onslaught! Arena&#39;s Chrome Webstore page&quot; src=&quot;http://farm6.static.flickr.com/5123/5261584284_1d021f31ff.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;
	Our strongest day was easily Wednesday with &lt;strong&gt;7,750 uniques&lt;/strong&gt; and our weakest day was just yesterday (Monday) with only &lt;strong&gt;1,059&lt;/strong&gt;. These numbers do seem a bit low for a new product launched by Google, but we are just one game featured in a big store full of apps.
&lt;/p&gt;

&lt;p&gt;
	Next up is the number of new players of &lt;strong&gt;Onslaught! Arena&lt;/strong&gt;. These are unique users who visited the &lt;a href=&quot;https://arcade.lostdecadegames.com/onslaught_arena/&quot;&gt;play Onslaught! Arena page&lt;/a&gt; and logged in with their Google accounts.
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5260961943/&quot;&gt;
		&lt;img alt=&quot;Number of new Onslaught! Arena players&quot; src=&quot;http://farm6.static.flickr.com/5087/5260961943_13e2d8995f.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;
	So these numbers range pretty wildly, from &lt;strong&gt;863 players&lt;/strong&gt; down to just &lt;strong&gt;96&lt;/strong&gt;. Lastly, and I&#39;m sure most interestingly, are the number of game sales.
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5261584260/&quot;&gt;
		&lt;img alt=&quot;Number of Onslaught! Arena sales&quot; src=&quot;http://farm6.static.flickr.com/5169/5261584260_93086dd073.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;
	So our best days have seen only &lt;strong&gt;5 sales&lt;/strong&gt;, but we&#39;ve had at least one purchase every day. And you may be wondering what our take is out of the &lt;strong&gt;$4.99&lt;/strong&gt; price tag. After Google&#39;s &lt;a href=&quot;https://checkout.google.com/support/sell/bin/answer.py?answer=89800&quot;&gt;transaction fees&lt;/a&gt;, we get &lt;strong&gt;$4.46&lt;/strong&gt; per transaction. So given our &lt;strong&gt;21 sales&lt;/strong&gt; so far, that makes for a grand total of &lt;strong&gt;$93.66&lt;/strong&gt; in the first week. These comparatively low numbers make some of the &lt;a href=&quot;http://www.delicious.com/lostdecadegames/onslaught-arena+press&quot;&gt;press&lt;/a&gt; we&#39;ve seen kind of &lt;a href=&quot;http://www.gottabemobile.com/2010/12/10/chrome-web-store-sales-almost-non-existant/&quot;&gt;humorous&lt;/a&gt;:
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;
	Onslaught Arena has almost 1,300 users, which means its developer has earned about $7,000 in the first week.
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;
	That article is inaccurate by a large margin. What that says to us is that the &quot;users&quot; and &quot;installs&quot; numbers of the Webstore pages are confusing. On &lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;our app&#39;s page&lt;/a&gt;, the numbers displayed are currently &lt;strong&gt;2,337 users - 3,200 weekly installs&lt;/strong&gt;. We&#39;re not sure exactly what those numbers mean or where they came from, since they don&#39;t easily mesh well with the numbers we have.
&lt;/p&gt;

&lt;p&gt;
	So we won&#39;t exactly be buying yachts anytime soon. But I&#39;ll tell you, after &lt;a href=&quot;https://www.lostdecadegames.com/why-geoff-failed-and-the-road-to-redemption&quot;&gt;failing for&lt;/a&gt; &lt;a href=&quot;https://www.lostdecadegames.com/why-you-cant-play-matts-dream-game-yet&quot;&gt;so long&lt;/a&gt; to publish a &quot;real&quot; game, it feels good to finally be able to call ourselves professional game developers, even if on a tiny scale. (And the game is at least paying its own hosting bills at the moment.)
&lt;/p&gt;

&lt;p&gt;
	What do you think? Surprised? Not surprised? Do you have your own numbers from the &lt;strong&gt;Chrome Webstore&lt;/strong&gt; that you&#39;d like to share?
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Reviews of 6 Screen Recording Apps for OSX</title>
		<link href="https://www.lostdecadegames.com/reviews-of-6-screen-recording-apps-for-osx/"/>
		<updated>2010-12-31T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/reviews-of-6-screen-recording-apps-for-osx/</id>
		<content type="html">&lt;p&gt;
	I&#39;ve been wanting to make some more videos of &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt; (and other prototypes we&#39;ve got cooking) so I wanted to get a really good screen video recording app for Mac OSX.
	But before buying utility software I like to do a little research to make sure I get the one best taylored to my needs.
&lt;/p&gt;

&lt;h2&gt;Desired features&lt;/h2&gt;

&lt;p&gt;
	Since I&#39;ll primarily be recording gameplay from our games, I have particular needs in screen recording software, including:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;&lt;em&gt;Easily&lt;/em&gt; capture video&lt;/strong&gt; -- with a really simple and noninvasive interface.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;No noticeable CPU hit&lt;/strong&gt; -- I had issues with &lt;a href=&quot;http://www.ambrosiasw.com/utilities/snapzprox/&quot;&gt;Snapz Pro&lt;/a&gt; slowing down my computer when I was recording the &lt;a href=&quot;http://www.youtube.com/watch?v=AJscBSbc-aA&quot;&gt;How to beat the Green Dragon&lt;/a&gt; video, so I didn&#39;t include it in this research.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Ability to record &lt;em&gt;audio&lt;/em&gt; as well as video&lt;/strong&gt; -- ideally from the built-in computer&#39;s microphone &lt;em&gt;and&lt;/em&gt; what&#39;s coming out of the speakers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Which applications did I review?&lt;/h2&gt;

&lt;p&gt;
	These are just some quick reviews (one of them &lt;em&gt;very&lt;/em&gt; quick!), but in most of them I&#39;ve included &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/&quot;&gt;screenshots&lt;/a&gt; and actual &lt;a href=&quot;http://www.youtube.com/lostdecadegames&quot;&gt;video&lt;/a&gt; recorded with the application. Here they are in the order I reviewed them:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.techsmith.com/camtasia/&quot;&gt;Camtasia&lt;/a&gt; ($99)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://deepit.ru/products/CaptureIt/info/&quot;&gt;CaptureIt!&lt;/a&gt; ($29.95)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://store.shinywhitebox.com/ishowuhd/main.html&quot;&gt;iShowU HD Pro&lt;/a&gt; ($59.95)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://decimus.net/ScreenMimic/&quot;&gt;Screen Mimic&lt;/a&gt; ($65)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.syniumsoftware.com/screenium/&quot;&gt;Screenium&lt;/a&gt; ($29)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.telestream.net/screen-flow/&quot;&gt;ScreenFlow&lt;/a&gt; ($99)&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- Camtasia --&gt;
&lt;h2&gt;Camtasia&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5301721026/&quot;&gt;
	&lt;img alt=&quot;Camtasia&quot; src=&quot;http://farm6.static.flickr.com/5247/5301721026_494d79cd36_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	First I looked at the free trial of &lt;a href=&quot;http://www.techsmith.com/camtasia/&quot;&gt;Camtasia&lt;/a&gt; (full version: &lt;strong&gt;$99.00 USD&lt;/strong&gt;) and had the following thoughts:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Nice that it&#39;s available for PC &lt;em&gt;and&lt;/em&gt; Mac.&lt;/li&gt;
	&lt;li&gt;Had to install something called &lt;strong&gt;Soundflower&lt;/strong&gt; to record audio from the built-in microphone. That&#39;s irritating; I&#39;d much rather it be bundled with the software I already had to install. &lt;em&gt;(Note: looks like most of these apps also require &lt;strong&gt;SoundFlower&lt;/strong&gt;, so not a huge ding against &lt;strong&gt;Camtasia&lt;/strong&gt;.)&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;Confusing interface. Had to start recording to tell how to set the recording region.&lt;/li&gt;
	&lt;li&gt;I don&#39;t dig the interface. I&#39;d rather see native OSX checkboxes and other widgets than a bunch of custom graphics.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	Here&#39;s a quick video I recorded with &lt;strong&gt;Camtasia&lt;/strong&gt;. You can hear both the game&#39;s audio and my voice clearly:
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;object width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/hBUxzApXqLI?fs=1&amp;amp;hl=en_US&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;embed src=&quot;http://www.youtube.com/v/hBUxzApXqLI?fs=1&amp;amp;hl=en_US&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot; /&gt;&lt;/object&gt;
&lt;/div&gt;

&lt;p&gt;
	Overall seems pretty solid and I was happy with the video I recorded. I couldn&#39;t find a good way to switch between the microphone VS. speaker audio recordings in the editing software it came with. But I guess that would mostly be done in something else like &lt;a href=&quot;http://www.apple.com/ilife/imovie/&quot;&gt;iMovie&lt;/a&gt; anyway. I&#39;m not sure that &lt;strong&gt;Camtasia&lt;/strong&gt; is the best bang for the buck considering that its price is up to &lt;strong&gt;three times&lt;/strong&gt; that of some of its competitors.
&lt;/p&gt;

&lt;!-- CaptureIt! --&gt;
&lt;h2&gt;CaptureIt!&lt;/h2&gt;

&lt;p&gt;
	Next I tried &lt;a href=&quot;http://deepit.ru/products/CaptureIt/info/&quot;&gt;CaptureIt!&lt;/a&gt; (full version: &lt;strong&gt;$29.95 USD&lt;/strong&gt;) and I was immediately confused. The moment I ran the application my entire screen faded a bit and a toolbar appeared in the bottom-left corner of my desktop. (You can see what I mean on the &lt;a href=&quot;http://deepit.ru/products/CaptureIt/info/&quot;&gt;product page&lt;/a&gt;.)
&lt;/p&gt;

&lt;p&gt;
	I quit, then reopened the application to give it another shot. This time I figured out how to record video (which took some digging), but I couldn&#39;t for the life of me find where it put the movie file. Since it clearly wasn&#39;t as intuitive and easy to learn as I wanted, I wrote it off as a failure and moved on to the next application.
&lt;/p&gt;

&lt;!-- iShowU HD Pro --&gt;
&lt;h2&gt;iShowU HD Pro&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5302126632/&quot;&gt;
	&lt;img alt=&quot;iShowU HD&quot; src=&quot;http://farm6.static.flickr.com/5007/5302126632_8fa46da300_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	&lt;a href=&quot;http://store.shinywhitebox.com/ishowuhd/main.html&quot;&gt;iShowU HD Pro&lt;/a&gt;&#39;s full version is &lt;strong&gt;$59.95 USD&lt;/strong&gt; with a fewer-features version available for &lt;strong&gt;$29.95 USD&lt;/strong&gt;. I downloaded the demo, gave it a go, and had the following thoughts:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;An update was required the &lt;em&gt;moment&lt;/em&gt; I started the application. While it&#39;s nice that it has an &lt;strong&gt;automated update&lt;/strong&gt; flow, I&#39;d rather they had included the update in the file I had just downloaded!&lt;/li&gt;
	&lt;li&gt;I liked the option to show or hide the mouse icon during recording. &lt;em&gt;(Turns out this is a pretty common feature.)&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;Would be nice to see meta data when selecting the region to record (such as width/height and X/Y coordinates). This is epecially important since my most common use-case will be wanting to record the &lt;em&gt;exact&lt;/em&gt; gameplay region (eg, 1024x768 pixels).&lt;/li&gt;
	&lt;li&gt;The interface (see screenshot above) felt too large and clunky for my needs. I don&#39;t really want to spend much time with whatever screen-capturing software I end up purchasing; I want it to be largely invisible and just quickly/easily record videos then disappear.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	It was really easy to record a test video:
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe title=&quot;YouTube video player&quot; class=&quot;youtube-player&quot; type=&quot;text/html&quot; width=&quot;480&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/OUKS3kDdeZg&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;
	&lt;strong&gt;iShowU HD Pro&lt;/strong&gt; is not bad but I think the choice in price might hurt its ability to sell copies. I definitely knew I&#39;d need the &quot;Pro&quot; version since (if I understood correctly) the limited version for 50% less doesn&#39;t record audio. So that kind of made me feel like I wouldn&#39;t be getting as good a deal (it&#39;s funny how &lt;a href=&quot;http://smallbiztrends.com/2008/08/8-pricing-strategies-you-can-implement-right-now.html&quot;&gt;pricing works&lt;/a&gt;, isn&#39;t it?)
&lt;/p&gt;

&lt;!-- Screen Mimic --&gt;
&lt;h2&gt;Screen Mimic&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5308732569/&quot;&gt;
	&lt;img alt=&quot;Screen Mimic&quot; src=&quot;http://farm6.static.flickr.com/5043/5308732569_14776689ec_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	&lt;a href=&quot;http://decimus.net/ScreenMimic/&quot;&gt;Screen Mimic&lt;/a&gt; (&lt;strong&gt;$65 USD&lt;/strong&gt;) was next on my list and I had the following thoughts when using it:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Simple and &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5308732569/&quot;&gt;noninvasive interface&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;I like how it displays the selection resolution (eg, 640x480 pixels).&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Very&lt;/strong&gt; useful that you can export as &lt;code&gt;.swf&lt;/code&gt;! Last time I checked I couldn&#39;t find anything to easily convert a movie file to flash on a Mac, so I found this feature extra appealing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	The recording quality is pretty good too, as you can see in this video I made using the demo:
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;object width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/nIXgMc5VRek?fs=1&amp;amp;hl=en_US&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;embed src=&quot;http://www.youtube.com/v/nIXgMc5VRek?fs=1&amp;amp;hl=en_US&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot; /&gt;&lt;/object&gt;
&lt;/div&gt;

&lt;p&gt;
	My favorite feature of &lt;strong&gt;Screen Mimic&lt;/strong&gt; is that it does a great job of staying out of your face. At first it&#39;s just an icon in your menu bar. Click it, and the only options displayed are &quot;New Recording&quot; and &quot;Pause Recording&quot; (disabled). Very minimal and definitely appreciated. On the downside, its has fewer options than the competitors in its price range. Based on the other software with similar features I&#39;d say it should be priced about half of what it is.
&lt;/p&gt;

&lt;!-- Screenium --&gt;
&lt;h2&gt;Screenium&lt;/h2&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5308732915/&quot;&gt;
	&lt;img alt=&quot;Screenium&quot; src=&quot;http://farm6.static.flickr.com/5130/5308732915_e2dfdfbe8e_t.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Next up I tried
	&lt;a href=&quot;http://www.syniumsoftware.com/screenium/&quot;&gt;Screenium&lt;/a&gt; (&lt;strong&gt;$29 USD&lt;/strong&gt;)
	and immediately liked it.
	The demo is fully-featured except it limits recordings to 30 seconds. Other software in its category might remove features and/or add watermarks to exported videos. Giving me full access to all normal features allowed me to see &lt;em&gt;exactly&lt;/em&gt; what I&#39;d be paying for without any uncertainty. Good stuff.
&lt;/p&gt;

&lt;p&gt;
	Recording and exporting this video was a breeze:
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;object width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/Y_FgeZwj_zc?fs=1&amp;amp;hl=en_US&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;embed src=&quot;http://www.youtube.com/v/Y_FgeZwj_zc?fs=1&amp;amp;hl=en_US&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot; /&gt;&lt;/object&gt;
&lt;/div&gt;

&lt;p&gt;
	I have almost nothing but good things to say about &lt;strong&gt;Screenium&lt;/strong&gt;:
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5309320464/&quot;&gt;
	&lt;img alt=&quot;Screenium&quot; src=&quot;http://farm6.static.flickr.com/5045/5309320464_7cabc89483_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;ul&gt;
	&lt;li&gt;Really nice interface.&lt;/li&gt;
	&lt;li&gt;Love the ability to select which audio to record (system audio and/or built-in microphone).&lt;/li&gt;
	&lt;li&gt;Really cool that you can include your built-in camera to the screen capture (see lower-left-hand corner in the video)!&lt;/li&gt;
	&lt;li&gt;Tons of options regarding Hotkeys.&lt;/li&gt;
	&lt;li&gt;Love the simplicity of the export feature; you can just press &quot;OK&quot; to export immediately, or dig in and get pretty advanced.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;So cool&lt;/strong&gt; that you can type in exact width/height and X/Y coordinates! As an anal programmer this optional granular control is wonderful.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	It&#39;s difficult to say why, but I also felt that &lt;strong&gt;Screenium&lt;/strong&gt; had excellent usability. All the options were easy to find and in the right place. No task was a chore.
&lt;/p&gt;

&lt;!-- ScreenFlow --&gt;
&lt;h2&gt;ScreenFlow&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5309321144/&quot;&gt;
	&lt;img alt=&quot;ScreenFlow&quot; src=&quot;http://farm6.static.flickr.com/5089/5309321144_7e0e805023_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	After trying &lt;a href=&quot;http://www.telestream.net/screen-flow/&quot;&gt;ScreenFlow&lt;/a&gt; (&lt;strong&gt;$99 USD&lt;/strong&gt;), I had the following thoughts:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Immediately got a &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5309320690/&quot;&gt;translucent window with some recording options&lt;/a&gt;. Didn&#39;t see any opacity settings; wasn&#39;t digging the pre-recording window.&lt;/li&gt;
	&lt;li&gt;Upon clicking &quot;Record Computer Audio,&quot; was disappointed to be prompted to &quot;Install Audio Driver.&quot;&lt;/li&gt;
	&lt;li&gt;The first test video I recorded only captured video from my laptop screen and I couldn&#39;t find a way to record from the external monitor instead.&lt;/li&gt;
	&lt;li&gt;Can also include built-in camera recording in your capture, with many more features like sizing, rotation and position. Very cool, but realistically would probably never get used.&lt;/li&gt;
	&lt;li&gt;Has tons of advanced post-capture editing features such as screen stretching and rotating (but I&#39;d rather handle these effects in a different application like &lt;strong&gt;iMovie&lt;/strong&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	Videos (from both the screen and built-in camera) are easy to record:
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;object width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/M36Jb8w6CZs?fs=1&amp;amp;hl=en_US&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;embed src=&quot;http://www.youtube.com/v/M36Jb8w6CZs?fs=1&amp;amp;hl=en_US&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot; /&gt;&lt;/object&gt;
&lt;/div&gt;

&lt;p&gt;
	I found &lt;strong&gt;ScreenFlow&lt;/strong&gt;&#39;s pre-recording interface to be too minimal and its post-recording interface way too involved. The quality feels pretty good, and even at almost $100 the value might be there for some users. But I&#39;m in the market for a &lt;strong&gt;simple&lt;/strong&gt; screen recording app, so as long as it does what I need, the fewer options the better.
&lt;/p&gt;

&lt;!-- QuickTime --&gt;
&lt;h2&gt;Bonus: QuickTime&lt;/h2&gt;

&lt;p&gt;
	&lt;strong&gt;Edit 1/2/2011:&lt;/strong&gt; I gave &lt;strong&gt;QuickTime&lt;/strong&gt; (v10.0) a try after &lt;a href=&quot;http://www.reddit.com/r/osx/comments/eu5j5/reviews_of_6_screen_recording_apps_for_osx_which/&quot;&gt;reading that it was available&lt;/a&gt; for OSX10.6+. While the price tag (free!) is obviously great, I noticed a CPU hit making my gameplay recording sluggish. I also saw no options for recording only a selected region of the screen. These reasons made it a dealbreaker, but it might be a great free solution for you!
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;

&lt;p&gt;
	Overall I was the most impressed with &lt;a href=&quot;http://www.syniumsoftware.com/screenium/&quot;&gt;Screenium&lt;/a&gt;. It has a wonderful interface, is easy to use and powerful enough for my purposes (and being the least expensive is a nice coincidence!).
	If &lt;strong&gt;Screenium&lt;/strong&gt; wasn&#39;t on the plate, I guess my second choice would have been &lt;strong&gt;Screen Mimic&lt;/strong&gt;. It does very little but has pleasant controls and is also simple to use.
&lt;/p&gt;

&lt;p&gt;
	Do you have your own experiences with screen recording software on Mac OSX? Is there any great software out there that I missed?
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Onslaught! Arena now on sale for $1.99</title>
		<link href="https://www.lostdecadegames.com/onslaught-arena-now-on-sale-for-199/"/>
		<updated>2011-01-07T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/onslaught-arena-now-on-sale-for-199/</id>
		<content type="html">&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5281233302/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena in the Chrome Webstore&quot; src=&quot;http://farm6.static.flickr.com/5250/5281233302_f99499e9a7_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Happy new year! Our first game &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt; launched exactly &lt;a href=&quot;https://www.lostdecadegames.com/our-first-week-in-the-chrome-webstore-the-num&quot;&gt;one month ago today&lt;/a&gt;, so we&#39;re pretty excited about this year. To welcome 2011, we&#39;re having a &lt;strong&gt;60% off&lt;/strong&gt; sale! You can &lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;buy Onslaught! Arena now&lt;/a&gt; from the Chrome Webstore for just &lt;strong&gt;$1.99&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
	We&#39;ve started early production on our next game (to be announced soon!) but we are also still listening to your feedback and fixing any issues that come up on our &lt;a href=&quot;http://lostdecadegames.uservoice.com/&quot;&gt;support forum&lt;/a&gt;.
	And as always, please feel free to &lt;a href=&quot;https://www.lostdecadegames.com/pages/contact-1182&quot;&gt;contact us&lt;/a&gt; with any comments or questions.
&lt;/p&gt;

&lt;p&gt;
	Thanks for your support!
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Details about our next game Burn Tactics</title>
		<link href="https://www.lostdecadegames.com/details-about-our-next-game-burn-tactics/"/>
		<updated>2011-01-16T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/details-about-our-next-game-burn-tactics/</id>
		<content type="html">&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5361705333/sizes/z/&quot;&gt;
	&lt;img alt=&quot;Burn Tactics&quot; src=&quot;http://farm6.static.flickr.com/5247/5361705333_dc2b4f2f83_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	&lt;em&gt;Update: we had to change plans, so Burn Tactics is no longer under development.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
	We recently started developing our next game, tentatively called &lt;strong&gt;Burn Tactics&lt;/strong&gt;.
	The concept is a turn-based medieval fantasy strategy game where players control a vengeful dragon who&#39;s intent on burning down villages and seeking havoc on the kingdom.
&lt;/p&gt;

&lt;p&gt;
	While we&#39;re still very early in development, we&#39;ve already made wireframes for every screen in the game and have figured out how the interface will flow in its entirety. As you can see from the included images, we&#39;ll be periodically uploading (really rough and ugly!) &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/sets/72157625840334334/&quot;&gt;screenshots of our progress&lt;/a&gt;.
	We even have some game code written; we&#39;re using the &lt;strong&gt;&lt;a href=&quot;http://impactjs.com/&quot;&gt;impact&lt;/a&gt; HTML5 game engine&lt;/strong&gt; and are so far really liking it.
&lt;/p&gt;

&lt;h2&gt;Why we chose to work on this game&lt;/h2&gt;

&lt;p&gt;
	We&#39;ve had probably a dozen ideas for what to work on next including puzzle games, RTS games, or even a sequel to &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt;. Among all these directions we could go, we decided to work on &lt;strong&gt;Burn Tactics&lt;/strong&gt; for the following reasons:
&lt;/p&gt;

&lt;h3&gt;Accessibility&lt;/h3&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5361706195/&quot;&gt;
	&lt;img alt=&quot;Burn Tactics&quot; src=&quot;http://farm6.static.flickr.com/5041/5361706195_5a7aab2757_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Though many players are enjoying &lt;strong&gt;Onslaught! Arena&lt;/strong&gt;, we&#39;ve also heard that some of them are turned off by certain features, including:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Retro look and feel&lt;/strong&gt;: the 8-bit graphics and sound are very appealing to some players (including us!) but many aren&#39;t familiar with and/or nostalgic about &lt;a href=&quot;http://en.wikipedia.org/wiki/Nintendo_Entertainment_System&quot;&gt;NES&lt;/a&gt;-era games or just think it&#39;s overplayed as an art direction.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Difficulty&lt;/strong&gt;: very difficult, requires quick reflexes and excellent dexterity. (Even our girlfriends don&#39;t want to play it because it requires twitch skills they don&#39;t enjoy learning and so never acquired!)&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Controls&lt;/strong&gt;: we&#39;ve heard &lt;em&gt;many&lt;/em&gt; complaints about all kinds of problems with the controls. They&#39;re too complicated (with mouse and keyboard options), too buried (not exposing all keyboard shortcuts in the UI) and not customizable (giving non-QWERTY users a headache). &lt;strong&gt;Burn Tactics&lt;/strong&gt; will have a simple click/touch-only interface.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Sluggish performance&lt;/strong&gt;: &lt;a href=&quot;http://www.google.com/chrome&quot;&gt;Chrome&lt;/a&gt; users currently have hardware-accelerated graphics in &lt;strong&gt;Onslaught! Arena&lt;/strong&gt;, which certainly helps, but tons of monsters and weapons on-screen can be very taxing on older computers and browsers (making it easy to die and very frustrating).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	&lt;strong&gt;Burn Tactics&lt;/strong&gt; is a concept that shouldn&#39;t have these problems, so hopefully it&#39;ll appeal to a larger audience of gamers.
&lt;/p&gt;

&lt;h3&gt;Small in scope&lt;/h3&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5361706559/&quot;&gt;
	&lt;img alt=&quot;Burn Tactics&quot; src=&quot;http://farm6.static.flickr.com/5082/5361706559_91a36cc7fb_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	As you may have &lt;a href=&quot;https://www.lostdecadegames.com/why-geoff-failed-and-the-road-to-redemption&quot;&gt;read&lt;/a&gt; &lt;a href=&quot;https://www.lostdecadegames.com/why-you-cant-play-matts-dream-game-yet&quot;&gt;before&lt;/a&gt;, we both have bad habits of letting our game concepts explode into unclimbable mountains. Given that, our mantra for &lt;strong&gt;Burn Tactics&lt;/strong&gt; is:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Ridiculously simple turn-based strategy game.&lt;/li&gt;
	&lt;li&gt;Keep it simple.&lt;/li&gt;
	&lt;li&gt;Polish, polish, polish.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Mobile-friendly&lt;/h3&gt;

&lt;p&gt;
	While we would &lt;strong&gt;love&lt;/strong&gt; to get &lt;strong&gt;Onslaught! Arena&lt;/strong&gt; onto mobile platforms such as Android and iPad, there are many hurdles and in some cases, brick walls. Conversely, &lt;strong&gt;Burn Tactics&lt;/strong&gt; is being designed from the ground up to make it feasible to get onto mobile/touch devices. This is great because releasing &lt;strong&gt;Onslaught! Arena&lt;/strong&gt; onto these devices has been one of our most common requests.
&lt;/p&gt;

&lt;h2&gt;We&#39;re still working on Onslaught! Arena&lt;/h2&gt;

&lt;p&gt;
	We&#39;ve got some &lt;a href=&quot;https://www.lostdecadegames.com/support&quot;&gt;issues&lt;/a&gt; we&#39;re looking into fixing and we&#39;re also trying to get &lt;strong&gt;Onslaught! Arena&lt;/strong&gt; into the new Mac OSX App Store.
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Onslaught! Arena v1.2.8</title>
		<link href="https://www.lostdecadegames.com/onslaught-arena-v128/"/>
		<updated>2011-02-12T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/onslaught-arena-v128/</id>
		<content type="html">&lt;p&gt;
	We just pushed a minor update to &lt;strong&gt;Onslaught! Arena&lt;/strong&gt; on the &lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;Chrome Webstore&lt;/a&gt;. This quick update includes:
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5439656325/&quot;&gt;
	&lt;img alt=&quot;HTML5 Shield Logo&quot; src=&quot;http://farm5.static.flickr.com/4114/5439656325_6ab6df3f48_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;ul&gt;
	&lt;li&gt;Removing the broken High Score table.&lt;/li&gt;
	&lt;li&gt;Supporting the &quot;k&quot; key to switch WASD and arrow keys for controls (for lefties!).&lt;/li&gt;
	&lt;li&gt;Supporting the &quot;html5&quot; keycode to unlock a (visual only) &lt;a href=&quot;http://twitpic.com/3z5iib&quot;&gt;HTML5 shield&lt;/a&gt;. Help spread HTML5!&lt;/li&gt;
	&lt;li&gt;Various bug fixes and tweaks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	While this is just a small release, we&#39;ve got new content in the works, including &lt;strong&gt;new weapons&lt;/strong&gt;, &lt;strong&gt;new monsters&lt;/strong&gt;, and a &lt;strong&gt;special promotion&lt;/strong&gt; for Valentine&#39;s Day (this upcoming Monday). So stay tuned for more updates!
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Onslaught! Arena is free on Valentine&#39;s Day</title>
		<link href="https://www.lostdecadegames.com/onslaught-arena-is-free-on-valentines-day/"/>
		<updated>2011-02-13T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/onslaught-arena-is-free-on-valentines-day/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5439656325/&quot;&gt;
		&lt;img alt=&quot;Onslaught! Arena roses&quot; src=&quot;http://farm5.static.flickr.com/4114/5439656325_6ab6df3f48.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;
	Love it or hate it, &lt;strong&gt;Valentine&#39;s Day&lt;/strong&gt; is a day about expressing love ... and giving gifts!
	To celebrate and to show our love for the indie gamers out there, we&#39;re making &lt;a href=&quot;http://goo.gl/2lBb2&quot;&gt;Onslaught! Arena FREE on the Chrome Webstore&lt;/a&gt; for &lt;strong&gt;today only&lt;/strong&gt;.
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5439743547/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena heart icon&quot; src=&quot;http://farm6.static.flickr.com/5053/5439743547_d61fa29f21.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Normally &lt;strong&gt;$1.99&lt;/strong&gt;, this is a great chance to save some cash for your sweetheart (or hey, for yourself!) while still getting to have some retro fun. So please &lt;strong&gt;help spread the word&lt;/strong&gt; on &lt;a href=&quot;http://twitter.com/#!/lostdecadegames&quot;&gt;Twitter&lt;/a&gt; and &lt;a href=&quot;http://www.facebook.com/pages/Lost-Decade-Games/139862159378069&quot;&gt;Facebook&lt;/a&gt; and happy monster slaying!
&lt;/p&gt;

&lt;h2&gt;&lt;a href=&quot;http://goo.gl/S0tOG&quot;&gt;Get Onslaught! Arena FREE&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;
	Happy Valentine&#39;s Day!
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>An HTML5 game in the Mac App Store</title>
		<link href="https://www.lostdecadegames.com/an-html5-game-in-the-mac-app-store/"/>
		<updated>2011-03-13T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/an-html5-game-in-the-mac-app-store/</id>
		<content type="html">&lt;p&gt;
	HTML5 is the development buzzword of the moment.
	It&#39;s the &quot;ajax ninja&quot; of the last few years, so naturally it comes with its fair share of skepticism.
	Indeed, many have been writing about its seemingly
	&lt;a href=&quot;http://developers.slashdot.org/story/11/01/20/206206/No-More-Version-Numbers-For-HTML&quot;&gt;never-ending spec&lt;/a&gt;,
	&lt;a href=&quot;http://caniuse.com/#search=html5&quot;&gt;inconsistent implementations&lt;/a&gt; by browser makers,
	and even its &lt;a href=&quot;http://techcrunch.com/2010/04/30/joe-hewitt-web-development/&quot;&gt;inferiority to native apps&lt;/a&gt;.
	All are valid arguments against betting a real business on HTML5.
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5517989699/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena banner on Tech Crunch&quot; src=&quot;http://farm6.static.flickr.com/5176/5517989699_72f3ddceec_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	However, here&#39;s a hard example of why you absolutely &lt;em&gt;should&lt;/em&gt; consider serious development in HTML5.
	In December of last year,
	&lt;a href=&quot;https://www.lostdecadegames.com/announcing-onslaught-arena-for-sale-in-the-go&quot;&gt;we launched&lt;/a&gt; our little pure-HTML5 game
	&lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt; in the Google Chrome Webstore.
	Sales &lt;a href=&quot;http://techcrunch.com/2011/01/04/sales-have-slowed-to-a-trickle-on-googles-chrome-web-store/&quot;&gt;could be better&lt;/a&gt;,
	sure, but we also just launched the &lt;em&gt;exact same game&lt;/em&gt; in the &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught-arena/id418268106&quot;&gt;Mac App Store&lt;/a&gt;.
	The code is identical with negligible development time required to port it over to a completely different platform.
&lt;/p&gt;

&lt;p&gt;
	Think about the business case for that. Normally it would take considerable resources to port a game to such a different platform.
	We know our game isn&#39;t exactly a AAA title, but if programmed from the ground up in Objective-C, our best guess is it would take a few &lt;em&gt;months&lt;/em&gt; to develop.
	That&#39;s time that we can now spend on content updates or even a sequel.
&lt;/p&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5517989549/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena running on my MacBook Pro&quot; src=&quot;http://farm6.static.flickr.com/5254/5517989549_1916903b05_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	How was it done?
	We just &lt;a href=&quot;http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Reference/Reference.html&quot;&gt;embedded a WebView&lt;/a&gt; in a native Cocoa app using Xcode.
	Is it inferior? Not noticeably so.
	On my MacBook Pro, the &lt;a href=&quot;http://goo.gl/ICa5u&quot;&gt;Chrome Web Store version&lt;/a&gt; ranges from about 50-250 FPS (frames per second) depending on how many monsters are on the screen.
	On the same computer, the &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught-arena/id418268106&quot;&gt;Mac App Store version&lt;/a&gt; ranges from 30-100 FPS.
	(You can see this for yourself: &lt;strong&gt;type &quot;lddebug&quot;&lt;/strong&gt; while in-game to see debug information.)
	And despite &lt;a href=&quot;http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio&quot;&gt;nasty HTML5 audio issues&lt;/a&gt;, sound plays great in both versions.
&lt;/p&gt;

&lt;p&gt;
	Surprisingly, the Chrome version runs faster than the native Mac version.
	While Safari and Chrome are both using WebKit as their rendering engines,
	Chrome is likely faster because &lt;a href=&quot;http://code.google.com/p/v8/&quot;&gt;V8&lt;/a&gt; has wicked speed and its canvas rendering is &lt;a href=&quot;http://blog.chromium.org/2010/09/unleashing-gpu-acceleration-on-web.html&quot;&gt;hardware-accelerated&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
	Either way, it runs great on both platforms and required almost no dedicated development time to port.
	If you&#39;re a developer, you should find this exciting. We certainly do!
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5517989875/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena&quot; src=&quot;http://farm6.static.flickr.com/5019/5517989875_9bd2dd3820_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Since you made it this far, you might like to read &lt;a href=&quot;https://www.lostdecadegames.com/our-first-week-in-the-chrome-webstore-the-num&quot;&gt;&quot;Our first week in the Chrome Webstore: the numbers&quot;&lt;/a&gt; if you&#39;re into graphs and sales numbers (and who isn&#39;t!).
	If you&#39;d like to learn more about our HTML5 development, including a tutorial on how to embed a WebView into a native Mac app,
	&lt;a href=&quot;http://twitter.com/lostdecadegames&quot;&gt;follow us on Twitter&lt;/a&gt;; we&#39;ll be writing about that soon.
&lt;/p&gt;

&lt;p&gt;
	&lt;a href=&quot;http://itunes.apple.com/us/app/onslaught-arena/id418268106&quot;&gt;
		See Onslaught! Arena in the Mac App Store.
	&lt;/a&gt;
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>How to embed HTML5 into a native Mac OSX app</title>
		<link href="https://www.lostdecadegames.com/how-to-embed-html5-into-a-native-mac-osx-app/"/>
		<updated>2011-03-15T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/how-to-embed-html5-into-a-native-mac-osx-app/</id>
		<content type="html">&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5526392241/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena&quot; src=&quot;http://farm6.static.flickr.com/5293/5526392241_e17c988d20_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Our game &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt; was only available on the &lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;Chrome Webstore&lt;/a&gt; when we first launched it.
	We recently announced that we had also launched the game on the &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught-arena/id418268106&quot;&gt;Mac App Store&lt;/a&gt;, using the &lt;a href=&quot;https://www.lostdecadegames.com/an-html5-game-in-the-mac-app-store&quot;&gt;exact same&lt;/a&gt; source code.
	Isn&#39;t HTML5 awesome?
&lt;/p&gt;

&lt;p&gt;
	Many of you expressed interest in how to embed a WebView into a Mac app, and as promised, here&#39;s a detailed tutorial.
&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
		Download Xcode onto your Mac. I was able to
		&lt;a href=&quot;http://developer.apple.com/xcode/&quot;&gt;download it from Apple&lt;/a&gt;
		but it&#39;s also
		&lt;a href=&quot;http://itunes.apple.com/us/app/xcode/id422352214?mt=12&quot;&gt;in the Mac App Store&lt;/a&gt;
		for $4.99, so your mileage may vary.
	&lt;/li&gt;
	&lt;li&gt;
		Run Xcode. Mine is located in &lt;code&gt;/Developer/Applications/Xcode.app&lt;/code&gt;.
	&lt;/li&gt;
	&lt;li&gt;
		Make a new project. This can be done by using the menubar: choose &lt;code&gt;File / New Project... / Mac OS X / Application / Cocoa Application / Choose ...&lt;/code&gt; then select the folder to save your project into. I&#39;ll use &lt;strong&gt;WebViewExample&lt;/strong&gt; as the project name in this tutorial (but you can use whatever you want).
	&lt;/li&gt;
	&lt;li&gt;
		In your Xcode window, under &lt;code&gt;Overview / Groups &amp;amp; Files&lt;/code&gt;, expand &lt;code&gt;WebViewExample / Frameworks&lt;/code&gt; by clicking the arrow icon.
	&lt;/li&gt;
	&lt;li&gt;
		Right-click &lt;strong&gt;Other Frameworks&lt;/strong&gt; and select &lt;code&gt;Add / Existing Frameworks... / Webkit.framework / Add&lt;/code&gt;.
	&lt;/li&gt;
	&lt;li&gt;
		On the same level as &lt;strong&gt;Frameworks&lt;/strong&gt;, expand &lt;strong&gt;Resources&lt;/strong&gt; by clicking the arrow icon.
	&lt;/li&gt;
	&lt;li&gt;
		In a Finder window, locate your HTML5 folder (the folder containing your &lt;code&gt;.html&lt;/code&gt; files, etc.) and drag it into this &lt;strong&gt;Resources&lt;/strong&gt; folder in Xcode. Make sure to choose &lt;strong&gt;Create Folder References for any added folders&lt;/strong&gt;.
	&lt;/li&gt;
	&lt;li&gt;
		On the same level as &lt;strong&gt;Resources&lt;/strong&gt;, expand &lt;strong&gt;Classes&lt;/strong&gt; by clicking the arrow icon.
	&lt;/li&gt;
	&lt;li&gt;
		Select &lt;strong&gt;WebViewExampleAppDelegate.h&lt;/strong&gt; which will open it for editing in the right column.
	&lt;/li&gt;
	&lt;li&gt;
		Edit the file to look like this:
		&lt;pre&gt;&lt;code&gt;
#import &amp;lt;Cocoa/Cocoa.h&amp;gt;
#import &amp;lt;WebKit/WebKit.h&amp;gt;

@interface WebViewExampleAppDelegate : NSObject &lt;NSApplicationDelegate&gt; {
	NSWindow *window;
	IBOutlet WebView *webView;
}

@property (assign) IBOutlet NSWindow *window;
@property (nonatomic, retain) IBOutlet WebView *webView;

@end
		&lt;/NSApplicationDelegate&gt;&lt;/code&gt;&lt;/pre&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Now select &lt;strong&gt;WebViewExampleAppDelegate.m&lt;/strong&gt; for editing.
		Edit the file to look like this:
		&lt;pre&gt;&lt;code&gt;
#import &quot;WebViewExampleAppDelegate.h&quot;

@implementation WebViewExampleAppDelegate

@synthesize window;
@synthesize webView;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
}

- (void)awakeFromNib {
	NSString *resourcesPath = [[NSBundle mainBundle] resourcePath];
	NSString *htmlPath = [resourcesPath stringByAppendingString:@&quot;/htdocs/index.html&quot;];
	[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]];
}

@end
		&lt;/code&gt;&lt;/pre&gt;
		&lt;em&gt;Note: in the line &lt;code&gt;NSString *htmlPath = [resourcesPath stringByAppendingString:@&quot;/htdocs/index.html&quot;];&lt;/code&gt;, change the string &quot;/htdocs/index.html&quot; to your game&#39;s &lt;code&gt;.html&lt;/code&gt; file.&lt;/em&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Under &lt;strong&gt;Groups &amp;amp; Files&lt;/strong&gt;, select &lt;strong&gt;WebViewExample&lt;/strong&gt;. Then, in the list to the right under &quot;File Name&quot;, double-click &lt;strong&gt;MainMenu.xib (English)&lt;/strong&gt;. This will open Interface Builder (which should be located in &lt;code&gt;/Developer/Applications/Interface Builder.app&lt;/code&gt;).
	&lt;/li&gt;
	&lt;li&gt;
		In Interface Builder, find the &lt;strong&gt;Library&lt;/strong&gt; window and select the &lt;strong&gt;Objects&lt;/strong&gt; tab.
	&lt;/li&gt;
	&lt;li&gt;
		Scroll down to find a row labeled &quot;Web View - A Coca WebView&quot; &lt;em&gt;(hint: you can type &quot;webview&quot; into the text box at the bottom of this window to filter the results)&lt;/em&gt; and drag it into the &lt;strong&gt;WebViewExample&lt;/strong&gt; window. &lt;em&gt;(another hint: you can resize it and its containing window to whatever sizes you want. More info on this in future tutorials.)&lt;/em&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Find the &quot;MainMenu.xib - English&quot; window and double-click &lt;strong&gt;Web View Example App Delegate&lt;/strong&gt;.
	&lt;/li&gt;
	&lt;li&gt;
		Find the tools window (the one with six icons at the very top, it should be labeled &quot;Web View Example App Delegate Identity&quot;). Switch to the &quot;Connections&quot; tab (by pressing the second icon from the right -- it&#39;s a blue circle with a white arrow inside).
		Look under &quot;Outlets&quot;. There should be only one row labeled &quot;window&quot;. You&#39;ll come back to this in a moment.
	&lt;/li&gt;
	&lt;li&gt;
		Go back to Xcode and press the &lt;strong&gt;Build and Run&lt;/strong&gt; button (or press command+return on your keyboard).
	&lt;/li&gt;
	&lt;li&gt;
		Go back to Interface Builder. In the &quot;Outlets&quot; section from before, you should now see a row labeled &quot;webView&quot; with an empty circle to the right of it. Press and hold your mouse down inside this empty circle. A blue line should begin to follow your mouse. Drag this blue line into the WebView object that you dropped into the &lt;strong&gt;WebViewExample&lt;/strong&gt; window earlier. (When you hover over it, it should highlight in blue.) Release the mouse button and a connection should be established (this enables communication with your WebView).
	&lt;/li&gt;
	&lt;li&gt;
		Save the file (&lt;code&gt;File / Save&lt;/code&gt; or command+s).
	&lt;/li&gt;
	&lt;li&gt;
		Return to Xode and &lt;strong&gt;Build and Run&lt;/strong&gt;. You should see your app running inside the window that opens.
	&lt;/li&gt;
&lt;/ol&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5517989875/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena&quot; src=&quot;http://farm6.static.flickr.com/5019/5517989875_9bd2dd3820_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	This example project is available &lt;a href=&quot;https://github.com/lostdecade/web_view_example&quot;&gt;on our GitHub page&lt;/a&gt; (I&#39;ve included my old game &lt;a href=&quot;http://scriptnode.com/lab/spacius/&quot;&gt;Spacius!&lt;/a&gt; as an example).
	You can also &lt;a href=&quot;https://github.com/lostdecade/web_view_example/blob/master/WebViewExample.app.zip&quot;&gt;download the generated WebViewExample app&lt;/a&gt; directly.
&lt;/p&gt;

&lt;p&gt;
	I&#39;ll post another tutorial soon on how to make a more complete app (&lt;strong&gt;EDIT :&lt;/strong&gt; now available &lt;a href=&quot;https://www.lostdecadegames.com/completing-your-native-mac-osx-app-built-in-h&quot;&gt;here&lt;/a&gt;!), including adding icons, enabling &lt;code&gt;localStorage&lt;/code&gt; and building a bridge from JavaScript to Objective-C.
	&lt;a href=&quot;http://twitter.com/lostdecadegames&quot;&gt;Follow us on Twitter&lt;/a&gt; to get notified when we publish that tutorial.
&lt;/p&gt;

&lt;p&gt;
	Could you get it to work? Any steps I could change to make things easier to understand? Please let me know in the comments.
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>What we need to get our HTML5 game on iPad</title>
		<link href="https://www.lostdecadegames.com/what-we-need-to-get-our-html5-game-on-ipad-sp/"/>
		<updated>2011-03-17T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/what-we-need-to-get-our-html5-game-on-ipad-sp/</id>
		<content type="html">&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5533389193/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena on iPad&quot; src=&quot;http://farm6.static.flickr.com/5014/5533389193_33d84a9947_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	One of our attractions to HTML5 is its portability.
	Our game &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt;
	began as a browser-based app but has since
	&lt;a href=&quot;https://www.lostdecadegames.com/an-html5-game-in-the-mac-app-store&quot;&gt;moved into native land&lt;/a&gt;
	by embedding a WebKit Web View into
	&lt;a href=&quot;http://itunes.apple.com/us/app/onslaught-arena/id418268106&quot;&gt;our OSX app&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
	Given &lt;a href=&quot;https://www.lostdecadegames.com/how-to-embed-html5-into-a-native-mac-osx-app&quot;&gt;how easy it was&lt;/a&gt;
	to get our game onto the Mac App Store, the next obvious question is, &quot;What about iPad?&quot;
	We&#39;ve been exploring it and are sad to report that we&#39;ve hit a brick wall of sorts.
&lt;/p&gt;

&lt;p&gt;
	HTML5 Audio is a disaster on iPad; only one sound file can play at a time, in addition to latency and other issues.
	Not to pick on iPad or Apple -- HTML5 Audio
	&lt;a href=&quot;http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio&quot;&gt;sucks all around&lt;/a&gt;.
	The good news is that it was pretty easy to hack in a fix on iPad and make audio work beautifully.
&lt;/p&gt;

&lt;p&gt;
	The trick to getting responsive audio on iPad via HTML5 was to create a bridge from JavaScript to Objective-C.
	I&#39;ll post a more detailed tutorial in the future (here&#39;s &lt;a href=&quot;https://www.lostdecadegames.com/rss.xml&quot;&gt;our RSS feed&lt;/a&gt; to get updates), but it looks something like this:
&lt;/p&gt;

```objc
- (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

	NSString *requestString = [[request URL] absoluteString];
	NSArray *components = [requestString componentsSeparatedByString:@&quot;://&quot;];

	if (([components count] &gt; 1)
		&amp;&amp; [(NSString *)[components objectAtIndex:0] isEqualToString:@&quot;jsbridge&quot;]) {

		if ([(NSString *)[components objectAtIndex:1] isEqualToString:@&quot;battle_music&quot;]) {
			// Play battle music here
		}
		return NO;
	}

	// Let any other request through
	return YES;
}
```

&lt;p&gt;
	Then in your JavaScript you&#39;d send a request to &lt;code&gt;&quot;jsbridge://battle_music&quot;;&lt;/code&gt;.
	The device detects this request, parses it, plays an audio file and cancels the request.
&lt;/p&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5533389725/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena on iPad&quot; src=&quot;http://farm6.static.flickr.com/5135/5533389725_9ac20fb8f8_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	So there&#39;s a workaround; audio is not the bottleneck. The problem with getting &lt;em&gt;our&lt;/em&gt; game onto iOS is &lt;strong&gt;speed&lt;/strong&gt;.
	As you can see in
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/sets/72157624619472766/with/5533389893/&quot;&gt;some of these screenshots&lt;/a&gt;
	of our game running in the iPad simulator, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Frame_rate&quot;&gt;frames per second&lt;/a&gt; (FPS) is severely lacking.
&lt;/p&gt;

&lt;p&gt;
	Movies play at 24 FPS, TV plays at about 30 FPS.
	Modern video games probably run at 60 FPS or more.
	While taking screenshots of &lt;strong&gt;Onslaught! Arena&lt;/strong&gt;, I did notice it can run as high as &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5533389405/&quot;&gt;59 FPS&lt;/a&gt;,
	but it&#39;s bursty and doesn&#39;t last.
	Most of the screenshots are more depressing, showing the game running at about &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5533972328/&quot;&gt;7 FPS&lt;/a&gt;, which is completely unplayable for an arcade game like ours.
	Plus, as you can see I&#39;ve removed the extra pixel drawing of the arena itself: the screen is just plain black and it&#39;s still unacceptably slow.
&lt;/p&gt;

&lt;p&gt;
	This speed problem is the &lt;em&gt;only&lt;/em&gt; thing keeping us from having a playable game on any iOS device.
	So Apple, Google, all of you WebKit supporters and browser makers: please make things run faster. Lotta love for ya, we just want more speed!
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Onslaught! Arena v1.2.25 is FREE (today only)</title>
		<link href="https://www.lostdecadegames.com/onslaught-arena-v1225-is-free-today-only/"/>
		<updated>2011-04-01T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/onslaught-arena-v1225-is-free-today-only/</id>
		<content type="html">&lt;p&gt;&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/sets/72157624619472766/&quot;&gt; &lt;img src=&quot;http://farm6.static.flickr.com/5292/5515971700_7737e4c29e.jpg&quot; alt=&quot;Onslaught! Arena&quot; /&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Good news, everyone! 	We just launched a big update to 	&lt;a href=&quot;http://goo.gl/l0EhM&quot;&gt;Onslaught! Arena&lt;/a&gt;, 	and to celebrate we&#39;re making it 	&lt;a href=&quot;http://goo.gl/l0EhM&quot;&gt;FREE for today only&lt;/a&gt; in the Chrome Webstore!&lt;/p&gt;
&lt;p&gt;Based on market research findings, 	this update includes the following changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Graphics update to make main character more likable. &lt;/li&gt;
&lt;li&gt; Title change to something more recognizable. &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;You die in only one hit&lt;/strong&gt; (but your game is saved after each wave). &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&#39;s &lt;strong&gt;normally $1.99&lt;/strong&gt;, so get it while it&#39;s hot! I mean, free and stuff!&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://goo.gl/l0EhM&quot;&gt;Get Onslaught! Arena FREE&lt;/a&gt;&lt;/h2&gt;</content>
	</entry>
	
	
	<entry>
		<title>No more foolin&#39; around</title>
		<link href="https://www.lostdecadegames.com/no-more-foolin-around/"/>
		<updated>2011-04-02T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/no-more-foolin-around/</id>
		<content type="html">&lt;p&gt;We&#39;ve reverted our &lt;a href=&quot;https://www.lostdecadegames.com/onslaught-arena-v1225-is-free-today-only&quot;&gt;April Fool&#39;s version of Onslaught! Arena&lt;/a&gt; back to the game we all know and love. &lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;Chrome Web Store&lt;/a&gt; users should see the game update in the next day or so.&lt;/p&gt;
&lt;p&gt;We enjoyed the Super Meat Boy mode so much that we&#39;ve left it in game, accessible via a keyboard code. Simply type &lt;strong&gt;MEAT&lt;/strong&gt; anytime during the game to play as &lt;a href=&quot;http://supermeatboy.com/&quot;&gt;Super Meat Boy&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Additionally, the game still &lt;strong&gt;saves every wave&lt;/strong&gt; now. We realize the game is extremely difficult so now attempting the &lt;a href=&quot;http://www.youtube.com/watch?v=AJscBSbc-aA&quot;&gt;Dragon&lt;/a&gt; or &lt;a href=&quot;http://www.youtube.com/watch?v=kvLV2OPbq2E&quot;&gt;Beholder&lt;/a&gt; over and over until you get it right won&#39;t be quite as punishing! :)&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;646 free downloads! by Lost Decade Games, on Flickr&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5582464201/&quot;&gt;&lt;img src=&quot;http://farm6.static.flickr.com/5266/5582464201_4d513bdbee_m.jpg&quot; alt=&quot;646 free downloads!&quot; width=&quot;240&quot; height=&quot;63&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We gave away &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught-arena/id418268106&quot;&gt;Onslaught! Arena on Mac App&lt;/a&gt; store for free yesterday as well and &lt;strong&gt;646 lucky users&lt;/strong&gt; snagged a copy! If you liked it please leave a review!&lt;/p&gt;
&lt;p&gt;Thanks everyone!&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Completing your native Mac OSX App built in HTML5</title>
		<link href="https://www.lostdecadegames.com/completing-your-native-mac-osx-app-built-in-h/"/>
		<updated>2011-04-17T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/completing-your-native-mac-osx-app-built-in-h/</id>
		<content type="html">&lt;p&gt;&lt;em&gt;Note: this is a continuation of &lt;a href=&quot;https://www.lostdecadegames.com/how-to-embed-html5-into-a-native-mac-osx-app&quot;&gt;How to embed HTML5 into a native Mac OSX app&lt;/a&gt;. This tutorial uses &lt;strong&gt;Xcode Version 4.0.1&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;So having gone through the first tutorial, you should now have a bare-bones native OSX application running your HTML5 program. Let&#39;s open that same project in Xcode (&lt;a href=&quot;https://github.com/lostdecade/web_view_example&quot;&gt;example on GitHub&lt;/a&gt;) and finish it up! I&#39;ll use &lt;strong&gt;WebViewExample&lt;/strong&gt; as the name of this tutorial project, but just like last time, yours can be whatever you like.&lt;/p&gt;

&lt;h2&gt;Adding an icon to your app&lt;/h2&gt;
&lt;p&gt;To set the icon that appears in the dock, Finder and other views, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;First you need an &lt;a href=&quot;http://en.wikipedia.org/wiki/Apple_Icon_Image_format&quot;&gt;Apple Icon Image&lt;/a&gt; file. To make one yourself, open up the Icon Composer application (mine is located in &lt;code&gt;/Developer/Applications/Utilities/Icon Composer.app&lt;/code&gt;). For the sake of speed you can use &lt;a href=&quot;https://github.com/lostdecade/web_view_example/blob/master/OnslaughtArena.icns&quot;&gt;OnslaughtArena.icns&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In Xcode&#39;s left sidebar, drill down into &lt;code&gt;WebViewExample / Resources&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Drag your &lt;code&gt;.icns&lt;/code&gt; file into the Resources folder.&lt;/li&gt;
&lt;li&gt;Still in the Resources folder, open the &lt;code&gt;WebViewExample-Info.plist&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;In the &quot;Key&quot; column, find the row with the value &quot;Icon file&quot;.&lt;/li&gt;
&lt;li&gt;Set the value of this row to the name of your &lt;code&gt;.icns&lt;/code&gt; file (eg, &lt;code&gt;OnslaughtArena.icns&lt;/code&gt;).&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;Closing the window should close the application&lt;/h2&gt;
&lt;p&gt;For those unfamiliar with OSX, I&#39;ll quickly describe what this means. In OSX, you can have an application open without any windows. This is very different from Microsoft&#39;s Windows operating system where if all the windows are closed, the application is no longer running. This can create an awkward user experience, so there must be a way to bring windows back. This flow doesn&#39;t really make much sense for games, so a good workaround is to close the application when all windows are closed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Be sure to do this&lt;/strong&gt;; we got rejected the first time we submitted because we did not enable this feature! Here&#39;s the reason from Apple:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We have found that if the user closes the app window, there is no way for the user to reopen the app without having to quit and relaunch the app.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Fortunately the fix is easy.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Xcode&#39;s left sidebar, drill down into &lt;code&gt;WebViewExample / Classes / WebViewExampleAppDelegate.m&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;code&gt;awakeFromNib&lt;/code&gt; method, add this line just above the closing bracket: &lt;code&gt;[window setDelegate:self];&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Add this method after the &lt;code&gt;awakeFromNib&lt;/code&gt; method:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;
- (void)windowWillClose:(NSNotification *)aNotification {
&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;[NSApp terminate:self];
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That&#39;s it! Now when you close your application&#39;s main window, the application should quit. &lt;em&gt;Note: this works great but it generates the warnings &quot;notice: Semantic Issue: Passing argument to parameter &#39;anObject&#39; here&quot; as well as &quot;Class &#39;WebViewExampleAppDelegate&#39; does not implement the &#39;NSWindowDelegate&#39; protocol&quot;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;Logging errors&lt;/h2&gt;
&lt;p&gt;Xcode can be a bit daunting to newcomers, but fortunately it&#39;s very easy to send messages to the log. It can be done with code like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NSLog(@&quot;example message&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(These messages should appear in the main Xcode window, in the very bottom.)&lt;/p&gt;
&lt;h2&gt;Enabling localStorage&lt;/h2&gt;
&lt;p&gt;It seems that, by default, &lt;code&gt;localStorage&lt;/code&gt; will not persist data in an embedded WebView as expected. Here&#39;s how to enable it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Xcode&#39;s left sidebar, drill down into&amp;nbsp;&lt;code&gt;WebViewExample / Classes / WebViewExampleAppDelegate.m&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Add this code to the top of the awakeFromNib method: &lt;code&gt;WebPreferences *prefs = [webView preferences];&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Then add this line just below that: &lt;code&gt;[prefs _setLocalStorageDatabasePath:@&quot;~/Library/YourProjectName/LocalStorage&quot;];&lt;/code&gt;. &lt;em&gt;(Be sure to use the name of your project intead of &quot;YourProjectName&quot;.)&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
	It&#39;s important to name the folder that &lt;code&gt;localStorage&lt;/code&gt; saves to with the same name as your application (eg, Onslaught! Arena saves to &lt;code&gt;&quot;~/Library/OnslaughtArena/LocalStorage&quot;&lt;/code&gt;)! Apple will reject your app if it puts data somewhere unexpected.
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: this may generate the warning &quot;&#39;WebPreferences&#39; may not respond to &#39;-_setLocalStorageDatabasePath:&#39;&quot;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5517989875/&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena&quot; src=&quot;http://farm6.static.flickr.com/5019/5517989875_9bd2dd3820_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;Your application should now meet the bare essentials for submission to the Mac App Store, and you could be reaching a wider audience with your HTML5 app in no time (pending Apple&#39;s approval &amp;hellip;). Did I miss anything you were hoping to know about? Any steps not work for you? Please let me know.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bonus:&lt;/strong&gt; if you want to see what kind of quality you can get out of a native OSX HTML5 app, we just dropped the price of &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt; in the &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught-arena/id418268106?mt=12&quot;&gt;Mac App Store to $1.99&lt;/a&gt;! See HTML5 in action for yourself.&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Lava background sprite creation (timelapse)</title>
		<link href="https://www.lostdecadegames.com/lava-background-sprite-creation-timelapse/"/>
		<updated>2011-05-25T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-background-sprite-creation-timelapse/</id>
		<content type="html">&lt;p&gt;If you &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;follow us on Twitter&lt;/a&gt; you may already know this, but we&#39;ve been busy working on a new version of &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught&lt;/a&gt;. We&#39;re really excited to be preparing the game for iPad, and instead of just delivering a straight-up port we&#39;ll be adding a ton of new content.&lt;/p&gt;
&lt;p&gt;The new content ranges all over from weapons, monsters and a new boss, but one the most signifcant updates will be four brand new environments. This should be fun: the last stage takes place &lt;em&gt;inside a damn volcano&lt;/em&gt;! I&#39;ve been working really hard to make interesting environments for players to enjoy and thought a timelapse video of their creation might be fun to watch:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;full-frame&quot;&gt;&lt;iframe width=&quot;500&quot; height=&quot;314&quot; frameborder=&quot;0&quot; src=&quot;http://www.youtube.com/embed/XMBAcX42-lo&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hope you like it; it was a blast to make! And what is that background music? Why, it&#39;s a brand new soundtrack by &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt;! Players will be treated to at least 5 brand new nuggets of music goodness.&amp;nbsp;If you&#39;re a fan of Onslaught, retro games or the iPad, keep you eye on this space! We&#39;ll be blogging about our new iPad game hopefully in the next few weeks.&lt;/p&gt;
&lt;p&gt;And (though the timelapse doesn&#39;t cover everything), here&#39;s the final product:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;full-frame&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5760443355/in/photostream&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2397/5760443355_e9d9ed1348.jpg&quot; alt=&quot;Onslaught Volcano stage&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>The road to a production-quality HTML5 game on iOS</title>
		<link href="https://www.lostdecadegames.com/the-road-to-a-production-quality-html5-game-o/"/>
		<updated>2011-07-11T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/the-road-to-a-production-quality-html5-game-o/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://techcrunch.com/2011/07/11/html5-game-maker-looks-to-transcend-sleepy-chrome-web-store-sales-on-ios/&quot;&gt;
		&lt;img alt=&quot;Onslaught! for iPad on TechCrunch&quot; src=&quot;http://farm7.static.flickr.com/6012/5928010148_8823671290.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;

&lt;h2&gt;
	&lt;a href=&quot;http://techcrunch.com/2011/07/11/html5-game-maker-looks-to-transcend-sleepy-chrome-web-store-sales-on-ios/&quot;&gt;As seen today on TechCrunch!&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;
	About a year ago, Geoff and I were both senior frontend engineers working for
	&lt;a href=&quot;http://raptr.com/&quot;&gt;Raptr&lt;/a&gt;.
	As software programmers by trade and hardcore gamers at heart,
	we were anxious to test out this new &quot;HTML5&quot; buzzword to see how well it could handle game development.
	BoingBoing happened to be running a
	&lt;a href=&quot;http://boingboing.net/arcade/&quot;&gt;Games Inspired by Music&lt;/a&gt; contest,
	to which we submitted our &lt;strong&gt;first HTML5 game&lt;/strong&gt;, an early version of
	&lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena&quot;&gt;Onslaught! Arena&lt;/a&gt;.
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5252304247/in/photostream&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena at the Chrome Webstore press release&quot; src=&quot;http://farm6.static.flickr.com/5130/5252304247_0e56ef269d_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	The game that we entered to
	&lt;a href=&quot;http://boingboing.net/arcade/&quot;&gt;the contest&lt;/a&gt;
	was a quick two-week hack put together in our spare time,
	written in &lt;strong&gt;JavaScript and Canvas&lt;/strong&gt; and designed to run reasonably well in &quot;modern browsers.&quot;
	Making the game was extremely fast and easy, using Google Chrome and its
	&lt;a href=&quot;http://blog.chromium.org/2011/04/chrome-developer-tools-understanding.html&quot;&gt;great developer tools&lt;/a&gt;.
	As expected, the primary issues we ran into were largely performance-related.
	About mid-way through development, however, Chrome &quot;unleashed&quot;
	&lt;a href=&quot;http://blog.chromium.org/2010/09/unleashing-gpu-acceleration-on-web.html&quot;&gt;GPU acceleration&lt;/a&gt;
	on the web, which shot our FPS (frames per second)
	from ~30 to something more like ~200 on tested desktop computers and laptops.
	(Basically the game ran about an &lt;em&gt;order of magnitude faster&lt;/em&gt;, as browsers were improving by leaps and bounds.)
	Like &lt;a href=&quot;http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio&quot;&gt;other developers&lt;/a&gt;,
	we also had a cavalcade of &lt;strong&gt;nasty audio issues&lt;/strong&gt;, ranging from latency, to format incompatiblity and stuttering playback.
	We ended up shipping with &lt;a href=&quot;http://www.schillmania.com/projects/soundmanager2/&quot;&gt;SoundManager 2&lt;/a&gt;
	(a JavaScript-to-flash audio API), though we eventually did utilize HTML5&#39;s Audio tag.
&lt;/p&gt;

&lt;p&gt;
	Around this time, Google was coincidentally
	&lt;a href=&quot;http://techcrunch.com/2010/05/19/chrome-web-store/&quot;&gt;preparing&lt;/a&gt;
	for the launch of its new
	&lt;a href=&quot;https://chrome.google.com/webstore&quot;&gt;Chrome Web Store&lt;/a&gt;,
	which was a potentially exciting new platform championing HTML5 and open web standards.
	After scrambling to polish Onslaught! Arena and wrapping a Chrome-colored bow around it,
	&lt;a href=&quot;https://www.lostdecadegames.com/announcing-onslaught-arena-for-sale-in-the-go&quot;&gt;Onslaught! Arena launched in Google&#39;s web store&lt;/a&gt;.
	We were invited to the press release, had a
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5252913696/in/photostream&quot;&gt;screenshot of our game up on a big wall&lt;/a&gt;,
	and were very excited to see our HTML5 creation getting
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5673721388/in/photostream&quot;&gt;industry attention&lt;/a&gt;.
&lt;/p&gt;

&lt;a class=&quot;before&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5517989875/in/set-72157624619472766&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena in the Mac App Store&quot; src=&quot;http://farm6.static.flickr.com/5019/5517989875_9bd2dd3820_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;
	Despite being a featured game to launch with a brand new offering from a heavyweight like Google,
	&lt;a href=&quot;https://www.lostdecadegames.com/our-first-week-in-the-chrome-webstore-the-num&quot;&gt;sales were lackluster&lt;/a&gt;
	(as &lt;a href=&quot;http://techcrunch.com/2011/01/04/sales-have-slowed-to-a-trickle-on-googles-chrome-web-store/&quot;&gt;pointed out by TechCrunch&lt;/a&gt;).
	Given that part of HTML5&#39;s intended appeal is its portability,
	we thought it was time to give it a real-world test.
	This includes some successes, such as a
	&lt;a href=&quot;https://www.lostdecadegames.com/an-html5-game-in-the-mac-app-store&quot;&gt;release in the Mac App Store&lt;/a&gt;,
	but we found that our primary problem was still slow performance, particularly
	&lt;a href=&quot;https://www.lostdecadegames.com/what-we-need-to-get-our-html5-game-on-ipad-sp&quot;&gt;on iOS&lt;/a&gt;
	(I believe that our best benchmark was ~10 FPS, the target for any game being at &lt;em&gt;least&lt;/em&gt; 30 FPS).
	The answer to our speed woes came from
	&lt;a href=&quot;http://techcrunch.com/2011/02/17/game-closure-makes-it-a-breeze-to-build-multiplayer-cross-platform-games/&quot;&gt;Game Closure&lt;/a&gt;,
	a small group of wickedly smart guys who put together a multi-platform HTML5 game framework.
&lt;/p&gt;

&lt;p&gt;
	Leveraging Game Closure&#39;s tech, we had a playable version of Onslaught! Arena on iPad after just a day of hacking,
	running at an impressive 60 FPS (5x that of a simple embedded WebView).
	Their approach is very similar to that of &lt;a href=&quot;http://www.phoboslab.org/log/2010/10/impact-for-ios&quot;&gt;ImpactJS&lt;/a&gt; -- that is,
	they have a custom JavaScript environment, accelerated with direct access to native graphics and sound.
	The best part is that our development environment never changed;
	we were still using Google Chrome, working in pure HTML5 and enjoying Chrome&#39;s fine developer tools.
&lt;/p&gt;

&lt;p&gt;
	We didn&#39;t just want to port the game over, however.
	We wanted this release to be something special, so we spent a few weeks
	stuffing it full of brand new content, including:
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5841748350/in/photostream&quot;&gt;
	&lt;img alt=&quot;Onslaught! for iPad: Dragon Lair&quot; src=&quot;http://farm3.static.flickr.com/2784/5841748350_a528c99d95_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;ul&gt;
	&lt;li&gt;Completely redone, full soundtrack by &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Revamped arena, much bigger playing area&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Four&lt;/strong&gt; new environments (Sewers, Dragon Lair, Sunken City and Volcano)&lt;/li&gt;
	&lt;li&gt;New &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5829587759/in/photostream&quot;&gt;Stage Select screen&lt;/a&gt; to improve the game&#39;s pacing and replayability&lt;/li&gt;
	&lt;li&gt;New weapon: &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5830138264/in/photostream&quot;&gt;frostbolt&lt;/a&gt; (stops enemies cold!)&lt;/li&gt;
	&lt;li&gt;New monsters: &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5830138392/in/photostream&quot;&gt;skeleton, merman and Naga&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://twitpic.com/56z1zw&quot;&gt;Shop&lt;/a&gt; (featuring an &lt;a href=&quot;http://www.html5rocks.com/en/tutorials/casestudies/onslaught.html&quot;&gt;HTML5 Shield&lt;/a&gt;, Speed Boots, Gold Armor, Whet Stone and even a &lt;a href=&quot;http://www.pixeljoint.com/pixelart/62388.htm&quot;&gt;Dragon Familiar&lt;/a&gt; to help you fight)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5829587929/in/photostream&quot;&gt;Two types of controls&lt;/a&gt; (touch-to-move, dual sticks)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
	Development take-aways
&lt;/h2&gt;

&lt;p&gt;
	We&#39;ve learned dozens of lessons and have what we hope are insightful and helpful
	take-aways about the process of bringing an HTML5 game to production-quality on iOS.
	We&#39;ll be writing about them all in due time (&lt;a href=&quot;https://www.lostdecadegames.com/rss.xml&quot;&gt;subscribe here&lt;/a&gt;),
	but here are a quick handful of pointers:
&lt;/p&gt;

&lt;a class=&quot;after&quot; href=&quot;http://www.flickr.com/photos/50655575@N03/5673721388/in/photostream&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena in Game Developer magazine&quot; src=&quot;http://farm6.static.flickr.com/5141/5673721388_f98100ba58_m.jpg&quot; /&gt;
&lt;/a&gt;

&lt;ul&gt;
	&lt;li&gt;Browsers are &lt;strong&gt;great&lt;/strong&gt; for prototyping and fast development. If you&#39;re used to compiling your game before being able to test out some code, you&#39;ll love moving over to an environment where you can simply reload the game with a single keystroke.&lt;/li&gt;
	&lt;li&gt;Don&#39;t worry about framerate/performance until you &lt;strong&gt;absolutely must&lt;/strong&gt;. On more than one occasion, we dirtied up our game&#39;s logic with slight optimization tweaks, only to later get huge speed increases later from external sources (that didn&#39;t require code updates).&lt;/li&gt;
	&lt;li&gt;Developer tools in the browser are really great. Firebug paved the way for Web Inspector, and current versions of Chrome are a developer&#39;s dream. I have only some experience debugging in Objective-C or the Android SDK, but they feel heavy-handed in comparison.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	We&#39;d like to point out that even with all of this new content, Onslaught! is still a &lt;strong&gt;pure HTML5 game&lt;/strong&gt;.
	It was developed in Google Chrome, and leveraging Game Closure&#39;s SDK, required no additional iOS-specific work on our part.
&lt;/p&gt;

&lt;p&gt;
	&lt;a href=&quot;http://itunes.apple.com/us/app/onslaught!/id441426241?ls=1&amp;mt=8&quot;&gt;Onslaught! is available now in the iPad App Store.&lt;/a&gt;
	We put a &lt;strong&gt;lot of love&lt;/strong&gt; in this game; we hope you&#39;ll check it out and
	let us know what you think in the comments or on &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;Twitter&lt;/a&gt;. Game on!
&lt;/p&gt;

&lt;h2&gt;
	Side note: this space is blowing up
&lt;/h2&gt;

&lt;p&gt;
	HTML5 and games built on HTML5 are &lt;strong&gt;really hot right now&lt;/strong&gt;.
	If you&#39;re not convinced by our little game&#39;s story, you should know about other huge companies becoming invested
	in the technology, including Apple, Google, Electronics Arts, and Facebook among other major players.
	We are actively hiring across the development board, from experts in JavaScript
	and game programming to interns looking to learn.
	If you find this space interesting, please do &lt;a href=&quot;mailto:hello+jobs@lostdecadegames.com&quot;&gt;contact us&lt;/a&gt;.
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Onslaught! now available on Android tablets</title>
		<link href="https://www.lostdecadegames.com/onslaught-now-available-on-android-tablets/"/>
		<updated>2011-07-16T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/onslaught-now-available-on-android-tablets/</id>
		<content type="html">&lt;p&gt;
	&lt;strong&gt;Update:&lt;/strong&gt; we&#39;ve taken the Android version down, as the Game Closure SDK is both not currently supporting Android and we do not have access to it. Our sincere apologies for any inconvenience.
&lt;/p&gt;

&lt;p&gt;Hot on the heels of our announcement of &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught!/id441426241&quot;&gt;Onslaught! for iPad&lt;/a&gt;, we&#39;re now equally as thrilled to announce &lt;strong&gt;Onslaught! for Android&lt;/strong&gt;. This is again without any additional code on our part, thanks to &lt;a href=&quot;http://gameclosure.com/&quot;&gt;Game Closure&lt;/a&gt;&#39;s awesome technology. Read all about it in our previous article, &lt;a href=&quot;https://www.lostdecadegames.com/the-road-to-a-production-quality-html5-game-o&quot;&gt;&quot;The road to a production-quality HTML5 game on iOS&quot;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Unfortunately it&#39;s currently only compatible with Android tablets, but we are working on a version that will work with Android phones too. &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;Follow us on Twitter&lt;/a&gt; to know be notified as soon as it&#39;s available!&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Dear Lost Decade...</title>
		<link href="https://www.lostdecadegames.com/dear-lost-decade/"/>
		<updated>2011-07-18T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/dear-lost-decade/</id>
		<content type="html">&lt;p&gt;&lt;a class=&quot;after&quot; href=&quot;http://itunes.apple.com/us/app/onslaught!/id441426241&quot;&gt; &lt;img src=&quot;http://farm7.static.flickr.com/6007/5951545329_a45d615527_m.jpg&quot; alt=&quot;Onslaught! on iPad&quot; /&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;About a week ago we launched &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught!/id441426241&quot;&gt;Onslaught! on iPad&lt;/a&gt;, and during the weekend we were surprised and delighted to discover a few things. First, &lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5951545329/in/photostream&quot;&gt;Onslaught! is in the &quot;New &amp;amp; Noteworthy&quot; section&lt;/a&gt; of the iPad App Store. We&#39;re thrilled to see Apple helping to bring exposure to our game, and have been excited to see a significant boost in sales. We think this speaks loudly that HTML5 is here, today, and there can be no more doubt that it&#39;s a viable development choice.&lt;/p&gt;
&lt;p&gt;Second, and no less impactful to us, was a well-written and thoughtful review from a loving fan of the game. The subject of the review is &quot;Dear Lost Decade...&quot; and you should be able to read it on the &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught!/id441426241&quot;&gt;review page&lt;/a&gt;. Here it is verbatim:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Onslaught! is a love letter to a certain subset of gamers; those that  grew up playing white-box Dungeons &amp;amp; Dragons and video games in  equal measure, i.e. - me. If you are a fellow member of that elite but  dorky minority, buy this game immediately. If you are not, wait five  minutes, then buy it anyway.&lt;br /&gt;&lt;br /&gt;It feels like this game has been  marinating in awesome since the day it was conceived, lovingly nurtured  through the development process, and then birthed into the app store,  kicking and screaming. This game is truly original. Not oh-em-gee, I&#39;ve  never seen anything like this and it&#39;s going to change the world; that&#39;s  innovation. This is originality; taking tried and true game mechanics  and themes and melding them in a way that feels new. In some ways, this  is superior to innovation, because it deftly tiptoes ninja-style over  the pitfall of creating something that is new, but not necessarily  better. An original title safely co-opts proven content in a way that  feels startlingly fresh.&lt;br /&gt;&lt;br /&gt;But enough philosophizing. This game has  Owlbears. Do want. The sewer level boss is a Gelatinous Cube. Yes,  money, give it. This game has an icon in the front end that looks  strikingly similar to the silhouette of a Beholder. That&#39;s right, take  it baby, you know you want it. That&#39;s how freakin&#39; kewl this game is,  that&#39;s the way that it&#39;s retro, and that&#39;s why the devs had me at hello.&lt;br /&gt;&lt;br /&gt;Add  that to the fact that the controls are perfect, the weapons are  diverse, and the enemies are brilliantly differentiated in the most  elegant of ways. Yes, this is dual-stick, but it&#39;s not Geometry Wars,  where you are pouring out bullets at light speed, across the length of  the screen. While I do love that, it would not have been on theme for  this game, and the decision to steer clear of it was a smart one.&lt;br /&gt;&lt;br /&gt;Instead,  some of the weapons have noticeably short ranges, both to match the  fantasy theme and to distinguish between other weapons with different  properties: double dagger with a wide arc-of-fire, high rate-of-fire  spears, burning fireballs, freezing ice shards, and axes that ricochet.  Enemies have vulnerabilities and invulnerabilities to some of these  weapons too. Ever tried to fight a Gelatinous Cube with a dagger? Tried  and died...&lt;br /&gt;&lt;br /&gt;The diversity of the enemies is just as important.  When the Minotaur enters the first arena, then charges at you blindingly  fast, you realize that fact. Some enemies multiply, some have ranged  attacks, some teleport, and some just mob you till you suffocate.&lt;br /&gt;&lt;br /&gt;Add  to this laundry list that you can purchase gear for your adventure from  Ye Olde Shop, with a heaping pile of golden doubloons from your  previous trek. Also add three levels of difficulty, each with its own  arena (watch out for the traps amongst the piles of glistening treasure  in the dragon&#39;s lair). Also add that this game will receive continued  love and support from the devs, because anyone who cares enough to share  their baby with the world will make certain that it fairs well in its  strange and wonderful new surroundings.&lt;br /&gt;&lt;br /&gt;Some people will not like  game as much as me. That&#39;s okay, I don&#39;t mind. I happen to gravitate  toward beauty in simplicity. I am not of the opinion that Gameloft&#39;s  latest flavor-of-the-week clone is what makes the app store special, no  matter how polished they are. What makes the app store special is that a  guy can have a simple idea, release it into the wild, have it sit  toe-to-toe with those games, and come out on top in gamers&#39; minds. I  have to think that would be his proudest moment.&lt;br /&gt;&lt;br /&gt;To the developers of this game,&lt;br /&gt;&lt;br /&gt;Thank you so much for the letter. It means the world to me; it really does. Love you too.&lt;br /&gt;&lt;br /&gt;xoxo,&lt;br /&gt;&lt;br /&gt;.djflippy&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The player known as&amp;nbsp;djflippy took the time to write this eloquent review, so we wanted to spotlight it. As Geoff and I are oldschool hardcore gamers ourselves, our intention was very much to appeal to this audience. Since it seems that we have accomplished that with at the very least this supportive fan, we are beyond satisfied. Here&#39;s a huge digital hug for&amp;nbsp;djflippy, and thank you for making our weekend delightful!&lt;/p&gt;
&lt;p&gt;To help spread the love, we are making Onslaught! &lt;strong&gt;50% off&lt;/strong&gt; for the rest of the week. If you haven&#39;t yet, &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught!/id441426241&quot;&gt;pick it up now for $0.99&lt;/a&gt;!&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Analog thumb sticks for iOS using HTML5</title>
		<link href="https://www.lostdecadegames.com/analog-thumb-sticks-for-ios-using-html5/"/>
		<updated>2011-08-05T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/analog-thumb-sticks-for-ios-using-html5/</id>
		<content type="html">&lt;h2&gt;From mouse and keyboard to analog thumb sticks&lt;/h2&gt;
&lt;p&gt;You may have read before about some of the &lt;a href=&quot;https://www.lostdecadegames.com/what-we-need-to-get-our-html5-game-on-ipad-sp&quot;&gt;difficulties of porting Onslaught! to iOS&lt;/a&gt;. The first major hurdle we had to jump was getting a decent framerate. This and many other technical issues (including audio) were &lt;a href=&quot;https://www.lostdecadegames.com/the-road-to-a-production-quality-html5-game-o&quot;&gt;solved by Game Closure&#39;s SDK&lt;/a&gt;, but there were other critical issues to address, including a fundamental difference in user input.&lt;/p&gt;
&lt;p&gt;Versions of Onslaught! Arena for&amp;nbsp;&lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;Chrome&lt;/a&gt; and &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught-arena/id418268106&quot;&gt;OSX&lt;/a&gt; rely on mouse and keyboard controls. Players can use the WASD keys (or arrow keys) to navigate, as well as the mouse for aiming and attacking. Obviously these input mechanisms are not compatible with touch devices. To make the jump to mobile as smooth as possible, we experimented with many different control schemes, and ended up providing players with two options:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Touch to move.&lt;/strong&gt; We labeled this as the &quot;Beginner&quot; option, informing players to &quot;Use one finger.&quot; This is a streamlined, AI-assisted control scheme. Players touch the device where they want their character to move, and the character automatically attacks the nearest enemy or projectile.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analog thumb sticks.&lt;/strong&gt; This is the (comparatively) &quot;Advanced&quot; scheme, asking players to &quot;Use two thumbs.&quot; This mechanism provides players with complete control over where their character is moving, where he is facing, when to attack, and fine granular control over the angle of the thrown projectiles.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
	&lt;a href=&quot;http://www.flickr.com/photos/50655575@N03/5829587929/in/photostream&quot;&gt;
		&lt;img src=&quot;http://farm3.static.flickr.com/2791/5829587929_e6dc166d74.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;None of the decisions we made regarding user input were decided on lightly. First, we understood that analog thumb sticks have issues of their own, so we read up on &lt;a href=&quot;http://www.gamasutra.com/view/feature/6323/a_guide_to_ios_twin_stick_shooter_.php&quot;&gt;best practices&lt;/a&gt; and studied the approach used by other popular games in the shoot &#39;em up genre (including &lt;a href=&quot;http://minigore.blogspot.com/&quot;&gt;Minigore&lt;/a&gt; and &lt;a href=&quot;http://itunes.apple.com/us/app/geometry-wars-touch/id364175436?mt=8&quot;&gt;Geometry Wars&lt;/a&gt;).&amp;nbsp;Based on this research, there seemed to be two very different approaches to the positioning of digital thumb sticks: dynamic and static.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dynamic thumb sticks&lt;/strong&gt; (like those used in Geometry Wars) appear on the screen only after the player touches the device, creating anchor points. Movement is then recorded as relative to those points. This has advantages such as user comfort; if one player likes to have his or her thumbs near the edge of the screen, that&#39;s fine. Likewise this method supports players who would prefer to reach farther into the device for stability or other reasons. One potential downside is that without prior visual indication, it may not be easily understood how to interact with the game or where to touch the device to begin input.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Static thumb sticks&lt;/strong&gt; are typically always visible and in fixed positions on the screen. We decided to go with this option for a few reasons, including what we believe to be a more robust first-time experience; players new to the game could see at a glance where to put their thumbs. Additionally, it removed issues with monsters or traps being hidden beneath players&#39; thumbs!&lt;/p&gt;

&lt;h2&gt;Technical approach&lt;/h2&gt;
&lt;p&gt;We strongly believe in code reuse so we wanted something that could easily be dropped into just about any project. This led to the creation of a &lt;a href=&quot;https://github.com/lostdecade/analog_sticks&quot;&gt;Stick class&lt;/a&gt; that can be used like so:&lt;/p&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; stick &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Stick&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// 40 is the size of the input&lt;/span&gt;
document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;mousemove&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	e&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;preventDefault&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	stick&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setInputXY&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;pageX&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; e&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;pageY&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This is easily rendered to the canvas element with code like:&lt;/p&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;beginPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;arc&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;stick&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;limit&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; stick&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;limit&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; limitSize&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Math&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;PI&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
context&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Examples&lt;/h2&gt;
&lt;p&gt;Below I&#39;ve embedded an example that uses this class as a&amp;nbsp;&lt;strong&gt;dynamic thumbstick&lt;/strong&gt; that should work in most browsers. The thumb stick does not appear until input begins and controls the velocity of the green circle:&lt;/p&gt;
&lt;p&gt;&lt;iframe style=&quot;background:#fff;&quot; width=&quot;400&quot; height=&quot;300&quot; scrolling=&quot;no&quot; src=&quot;https://www.lostdecadegames.com/demos/analog_sticks/&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Using the same class, I&#39;ve embedded another example, this time as a &lt;strong&gt;static thumbstick&lt;/strong&gt;. This demo also controls the velocity of the green circle but it&#39;s been augmented with base and pivot graphics (the same graphics used in Onslaught!):&lt;/p&gt;
&lt;p&gt;&lt;iframe style=&quot;background:#fff;&quot; width=&quot;400&quot; height=&quot;300&quot; scrolling=&quot;no&quot; src=&quot;https://www.lostdecadegames.com/demos/analog_sticks/static_with_graphic.html&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;For readers who would also like to see how this is accomplished on an actual iPad, load up&amp;nbsp;&lt;a href=&quot;https://www.lostdecadegames.com/demos/analog_sticks/ios.html&quot;&gt;this page&lt;/a&gt;&amp;nbsp;on your device.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>How to make a simple HTML5 Canvas game</title>
		<link href="https://www.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game/"/>
		<updated>2011-08-29T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;How to make a simple HTML5 Canvas game&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/tuts/simple.jpg&quot; width=&quot;500&quot; height=&quot;200&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;
	You want a quick tutorial for making a SIMPLE game in HTML5?
	Let&#39;s walk through a SIMPLE game practically line-by-line!
	(If you&#39;re curious about my credentials, I made half of &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt;.)
&lt;/p&gt;

&lt;p&gt;
	Let&#39;s jump right in by walking through
	&lt;a href=&quot;https://github.com/lostdecade/simple_canvas_game/blob/master/js/game.js&quot;&gt;game.js&lt;/a&gt;.
	You can also &lt;a href=&quot;https://www.lostdecadegames.com/demos/simple_canvas_game/&quot;&gt;play the game right here&lt;/a&gt;.
&lt;/p&gt;

&lt;h2&gt;Screenshot&lt;/h2&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/demos/simple_canvas_game/&quot;&gt;
		&lt;img alt=&quot;Simple game using Onslaught! graphics&quot; src=&quot;http://farm7.static.flickr.com/6203/6084194152_35c3e3ba34_z.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;

&lt;h2&gt;1. Create the canvas&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Create the canvas&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; canvas &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;canvas&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; ctx &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; canvas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getContext&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;2d&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
canvas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;width &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;512&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
canvas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;height &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;480&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;body&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;appendChild&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;canvas&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	The first thing we need to do is create a
	&lt;a href=&quot;https://developer.mozilla.org/en/canvas_tutorial&quot;&gt;canvas element&lt;/a&gt;.
	I did this in JavaScript instead of HTML to demonstrate how easily it is accomplished.
	Once we have the element we get a reference to its context, which we use to issue drawing commands.
	Then we set its dimensions, and add it to document so it&#39;ll appear in the page.
&lt;/p&gt;

&lt;h2&gt;2. Include images&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Background image&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; bgReady &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; bgImage &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
bgImage&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;onload&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	bgReady &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
bgImage&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;src &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;images/background.png&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	A game needs graphics, so let&#39;s load up some images!
	I wanted to do this as simply as possible so it&#39;s just an &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement&quot;&gt;Image&lt;/a&gt; instead of being wrapped up in a nice Class or something.
	&lt;code&gt;bgReady&lt;/code&gt; is used to let us know when it&#39;s safe to draw the image, as trying to
	&lt;a href=&quot;http://stackoverflow.com/questions/2923564/uncaught-error-index-size-err&quot;&gt;draw it before it&#39;s loaded will throw a DOM error&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
	We do this for each of the three graphics we need:
	&lt;a href=&quot;https://github.com/lostdecade/simple_canvas_game/blob/master/images/background.png&quot;&gt;background&lt;/a&gt;,
	&lt;a href=&quot;https://github.com/lostdecade/simple_canvas_game/blob/master/images/hero.png&quot;&gt;hero&lt;/a&gt;,
	and &lt;a href=&quot;https://github.com/lostdecade/simple_canvas_game/blob/master/images/monster.png&quot;&gt;monster&lt;/a&gt;.
&lt;/p&gt;

&lt;h2&gt;3. Game objects&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Game objects&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; hero &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;speed&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;256&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// movement in pixels per second&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; monster &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; monstersCaught &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	Now we define some variables we&#39;ll need to use later.
	&lt;code&gt;hero&lt;/code&gt; gets setup with &lt;code&gt;speed&lt;/code&gt; which is how fast it&#39;ll move in pixels per second.
	&lt;code&gt;monster&lt;/code&gt; won&#39;t move so it just has coordinates.
	Lastly, &lt;code&gt;monstersCaught&lt;/code&gt; stores the number of monsters the player has caught.
&lt;/p&gt;

&lt;h2&gt;4. Player input&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Handle keyboard controls&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; keysDown &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token function&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;keydown&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	keysDown&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;keyCode&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token function&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;keyup&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;delete&lt;/span&gt; keysDown&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;e&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;keyCode&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	Now for input handling.
	(This is probably the first part that will trip up developers who come from a web development background.)
	In the web stack, it may be appropriate to begin animating or requesting data right when the user initiates input.
	But in this flow, we want our game&#39;s logic to live solely in once place to retain tight control over when and if things happen.
	For that reason we just want to store the user input for later instead of acting on it immediately.
&lt;/p&gt;

&lt;p&gt;
	To accomplish this we simply have a variable &lt;code&gt;keysDown&lt;/code&gt; which stores any event&#39;s &lt;code&gt;keyCode&lt;/code&gt;.
	If a key code is in the object, the user is currently pressing that key. Simple!
&lt;/p&gt;

&lt;h2&gt;5. New game&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Reset the game when the player catches a monster&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;reset&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; canvas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;width &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; canvas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;height &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Throw the monster somewhere on the screen randomly&lt;/span&gt;
	monster&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Math&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;random&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;canvas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;width &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	monster&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Math&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;random&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;canvas&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;height &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	The &lt;code&gt;reset&lt;/code&gt; function is called to begin a new game, or level, or whatever you&#39;d like to call it.
	It places the hero (the player) in the center of the screen and the monster somewhere randomly.
&lt;/p&gt;

&lt;h2&gt;6. Update objects&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Update game objects&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;update&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;modifier&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;38&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; keysDown&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Player holding up&lt;/span&gt;
		hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;-=&lt;/span&gt; hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;speed &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; modifier&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;40&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; keysDown&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Player holding down&lt;/span&gt;
		hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;speed &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; modifier&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;37&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; keysDown&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Player holding left&lt;/span&gt;
		hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;-=&lt;/span&gt; hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;speed &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; modifier&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;39&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; keysDown&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Player holding right&lt;/span&gt;
		hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;+=&lt;/span&gt; hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;speed &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; modifier&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Are they touching?&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
		hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;monster&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; monster&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;monster&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; monster&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;monstersCaught&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token function&quot;&gt;reset&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	This is the &lt;code&gt;update&lt;/code&gt; function and is called every single interval execution.
	The first thing it does is checks the up, down, left, and right arrow keys to see if the user has pressed them.
	If so, the hero is moved in the corresponding direction.
&lt;/p&gt;

&lt;p&gt;
	What may seem odd is the &lt;code&gt;modifier&lt;/code&gt; argument passed into &lt;code&gt;update&lt;/code&gt;.
	You&#39;ll see how this is referenced in the &lt;code&gt;main&lt;/code&gt; function, but let me first explain it here.
	&lt;code&gt;modifier&lt;/code&gt; is a time-based number based on 1.
	If exactly one second has passed, the value will be 1 and the hero&#39;s speed will be multiplied by 1, meaning he will have moved 256 pixels in that second.
	If one half of a second has passed, the value will be 0.5 and the hero will have moved half of his speed in that amount of time.
	And so forth.
	This function gets called so rapidly that the &lt;code&gt;modifier&lt;/code&gt; value will typically be very low,
	but using this pattern will ensure that the hero will move the same speed no matter how fast (or slowly!) the script is running.
&lt;/p&gt;

&lt;p&gt;
	Now that we&#39;ve moved the hero according to the player&#39;s input, we can check to see if it caused anything to happen.
	If there was a collision with the hero and monster, that&#39;s it! That&#39;s pretty much the game.
	We tally the score (+1 to &lt;code&gt;monstersCaught&lt;/code&gt;) and reset the game.
&lt;/p&gt;

&lt;h2&gt;7. Render objects&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Draw everything&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;render&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;bgReady&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;drawImage&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;bgImage&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;heroReady&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;drawImage&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;heroImage&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; hero&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;monsterReady&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;drawImage&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;monsterImage&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; monster&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; monster&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;y&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Score&lt;/span&gt;
	ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;fillStyle &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;rgb(250, 250, 250)&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;font &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;24px Helvetica&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textAlign &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;left&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textBaseline &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;top&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fillText&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Monsterrs caught: &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; monstersCaught&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	Games are more fun when you get to see the action going down, so let&#39;s draw everything to the screen.
	First we take the background image and
	&lt;a href=&quot;https://developer.mozilla.org/en/Canvas_tutorial/Using_images&quot;&gt;draw it to the canvas&lt;/a&gt;.
	Repeat for the hero and monster.
	&lt;em&gt;Note that the order is important, as any image drawn to the canvas will draw over the pixels under it.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
	Next we change some properties on the context related to how to draw the font, and we make a call to &lt;code&gt;fillText&lt;/code&gt; to display the player&#39;s score.
	As we don&#39;t have any complicated animations or movement, we&#39;re done drawing.
&lt;/p&gt;

&lt;h2&gt;8. The main game loop&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// The main game loop&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;main&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; now &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; Date&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; delta &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; now &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; then&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;delta &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	then &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; now&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Request to do this again ASAP&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;requestAnimationFrame&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;main&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	The main game loop is what controls the flow of the game.
	First we want to get the current timestamp so we can calculate the delta (how many milliseconds have passed since the last interval).
	We get the modifier to send to &lt;code&gt;update&lt;/code&gt; by dividing by 1000 (the number of milliseconds in one second).
	Then we call &lt;code&gt;render&lt;/code&gt; and record the timestamp.
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;
	See also the
	&lt;a href=&quot;http://www.html5rocks.com/en/tutorials/casestudies/onslaught.html#toc-the-game-loop&quot;&gt;Onslaught! Arena Case Study&lt;/a&gt;
	for more on game loops.
&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;9. A note about looping&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Cross-browser support for requestAnimationFrame&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; w &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; window&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
requestAnimationFrame &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; w&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;requestAnimationFrame &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; w&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;webkitRequestAnimationFrame &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; w&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;msRequestAnimationFrame &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; w&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;mozRequestAnimationFrame&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	&lt;em&gt;Don&#39;t worry, it&#39;s not necessary to fully understand this part, but I thought an explanation of the looping code would be beneficial.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
	To continuously call the &lt;code&gt;main&lt;/code&gt; game loop function, this tutorial used to execute the &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Window.setInterval&quot;&gt;setInterval&lt;/a&gt; method. These days there&#39;s a better way, via the &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/window.requestAnimationFrame&quot;&gt;requestAnimationFrame&lt;/a&gt; method. However, as with most new web technologies, some code is needed to ensure cross-browser support. The &lt;a href=&quot;https://en.wikipedia.org/wiki/Polyfill&quot;&gt;polyfill&lt;/a&gt; I&#39;ve included is a simplified version of the one on &lt;a href=&quot;http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/&quot;&gt;Paul Irish&#39;s article&lt;/a&gt;.
&lt;/p&gt;

&lt;h2&gt;10. Start the game!&lt;/h2&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Let&#39;s play this game!&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; then &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; Date&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;reset&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	Almost there, this is the last code snippet!
	First we we set our timestamp (with the variable &lt;code&gt;then&lt;/code&gt;) to seed it.
	Then we call &lt;code&gt;reset&lt;/code&gt; to start a new game/level.
	(Remember that this centers the hero and places the monster randomly for the player to find.)
&lt;/p&gt;

&lt;p&gt;
	Congraulations! You now understand the basic fundamentals of game development (I hope!) using the canvas element in JavaScript.
	Try it out on your own:
	&lt;a href=&quot;https://www.lostdecadegames.com/demos/simple_canvas_game/&quot;&gt;Play the game&lt;/a&gt; or
	&lt;a href=&quot;https://github.com/lostdecade/simple_canvas_game&quot;&gt;fork&lt;/a&gt; the code on GitHub and get started hacking.
&lt;/p&gt;

&lt;h2&gt;What&#39;s Next?&lt;/h2&gt;

&lt;p&gt;
	Dive into game development with &lt;a href=&quot;https://www.valadria.com/game-dev-medkit/&quot;&gt;Game Dev Medkit&lt;/a&gt;, a free pack of game development goodies.
&lt;/p&gt;

&lt;a href=&quot;https://www.valadria.com/game-dev-medkit/&quot;&gt;&lt;img alt=&quot;Game Dev Medkit&quot; src=&quot;https://www.lostdecadegames.com/media/images/products/GameDevMedkit_Info.jpg&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;</content>
	</entry>
	
	
	<entry>
		<title>Our new blog is running on Jekyll</title>
		<link href="https://www.lostdecadegames.com/our-new-blog-is-running-on-jekyll/"/>
		<updated>2011-09-12T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/our-new-blog-is-running-on-jekyll/</id>
		<content type="html">&lt;p&gt;Welcome to our new website! As web developers, we&#39;ve been aware that our site has been a bit ... sad? For entirely too long now. So we rolled up our sleeves, made a brand new design and moved our blog off of &lt;a href=&quot;http://posterous.com/&quot;&gt;Posterous&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;What&#39;s different?&lt;/h2&gt;
&lt;p&gt;Our new site is hosted via &lt;a href=&quot;http://pages.github.com/&quot;&gt;GitHub Pages&lt;/a&gt; and is powered by &lt;a href=&quot;https://github.com/mojombo/jekyll&quot;&gt;Jekyll&lt;/a&gt; -- a &amp;quot;blog-aware, static site generator.&amp;quot; There are several benefits to this setup:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jekyll compiles the site once and then only static html files are served making page load times very fast.&lt;/li&gt;
&lt;li&gt;We can deploy changes or make new posts just by committing to the &lt;a href=&quot;https://github.com/lostdecade/manor&quot;&gt;GitHub repo&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Better &lt;a href=&quot;http://daringfireball.net/projects/markdown/&quot;&gt;Markdown&lt;/a&gt; support which makes Geoff especially happy.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to the above changes we&#39;re using &lt;a href=&quot;http://lesscss.org/&quot;&gt;LESS&lt;/a&gt; to write cleaner and more easily maintained CSS.&lt;/p&gt;
&lt;p&gt;It looks like we&#39;re not the only ones migrating our site to GitHub Pages, either. Check out &lt;a href=&quot;http://developmentseed.org/blog/2011/09/09/jekyll-github-pages/&quot;&gt;this article from Development Seed&lt;/a&gt; for some great tips on using Jeykll.&lt;/p&gt;
&lt;h2&gt;More organized GitHub repos&lt;/h2&gt;
&lt;p&gt;Our demos and code samples used to all be thrown into our public &lt;a href=&quot;https://github.com/lostdecade/manor&quot;&gt;manor&lt;/a&gt; repo, but this made for awkward forking and wasn&#39;t very clean. Now we&#39;ve made separate repos for our demos including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/lostdecade/analog_sticks&quot;&gt;Analog Sticks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/lostdecade/simple_canvas_game&quot;&gt;Simple HTML5 Canvas Game&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So fork, fork away!&lt;/p&gt;
&lt;h2&gt;So long, comments!&lt;/h2&gt;
&lt;p&gt;We mourn the loss of our comments. Thank you to all who contributed to discussions on our blog, but we hope that moving forward, relying on social networks for interaction with our fans and readers will be adequate. As always, please feel free to &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;email us&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;More stuff coming soon&lt;/h2&gt;
&lt;p&gt;We&#39;ll be making a more substantial page for &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena/&quot;&gt;Onslaught!&lt;/a&gt;, designing an actual title, and fixing any issues that may arise. What do you think? Do you have a setup for your website that&#39;s similar to ours? Let us know on &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;Twitter&lt;/a&gt;!&lt;/p&gt;
&lt;h2&gt;Update Feb 7, 2022&lt;/h2&gt;
&lt;p&gt;Nope, it&#39;s now running on &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;(Yes, I did this over a decade later.)&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lost Links: 9/23/2011</title>
		<link href="https://www.lostdecadegames.com/lost-links-09-23-2011/"/>
		<updated>2011-09-23T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lost-links-09-23-2011/</id>
		<content type="html">&lt;p&gt;Welcome to the first installment of Lost Links, a weekly round-up of HTML5 gaming related links.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.phoboslab.org/ogs2011/#1&quot;&gt;Survival Guide to HTML5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://creativejs.com/2011/09/box2d-javascript-tutorial-series-by-seth-ladd/&quot;&gt;Box2D &amp;amp; JavaScript tutorials by Seth Ladd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://massively.joystiq.com/2011/09/20/mmobility-illyriad-devs-shine-light-on-html5/&quot;&gt;MMObility: Illyriad devs shine light on HTML5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.betable.com/hacking-game-boundaries-the-html5-revolution&quot;&gt;Hacking Game Boundaries: The HTML5 Revolution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://smus.com/game-asset-loader&quot;&gt;Loading Large Assets in Modern HTML5 Games&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&#39;s all for this week. Feel free to point us at interesting HTML5 gaming content via Twitter (&lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;@lostdecadegames&lt;/a&gt;) or by emailing us at &lt;a href=&quot;https://www.lostdecadegames.com/lost-links-09-23-2011/hello@lostdecadegames.com&quot;&gt;hello@lostdecadegames.com&lt;/a&gt;.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Blog author attribution using Jekyll</title>
		<link href="https://www.lostdecadegames.com/blog-author-attribution-using-jekyll/"/>
		<updated>2011-09-26T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/blog-author-attribution-using-jekyll/</id>
		<content type="html">&lt;p&gt;Since &lt;a href=&quot;https://www.lostdecadegames.com/our-new-blog-is-running-on-jekyll/&quot;&gt;converting our website/blog to use Jekyll&lt;/a&gt; we&#39;ve had a chance to dig a bit deeper into the usage of the framework. One of the first features we tackled was author attribution in blog posts. In this post I&#39;ll cover our approach in detail.&lt;/p&gt;
&lt;p&gt;Our goal was to display, at the very least, the author&#39;s name and &lt;a href=&quot;http://en.gravatar.com/&quot;&gt;Gravatar&lt;/a&gt; on each blog post. Originally, we hard-coded these values in the &lt;a href=&quot;https://github.com/mojombo/jekyll/wiki/yaml-front-matter&quot;&gt;YAML Front Matter&lt;/a&gt;. For example:&lt;/p&gt;
&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; article
&lt;span class=&quot;token key atrule&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Catchy blog post title
&lt;span class=&quot;token key atrule&quot;&gt;post_author_index&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1 Blair
&lt;span class=&quot;token key atrule&quot;&gt;post_gravatar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 76dbcc74021b8039f14c7b583978b56d
&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
This is the post content.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rendering this data was very straightforward:&lt;/p&gt;
&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&amp;lt;div class=&quot;post&quot;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
	&amp;lt;div class=&quot;meta&quot;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
		&amp;lt;img src=&quot;http&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//www.gravatar.com/avatar/&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; page.post_gravatar &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;?&lt;/span&gt;s=40&quot;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
		&amp;lt;span class=&quot;author&quot;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; page.post_author &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&amp;lt;/span&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
	&amp;lt;/div&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; content &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&amp;lt;/div&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This approach worked decently but has some obvious drawbacks. We found ourselves opening previous blog posts by the desired author and copy/pasting the author data into a new file. While this doesn&#39;t take up an extraordinary amount of time, there certainly had to be a more elegant solution.&lt;/p&gt;
&lt;p&gt;Ideally, specifying an author would be as simple as adding a key &lt;code&gt;author_index: 1&lt;/code&gt; or &lt;code&gt;author_index: 0&lt;/code&gt; to a blog post and looking up the rest of the info defined elsewhere.&lt;/p&gt;
&lt;p&gt;After some reading the &lt;a href=&quot;https://github.com/mojombo/jekyll/wiki/Template-Data&quot;&gt;Jekyll wiki page on Template Data&lt;/a&gt; I found that Jekyll exposes anything in &lt;code&gt;_config.yml&lt;/code&gt; through the &lt;code&gt;site&lt;/code&gt; variable:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As of 0.5.2, all data inside of your _config.yml is now available through the site variable. So for example, if you have url: http://mysite.com in your configuration file, then in your posts and pages it can be used like so: {{ site.url }}.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;With that in mind, I created a data structure in &lt;code&gt;_config.yml&lt;/code&gt; to represent post authors:&lt;/p&gt;
&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;authors&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;matt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;display_name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Matt Hackett
    &lt;span class=&quot;token key atrule&quot;&gt;gravatar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 60fd5218fff6927c0ed376cce01c5460
    &lt;span class=&quot;token key atrule&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; matt@lostdecadegames.com
    &lt;span class=&quot;token key atrule&quot;&gt;web&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; http&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//www.richtaur.com/
    &lt;span class=&quot;token key atrule&quot;&gt;twitter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; richtaur
    &lt;span class=&quot;token key atrule&quot;&gt;github&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; richtaur
  &lt;span class=&quot;token key atrule&quot;&gt;geoff&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;display_name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Geoff Blair
    &lt;span class=&quot;token key atrule&quot;&gt;gravatar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 76dbcc74021b8039f14c7b583978b56d
    &lt;span class=&quot;token key atrule&quot;&gt;email&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; geoff@lostdecadegames.com
    &lt;span class=&quot;token key atrule&quot;&gt;web&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; http&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//www.geoffblair.com/
    &lt;span class=&quot;token key atrule&quot;&gt;twitter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; geoffblair
    &lt;span class=&quot;token key atrule&quot;&gt;github&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; geoffb&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rendering author information is almost as easy as before, we just need to grab a reference to the current author&#39;s data in our post template:&lt;/p&gt;
&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;% assign author = site.authors&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;page.author&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; %&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&amp;lt;div class=&quot;post&quot;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
	&amp;lt;div class=&quot;meta&quot;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
		&amp;lt;img src=&quot;http&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;//www.gravatar.com/avatar/&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; author.gravatar &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;?&lt;/span&gt;s=40&quot;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
		&amp;lt;span class=&quot;author&quot;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; author.display_name &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&amp;lt;/span&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
	&amp;lt;/div&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; content &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&amp;lt;/div&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nice and clean!&lt;/p&gt;
&lt;p&gt;Another benefit of this setup is that we can use the author data elsewhere, too. Take a look at &lt;a href=&quot;https://github.com/lostdecade/manor/blob/master/about/index.html&quot;&gt;the source for our about page&lt;/a&gt; for an example.&lt;/p&gt;
&lt;p&gt;We&#39;re pretty happy with this approach. Let us know on &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;Twitter&lt;/a&gt; or by &lt;a href=&quot;mailto:hello@lostdecadegames.com&quot;&gt;email&lt;/a&gt; if you know of a better way!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lost Links: 9/30/2011</title>
		<link href="https://www.lostdecadegames.com/lost-links-09-30-2011/"/>
		<updated>2011-09-30T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lost-links-09-30-2011/</id>
		<content type="html">&lt;p&gt;HTML5 gaming links for this week! Also, if you&#39;re interested in chatting about HTML5 game dev, Matt and I are hanging out in #bbg on Freenode IRC. Drop in and say hello to zylo (Geoff) and richtaur (Matt)!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.sencha.com/blog/ie10-preview-html5-first-look/&quot;&gt;IE10 Preview: HTML5 First Look&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.sethladd.com/2011/09/mouse-lock-for-html5-fps-games.html&quot;&gt;Mouse Lock for HTML5 FPS games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.gopherwoodstudios.com/2011/09/html5-appcache-and-keeping-clients.html&quot;&gt;HTML5 AppCache and Keeping Clients Updated&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.pusher.com/2011/9/26/ongamestart-a-bright-future-for-html5-games&quot;&gt;onGameStart: a bright future for HTML5 games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.tojicode.com/2011/09/state-of-javascript-fullscreen-api.html&quot;&gt;The state of the Javascript Fullscreen API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://fleetingfantasy.com/game-list&quot;&gt;Fleeting Fantasy #bbg Game List&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.newgameconf.com/&quot;&gt;New Game - The conference for HTML5 game developers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&#39;s all for this week. Feel free to point us at interesting HTML5 gaming content via Twitter (&lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;@lostdecadegames&lt;/a&gt;) or by emailing us at &lt;a href=&quot;https://www.lostdecadegames.com/lost-links-09-30-2011/hello@lostdecadegames.com&quot;&gt;hello@lostdecadegames.com&lt;/a&gt;.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Audia is a library for simplifying the Web Audio API</title>
		<link href="https://www.lostdecadegames.com/audia-is-a-library-for-simplifying-the-web-audio-api/"/>
		<updated>2011-10-05T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/audia-is-a-library-for-simplifying-the-web-audio-api/</id>
		<content type="html">&lt;p&gt;After receiving numerous &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;requests on Twitter&lt;/a&gt;, I started working on a tutorial for playing sound in HTML5. You may have read about &lt;a href=&quot;http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio&quot;&gt;previous frustrations with Audio&lt;/a&gt; from the HTML5 developer community, and when I dug in recently, the situation was all-too familiar.&lt;/p&gt;
&lt;h2&gt;Wrong tool for the job&lt;/h2&gt;
&lt;p&gt;In the latest version of Chrome, sound playback was unreliable, bits and pieces were missing from the API, and things just did not work as expected. Safari faired better, but it still felt like &lt;code&gt;Audio&lt;/code&gt; was not ready for prime time. However, I think the problem was more of using the wrong tool for the job. Games need responsive, reliable, sometimes even dynamic sound playback, and because of this, &lt;code&gt;Audio&lt;/code&gt; is not the best choice for game development.&lt;/p&gt;
&lt;p&gt;A good way to think about it is by comparing the &lt;code&gt;Image&lt;/code&gt; and &lt;code&gt;Audio&lt;/code&gt; tags. Both are simple HTML elements that really just want &lt;code&gt;src&lt;/code&gt; attributes, from which they&#39;ll fetch the media and display it in the document. For advanced image manipulation, &lt;code&gt;Canvas&lt;/code&gt; is used, and for advanced audio manipulation, &lt;code&gt;AudioContext&lt;/code&gt; can be used.&lt;/p&gt;
&lt;h2&gt;Enter the Web Audio API&lt;/h2&gt;
&lt;p&gt;It turns out, the Web Audio API is here today and it is pretty badass. (By &amp;quot;here today&amp;quot; I really just mean Chrome, but it exists and works great even in the &lt;a href=&quot;http://www.chromium.org/getting-involved/dev-channel&quot;&gt;stable channel&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;Just about the only documentation I could find was the &lt;a href=&quot;https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html&quot;&gt;W3C Working Draft&lt;/a&gt;, but this was enough to meet feature parity with &lt;code&gt;Audio&lt;/code&gt;. Fair warning to developers looking to toy around with it: &lt;strong&gt;the API is extremely low-level&lt;/strong&gt; and cumbersome to use (but quite fun if that floats your boat!).&lt;/p&gt;
&lt;p&gt;Here&#39;s what it takes to simply load up a sound file and play it:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;typeof&lt;/span&gt; AudioContext &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;function&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; audioContext &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;AudioContext&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;typeof&lt;/span&gt; webkitAudioContext &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;function&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; audioContext &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;webkitAudioContext&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; source &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; audioContext&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createBufferSource&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
source&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;audioContext&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;destination&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; xhr &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;XMLHttpRequest&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;GET&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;your_sound_file.mp3&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;responseType &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;arraybuffer&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;onload&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; buffer &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; audioContext&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createBuffer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;response&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	source&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;buffer &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; buffer&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	source&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;noteOn&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That&#39;s a lot of code! Let&#39;s walk through it.&lt;/p&gt;
&lt;h3&gt;1. Create an instance of AudioContext&lt;/h3&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;typeof&lt;/span&gt; AudioContext &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;function&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; audioContext &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;AudioContext&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;typeof&lt;/span&gt; webkitAudioContext &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;function&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; audioContext &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;webkitAudioContext&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Since this is bleeding-edge technology, we can&#39;t guarantee that &lt;code&gt;AudioContext&lt;/code&gt; exists. Indeed, Chrome currently has the &lt;code&gt;webkitAudioContext&lt;/code&gt; object (an experimental implementation). So before we can create a new instance we first have to check to see what we have available.&lt;/p&gt;
&lt;h3&gt;2. Create a buffer source and connect it to the audio output&lt;/h3&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; source &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; audioContext&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createBufferSource&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
source&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;audioContext&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;destination&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We request to create a buffer source and store it in the &lt;code&gt;source&lt;/code&gt; variable. Then we connect the source to the audio context&#39;s &lt;code&gt;destination&lt;/code&gt; property, which will hopefully be our computer&#39;s speakers!&lt;/p&gt;
&lt;h3&gt;3. Fetch the mp3 file&lt;/h3&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; xhr &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;XMLHttpRequest&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;GET&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;your_sound_file.mp3&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;responseType &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;arraybuffer&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;onload&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// See step 4&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This might be a tad unexpected for JavaScript programmers who are accustomed to simply setting a property on an HTML node (for example. &lt;code&gt;myAudio.src = &amp;quot;my_sound.mp3&amp;quot;;&lt;/code&gt;), but to fetch our sound file we need to do it via an &lt;code&gt;XMLHttpRequest&lt;/code&gt; object. This is basic AJAXy stuff, aside from needing to set &lt;code&gt;responseType&lt;/code&gt; to &amp;quot;arraybuffer&amp;quot;.&lt;/p&gt;
&lt;h3&gt;4. Create the sound buffer and play the sound&lt;/h3&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; buffer &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; audioContext&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createBuffer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;xhr&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;response&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
source&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;buffer &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; buffer&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
source&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;noteOn&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This code makes up the contents of the above &lt;code&gt;XMLHttpRequest&lt;/code&gt; object&#39;s &lt;code&gt;onload&lt;/code&gt; method. First we create a buffer, passing in the XHR response and &lt;code&gt;false&lt;/code&gt;. (That second parameter is &amp;quot;mixToMono&amp;quot;, and we don&#39;t necessarily want our sound in mono, so we pass in &lt;code&gt;false&lt;/code&gt;.) This buffer gets passed to the source by setting its &lt;code&gt;buffer&lt;/code&gt; property.&lt;/p&gt;
&lt;p&gt;Next, there&#39;s a call to the odd method &lt;code&gt;noteOn&lt;/code&gt;. In simpler English, this would be &lt;code&gt;play&lt;/code&gt;, but what is going on behind the scenes is much more complicated. The argument represents the time (in seconds) to begin playback. To make our playback begin immediately, we pass &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Pretty involved just to play a sound, right? But the reward is well worth it, because now we have low-level access to our computer&#39;s sound and can implement &lt;a href=&quot;http://chromium.googlecode.com/svn/trunk/samples/audio/&quot;&gt;all kinds of goodies&lt;/a&gt; like panning, filters and other neat effects.&lt;/p&gt;
&lt;h2&gt;Introducing Audia&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.lostdecadegames.com/demos/audia/examples/&quot;&gt;Jump straight to the demo?&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;While experimenting with this new API, I quickly discovered that a library to abstract away all this complication would be nice to have, so I wrote one. Here is what I call &lt;a href=&quot;https://github.com/richtaur/audia&quot;&gt;Audia&lt;/a&gt;, which implements a very &lt;a href=&quot;https://github.com/richtaur/audia#readme&quot;&gt;straightforward API&lt;/a&gt; while still providing some of the power of the Web Audio API. Here&#39;s an example of how it can be used:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;Audia&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;supported&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function&quot;&gt;alert&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Oops, no AudioContext object found ...&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; attackSound &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Audia&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
attackSound&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;onload&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	attackSound&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;play&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
attackSound&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;src &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;audio/demoblin_attacks.mp3&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Or alternatively:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; backgroundMusic &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Audia&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;sewers.mp3&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;volume&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0.5&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Audio (especially as pertains to video games) is a little hobby of mine, so you can bet I&#39;ll be exposing more of the power behind the Web Audio API to &lt;a href=&quot;https://github.com/richtaur/audia&quot;&gt;Audia&lt;/a&gt;&#39;s simple interface. So do &lt;a href=&quot;https://www.lostdecadegames.com/demos/audia/examples/&quot;&gt;check out the demo&lt;/a&gt; and let me know in the comments about any issues, feature requests, etc.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lost Links: 10/7/2011</title>
		<link href="https://www.lostdecadegames.com/lost-links-10-07-2011/"/>
		<updated>2011-10-07T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lost-links-10-07-2011/</id>
		<content type="html">&lt;p&gt;Happy Friday! Check out our HTML5 gaming links for this week:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://coding.smashingmagazine.com/2011/10/04/quick-look-math-animations-javascript/&quot;&gt;A Quick Look Into The Math Of Animations With JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.olegkikin.com/audio/audio.html&quot;&gt;HTML5 Expression-Based Music Generation Tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.html5rocks.com/en/mobile/optimization-and-performance.html&quot;&gt;HTML5 Techniques for Optimizing Mobile Performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://alteredqualia.com/three/examples/webgl_cars.html&quot;&gt;WebGL Cars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.dottech.nl/raycaster/&quot;&gt;A Wolf3D-esque HTML5 Raycaster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.chromeexperiments.com/detail/wormz/&quot;&gt;Wormz (a Chrome Experiment)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.tojicode.com/2011/10/source-engine-levels-in-webgl-video.html&quot;&gt;Source Engine Levels in WebGL: Video + Source&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&#39;s all for this week. Feel free to point us at interesting HTML5 gaming content via Twitter (&lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;@lostdecadegames&lt;/a&gt;) or by emailing us at &lt;a href=&quot;https://www.lostdecadegames.com/lost-links-10-07-2011/hello@lostdecadegames.com&quot;&gt;hello@lostdecadegames.com&lt;/a&gt;.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Onslaught! -- a history of violence (in images)</title>
		<link href="https://www.lostdecadegames.com/onslaught-a-history-of-violence-in-images/"/>
		<updated>2011-10-10T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/onslaught-a-history-of-violence-in-images/</id>
		<content type="html">&lt;p&gt;&lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena/&quot;&gt;Onslaught!&lt;/a&gt; is a medieval fantasy arcade shoot &#39;em up. It was one of the very first commercial HTML5 games available to the world, launching on &lt;a href=&quot;https://www.lostdecadegames.com/announcing-onslaught-arena-for-sale-in-the-go/&quot;&gt;December 7, 2010&lt;/a&gt; with the Chrome Webstore and has since launched on &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught!/id441426241&quot;&gt;iPad&lt;/a&gt; and &lt;a href=&quot;https://www.lostdecadegames.com/onslaught/&quot;&gt;Android tablets&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;HTML5 is taking off, the web is evolving, the Chrome Web Store is available in more countries than ever and one of these days we&#39;ll be announcing our next game, so I thought this would be as good a time as any to walk through Onslaught! and its near-successes. Here&#39;s a history of Onslaught!, in images:&lt;/p&gt;
&lt;h2&gt;1. First whiteboard&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Onslaught!&#39;s first whiteboard&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/01_first_whiteboard.jpg&quot; /&gt;
&lt;/div&gt;
Geoff and I spend a ton of time talking, scribbling, debating and planning before we write even a single line of code. This is the first of many whiteboards we scratched out while developing Onslaught!.
&lt;h2&gt;2. Early environment test&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Early environment test&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/02_early_environment_test.png&quot; /&gt;
&lt;/div&gt;
We needed graphics but we didn&#39;t have any dedicated artist friends or extra money to spend. So I rolled up my sleeves, bought a [Cintiq tablet][5] and drew out some tests to see if I could bang out the graphics myself.
&lt;h2&gt;3. Whiteboard: game flow&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Whiteboard flow&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/03_whiteboard_flow.jpg&quot; /&gt;
&lt;/div&gt;
This was another early whiteboard, showing the flow of the menus and interface of the game.
&lt;h2&gt;4. Objects test&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Objects test&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/04_objects_test.png&quot; /&gt;
&lt;/div&gt;
Here&#39;s another graphics test, this time for basic game objects. I think the mantra was &quot;good enough.&quot;
&lt;h2&gt;5. Couch development&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Couch development&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/05_ldg_making_onslaught.jpg&quot; /&gt;
&lt;/div&gt;
This is a very typical setup for how we worked on Onslaught!. Some days we&#39;d leave [work][6] and head to Geoff&#39;s for some game design, other days (like in this photo) we&#39;d head to my place for gameplay tweaking on the big screen.
&lt;h2&gt;6. Whiteboard: enemy statistics&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Enemy statistics whiteboard&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/06_whiteboard_enemy_stats.jpg&quot; /&gt;
&lt;/div&gt;
We spent ridiculous amounts of time tweaking the damage, health, behavior and interaction of the enemies in Onslaught!, hoping to provide retro gamers with an experience that would feel polished, and familiar yet new.
&lt;h2&gt;7. Dragon tests&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Dragon tests&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/07_dragon_tests.png&quot; /&gt;
&lt;/div&gt;
I think at some point I [found my stride with graphics][7], and to me the dragon turned out really well (unlike the minotaur). Dragons of all colors are interesting and nostalgic to us, but in the end you can&#39;t beat the classic &quot;green dragon.&quot;
&lt;h2&gt;8. Google internal contest poster&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Google contest poster&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/08_google_contest_poster.png&quot; /&gt;
&lt;/div&gt;
I&#39;m not sure that we ever publicly talked about this! As part of Google&#39;s internal promotion for the Chrome Webstore, they held a contest to see who could get the highest score in Onslaught!. The winner received an Amazon gift card. We later met with the best players to discuss issues with the game and how we could improve it for our players. Google intended to print these posters I made and put them around their campus. That never happened, but the experience was still invaluble.
&lt;h2&gt;9. Chrome Web Store launch&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Chrome Web Store launch&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/09_chrome_launch_wall.jpg&quot; /&gt;
&lt;/div&gt;
As early adopters of the platform, we were invited to Google&#39;s big media event where they announced the Chrome Web Store and talked about Chrome OS. It was really exciting, as screenshots of Onslaught! could be found around the extravagant event, including this one (Onslaught! can be seen below the word &quot;Chrome&quot;).
&lt;h2&gt;10. New environments test&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;New environments test&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/10_lol_beach_party.png&quot; /&gt;
&lt;/div&gt;
We were planning on [bringing Onslaught! to iPad][8], and to help make the jump to a new platform successful, we wanted to add more content for gamers to enjoy. This was an early sketch of some ideas we had.
&lt;h2&gt;11. Sunken City&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Sunken City&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/11_sunken_city.png&quot; /&gt;
&lt;/div&gt;
And this is the final version of the beach scene that shipped with the updated game.
&lt;h2&gt;12. Demo party&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Demo part&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/12_demo_party.jpg&quot; /&gt;
&lt;/div&gt;
As part of [working with Game Closure&#39;s SDK][9], they graciously threw a release party for Onslaught!. Many players showed up from [StartX][10] for catered food and a brand new gaming challenge. Much useful feedback was had, as well as some shouts of victory that was a real pleasure for us to experience firsthand.
&lt;h2&gt;13. New and Noteworthy&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;New and Noteworthy&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/13_ipad_new_and_noteworthy.png&quot; /&gt;
&lt;/div&gt;
We were stoked to see Onslaught! in the &quot;New and Noteworthy&quot; section in the iPad App Store. We only saw a slight boost in sales, but it was still exciting.
&lt;h2&gt;14. Game Developer Magazine screenshot&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Game Developer Magazine screenshot&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/14_game_developer_magazine.jpg&quot; /&gt;
&lt;/div&gt;
One of the biggest thrills of my life was reading through [Game Developer Magazine][11] and seeing a screenshot of our game. Sure it&#39;s just a little mention, but you gotta start somewhere. I&#39;m so proud I framed it and put it on my wall.
&lt;h2&gt;15. Onslaught! on iPad&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Onslaught! on iPad&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_history_in_images/15_ipad_stage_select.png&quot; /&gt;
&lt;/div&gt;
And here&#39;s the latest version of Onslaught!, at the Stage Select screen. It&#39;s been a long journey, and we&#39;re very proud of our little game.
&lt;h2&gt;So what&#39;s next?&lt;/h2&gt;
&lt;p&gt;We&#39;re not totally sure just yet, but we&#39;ll be announcing something soon. Stay tuned, and thanks for reading.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lost Links: 10/14/2011</title>
		<link href="https://www.lostdecadegames.com/lost-links-10-14-2011/"/>
		<updated>2011-10-14T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lost-links-10-14-2011/</id>
		<content type="html">&lt;p&gt;Enjoy this Friday&#39;s roundup of HTML5 gaming links!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://labs.dinahmoe.com/plink/&quot;&gt;Plink: Web Audio API experiment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/2011/09/games/&quot;&gt;Workshop on HTML.next for Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/playn/&quot;&gt;PlayN: Google&#39;s new cross-platform game engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.limejs.com/&quot;&gt;LimeJS: HTML5 game framework for building native-experience games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://egraether.com/mine3d/&quot;&gt;Mine3D: 3D Minesweeper in WebGL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://lights.elliegoulding.com/&quot;&gt;Lights: An interactive music experience&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.gopherwoodstudios.com/2011/10/loading-html5-game-assets.html&quot;&gt;Loading HTML5 Game Assets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ambiera.at/coppercube/demos/version3/dynamiclight/embedwebgl.html&quot;&gt;WebGL Dungeon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&#39;s all for this week. Feel free to point us at interesting HTML5 gaming content via Twitter (&lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;@lostdecadegames&lt;/a&gt;) or by emailing us at &lt;a href=&quot;https://www.lostdecadegames.com/lost-links-10-14-2011/hello@lostdecadegames.com&quot;&gt;hello@lostdecadegames.com&lt;/a&gt;.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Bootstrap your artistic abilities with pixels</title>
		<link href="https://www.lostdecadegames.com/bootstrap-your-artistic-abilities-with-pixels/"/>
		<updated>2011-10-17T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/bootstrap-your-artistic-abilities-with-pixels/</id>
		<content type="html">&lt;p&gt;So you want to make a game, but maybe there are hurdles blocking you. If you&#39;re a programmer like me, you can do everything yourself (to a point) but your game must at least have graphics! This is a problem.&lt;/p&gt;
&lt;p&gt;I submit that you &lt;em&gt;can&lt;/em&gt; do it yourself, whether you&#39;re artistically challenged or not. You just need to bolster your artistic skills with the help of our little friends, pixels. Let&#39;s get started!&lt;/p&gt;
&lt;h2&gt;Start small&lt;/h2&gt;
&lt;p&gt;First, start with just two pixels. Open your favorite image editing program (or just grab a sheet of graph paper). Let&#39;s make this image 1x2, meaning two pixels tall and 1 pixel wide. (Yes, we are starting extremely basic.)&lt;/p&gt;
&lt;p&gt;Now try to draw a person. A man, a woman, or another little character for a game. My guess would be that most people will come up with something like this:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;1x2 sprite&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/bootstrap_pixels/1x2.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Almost everyone will draw the same thing because the limitations are so severe. Some people might make a completely clothed character or a completely naked character, like one of these:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Two 1x2 sprites&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/bootstrap_pixels/1x2_x2.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;But either way, they&#39;re very similar. Even the worst artist will make an image that will be strikingly similar to what the best artist would make under these limitations. This is an interestingly level playing field.&lt;/p&gt;
&lt;h2&gt;Kick it up a knotch&lt;/h2&gt;
&lt;p&gt;Now let&#39;s make the canvas a bit bigger and use a reference. For the sake of familiarty and clarity, let&#39;s look at an image of Link from &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Legend_of_Zelda&quot;&gt;The Legend of Zelda&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Link from Legend of Zelda&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/bootstrap_pixels/link.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Try to draw Link in a 4x4 grid. Your image might look something like this:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Link in 4x4 pixels&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/bootstrap_pixels/link_4x4.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Some shape is starting to take form and now we&#39;re diverging a little from what other artists might make given the same limitations. But we&#39;re still close to the best of what can be done under these restrictions.&lt;/p&gt;
&lt;p&gt;Let&#39;s double up. Here&#39;s my attempt at the previous Link image on an 8x8 canvas:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Link in 8x8 pixels&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/bootstrap_pixels/link_8x8.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;My guess is that this might be the sweet spot for many beginning artists to maximize what they can do under a given restriction. But even though you might be happy with your output at this resolution, you may be thinking that the limitation is too extreme to be creative and generate diverse graphics.&lt;/p&gt;
&lt;p&gt;Not so! Take a gander at these heavily-used &lt;a href=&quot;http://forums.tigsource.com/index.php?topic=8970.0&quot;&gt;Creative Commons sprites&lt;/a&gt; that can be found in &lt;a href=&quot;https://github.com/richtaur/Valadria&quot;&gt;little games&lt;/a&gt; all over the web:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Spritesheet by oryx&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/bootstrap_pixels/spritesheet_by_oryx.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;There is such a rich variety that the artist has exposed even with these extreme limitations. If we double up once more to 16x16, then truly the sky is the limit, as you can see in this amazing screenshot from &lt;a href=&quot;http://en.wikipedia.org/wiki/Final_Fantasy_VI&quot;&gt;Final Fantasy VI&lt;/a&gt;, which employs 16x16 tiles:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Beautiful sprites from Final Fantasy VI&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/bootstrap_pixels/final_fantasy_vi.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Here I&#39;ve added a 16x16 grid and enlarged a single tile to demonstrate where the boundaries are:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;This time with a 16x16 grid&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/bootstrap_pixels/final_fantasy_vi_with_grid.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Working even with 16x16 tiles (that&#39;s 256 pixels!) may be beyond the skill level of many developers looking to boostrap their own art. What I&#39;m trying to suggest is that there may be a comfort zone where you can produce decent pixel art -- at 8x8 or 12x12, or whatever feels good and you find acceptable.&lt;/p&gt;
&lt;p&gt;Many games feature amazing art that requires the skill and dedication that only natural talent and thousands of hours of practice can produce. But if you&#39;re an indie game developer, a hobbyist or if you just want to bang something out quickly, your art doesn&#39;t necessarily need to be that fancy. Maybe for now you can make do with what you&#39;ve got, empowered by the limitations of big, beautiful, blocky pixels.&lt;/p&gt;
&lt;h2&gt;Additional resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://fileslap.com/2Rm/Depixelizing%20%20Pixel%20%20Art&quot;&gt;Depixelizing Pixel Art&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://forums.tigsource.com/index.php?topic=16397.0&quot;&gt;JWK5&#39;s Drawing Tips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.firefruitforge.com/?tutorials/Pixel_Art&quot;&gt;Pixel Art tutorials&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://gas13.ru/v3/tutorials/sywtbapa_almighty_grass_tile.php&quot;&gt;So you want to be a pixel artist?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.derekyu.com/?page_id=218&quot;&gt;The Pixel Tutorial by Derek Yu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.spriters-resource.com/&quot;&gt;The Spriter&#39;s Resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Got any additional tips? Please let me know in the comments!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lost Links: 10/21/2011</title>
		<link href="https://www.lostdecadegames.com/lost-links-10-21-2011/"/>
		<updated>2011-10-21T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lost-links-10-21-2011/</id>
		<content type="html">&lt;p&gt;It&#39;s Friday, which means more HTML5 gaming links for your perusal:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.facebook.com/html5/showcase/&quot;&gt;Facebook HTML5 Showcase&lt;/a&gt; (includes our game Onslaught!)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://mattsurabian.com/duckhunt/&quot;&gt;Duck Hunt HTML5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.everyday3d.com/j3d/&quot;&gt;j3d: Javascript/WebGL engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://projects.joshy.org/presentations/HTML/CanvasDeepDive/presentation.html&quot;&gt;HTML 5 Canvas Deep Dive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&#39;s all for this week. Feel free to point us at interesting HTML5 gaming content via Twitter (&lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;@lostdecadegames&lt;/a&gt;) or by emailing us at &lt;a href=&quot;https://www.lostdecadegames.com/lost-links-10-21-2011/hello@lostdecadegames.com&quot;&gt;hello@lostdecadegames.com&lt;/a&gt;.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Free-to-use graphics made by my brother in 1996</title>
		<link href="https://www.lostdecadegames.com/free-to-use-graphics-made-by-my-brother-in-1996/"/>
		<updated>2011-10-24T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/free-to-use-graphics-made-by-my-brother-in-1996/</id>
		<content type="html">&lt;p&gt;I&#39;ve wanted to make an epic oldschool RPG for as long as I can remember. The first language I ever learned was QBASIC, which was about the worst environment for a huge RPG as I can imagine. But that didn&#39;t deter me, and I set to work on what I called DRAGON (pretty creative title, right?).&lt;/p&gt;
&lt;p&gt;Earlier this year I found some of my old QBASIC source code and began &lt;a href=&quot;http://richtaur.github.com/demos/QBASIC/&quot;&gt;&amp;quot;translating&amp;quot; it to JavaScript&lt;/a&gt;. An unfinished version (of the unfinished game) is &lt;a href=&quot;http://richtaur.github.com/demos/DRAGON/&quot;&gt;playable in your browser&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;During this process I was admiring my brother&#39;s artwork, which got me thinking that some game developers out there might like to have access to some fun little medieval fantasy sprites. So here they are, free to use in any project, commercial or otherwise:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Sprites for DRAGON by Mike Hackett&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/free_graphics_1996/DRAGON_by_Mike_Hackett_x3.png&quot; /&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/free_graphics_1996/DRAGON_by_Mike_Hackett.png&quot;&gt;Download DRAGON spritesheet with black blackground&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/free_graphics_1996/DRAGON_by_Mike_Hackett_alpha.png&quot;&gt;Download DRAGON spritesheet with alpha transparency&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Also: It&#39;s not necessary of course, but if you do use them, I&#39;d love to see them in action. So send me your project and I&#39;ll check it out!&lt;/em&gt;&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lava Sword Dev Diary</title>
		<link href="https://www.lostdecadegames.com/lava-sword-dev-diary-part-1/"/>
		<updated>2012-02-24T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-sword-dev-diary-part-1/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;&lt;img alt=&quot;Lava Sword environment #2&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_sword/lava_sword_02.png&quot; /&gt;&lt;/div&gt;
&lt;p&gt;So I&#39;m working on a new game tentatively titled &lt;strong&gt;Lava Sword&lt;/strong&gt;. The goals of the game are pretty specific: we want an &lt;strong&gt;arcade-style action game optimized for mobile browsers&lt;/strong&gt;. I&#39;ve been thinking about &lt;a href=&quot;http://www.gamasutra.com/view/feature/6698/principles_of_an_indie_game_bottom_.php&quot;&gt;Jeff Vogel&#39;s recent blog&lt;/a&gt; about how indie game devs should be looking at some of their favorite games for inspiration, so I decided to revisit some of mine.&lt;/p&gt;
&lt;h2&gt;Influence&lt;/h2&gt;
&lt;p&gt;A few of my favorite arcade-style games when growing up include &lt;a href=&quot;http://www.youtube.com/watch?v=hU6E8ZuTMxA&quot;&gt;Golden Axe&lt;/a&gt;, &lt;a href=&quot;http://www.youtube.com/watch?v=9N93qVpk1Wc&quot;&gt;Altered Beast&lt;/a&gt; and &lt;a href=&quot;http://www.youtube.com/watch?v=SKRXg0AISG4&quot;&gt;Magic Sword&lt;/a&gt;. (As one of the few gamers into Turbo Duo back in the day, there&#39;s also some &lt;a href=&quot;http://www.youtube.com/watch?v=wrp5gsfqckU&quot;&gt;Legendary Axe&lt;/a&gt; influence, but that&#39;s pretty obscure!) These are mostly story-based fighting games with tight controls and complex battles. That&#39;s really not good for mobile!&lt;/p&gt;
&lt;p&gt;Is there another approach I could take? Essentially I want to &lt;strong&gt;capture the spirit of these games&lt;/strong&gt; on a mobile device. Beyond the advanced controller input, I thought about what else makes these games what they are. Big sprites is one. Vibrant, open, scrolling environments is another. Really, the &lt;strong&gt;simplest&lt;/strong&gt; version of these games would consist of just moving around the environment and attacking. Hell, mobile can do that. So I got to work.&lt;/p&gt;
&lt;h2&gt;Prototyping&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;&lt;img alt=&quot;First pass: rectangles!&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_sword/rectangles.png&quot; /&gt;&lt;/div&gt;
&lt;p&gt;That&#39;s&#39;s the &lt;strong&gt;first screenshot&lt;/strong&gt;, taken as early as there was anything to to take a screenshot of. As you can see, the game starts very simple. On a plain green background, I represent the player with a blue rectangle and monsters with red rectangles. Gold and other treasures are represented by yellow rectangles. This is the prototyping stage of game development where your game should &lt;strong&gt;begin to be fun&lt;/strong&gt;. &lt;em&gt;If you can&#39;t find something entertaining at this stage, you shouldn&#39;t move on to the next stage.&lt;/em&gt; You should &lt;strong&gt;focus on making it fun&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Spriting&lt;/h2&gt;
&lt;p&gt;After finding the fun, I started working on some basic graphics. Nothing too complicated like animations and stuff; I&#39;m not ready for that yet. For the time being, I mostly wanted to see about getting &lt;strong&gt;parralax scrolling&lt;/strong&gt; into the mix, because if I run into some brick wall along the way, the game&#39;s basically a no-go. (…though mostly I just love parralax scrolling and couldn&#39;t resist.) I also wanted to make sure I wouldn&#39;t hit an inspirational brick wall, and graphics really help with that.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;&lt;img alt=&quot;Lava Sword environment #1&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_sword/lava_sword_01.png&quot; /&gt;&lt;/div&gt;
&lt;p&gt;It would be cool if eventually there were many environments, but this is adequate for now. And that&#39;s all I&#39;ve got so far! So what&#39;s next for &lt;strong&gt;Lava Sword&lt;/strong&gt;? Let&#39;s take a look at the ol&#39; TODO list:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Implement player/monster health&lt;/li&gt;
&lt;li&gt;Item/weapon drops&lt;/li&gt;
&lt;li&gt;Difficulty progression&lt;/li&gt;
&lt;li&gt;Game flow (title screen/gameplay/paused/game over)&lt;/li&gt;
&lt;li&gt;Player/monster animations&lt;/li&gt;
&lt;li&gt;Polish polish polish&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lots more graphics are in the works too! None of them has been &amp;quot;final&amp;quot; so far (especially the warrior, he needs a new approach). Here&#39;s where I&#39;m currently at:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;&lt;img alt=&quot;More Lava Sword graphics coming&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_sword/more_gfx_coming.png&quot; /&gt;&lt;/div&gt;
&lt;h2&gt;More to come&lt;/h2&gt;
&lt;p&gt;If you find this kind of stuff interesting, you should &lt;a href=&quot;https://www.lostdecadegames.com/rss.xml&quot;&gt;subscribe to our blog&lt;/a&gt; and/or &lt;a href=&quot;https://twitter.com/#!/LostDecadeGames&quot;&gt;follow us on Twitter&lt;/a&gt;, because I&#39;ll be posting another &lt;strong&gt;Lava Sword&lt;/strong&gt; dev diary again soon (maybe with video). Thanks for reading!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>An onslaught of Onslaught! news</title>
		<link href="https://www.lostdecadegames.com/an-onslaught-of-onslaught-news/"/>
		<updated>2012-02-27T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/an-onslaught-of-onslaught-news/</id>
		<content type="html">&lt;img alt=&quot;Onslaught! icon&quot; class=&quot;after&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_news/icon.png&quot; /&gt;
&lt;p&gt;Big things going on with &lt;a href=&quot;https://www.lostdecadegames.com/onslaught/&quot;&gt;Onslaught!&lt;/a&gt; and &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena/&quot;&gt;Onslaught! Arena&lt;/a&gt; today:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Both games are now free&lt;/strong&gt; (previously &lt;strong&gt;$1.99&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;http://ubiktune.org/releases/ubi040-joshua-morse-onslaught-ost&quot;&gt;Onslaught! OST&lt;/a&gt; has been released&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena/&quot;&gt;Onslaught! Arena&lt;/a&gt; is now &lt;a href=&quot;https://github.com/lostdecade/onslaught_arena&quot;&gt;open source&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;Not familiar with the &lt;strong&gt;Onslaught!&lt;/strong&gt; games? Check out our post &lt;a href=&quot;https://www.lostdecadegames.com/onslaught-a-history-of-violence-in-images/&quot;&gt;Onslaught! -- a history of violence (in images)&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;1. Play for free!&lt;/h2&gt;
&lt;p&gt;So, first things first: if you haven&#39;t already, you should go slay monsters for &lt;strong&gt;free&lt;/strong&gt; on one of these fine platforms right now: &lt;a href=&quot;https://www.lostdecadegames.com/onslaught/&quot;&gt;Android tablets&lt;/a&gt;, &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught!/id441426241?mt=8&quot;&gt;iPad&lt;/a&gt;, &lt;a href=&quot;https://chrome.google.com/webstore/detail/khodnfbkbanejphecblcofbghjdgfaih&quot;&gt;Chrome Web Store&lt;/a&gt;, &lt;a href=&quot;http://itunes.apple.com/us/app/onslaught-arena/id418268106&quot;&gt;Mac App Store&lt;/a&gt; or…&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;download-podcast&quot; href=&quot;https://arcade.lostdecadegames.com/onslaught_arena/&quot;&gt;Play Onslaught! Arena in your browser&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;2. Onslaught! OST&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://ubiktune.org/releases/ubi040-joshua-morse-onslaught-ost&quot;&gt;
		&lt;img alt=&quot;Onslaught! OST cover&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_news/ost.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Onslaught!&lt;/strong&gt;&#39;s music composer &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt; has released the &lt;a href=&quot;http://ubiktune.org/releases/ubi040-joshua-morse-onslaught-ost&quot;&gt;Onslaught! OST&lt;/a&gt; and it&#39;s really awesome. You should absolutely go pick it up on Bandcamp right now. Need more evidence? Check out the promo video below:&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;download-podcast&quot; href=&quot;http://www.youtube.com/watch?v=TholeILA7hQ&quot;&gt;Watch this awesome promo video&lt;/a&gt;&lt;/p&gt;
&lt;!--iframe width=&quot;480&quot; height=&quot;270&quot; src=&quot;http://www.youtube.com/embed/TholeILA7hQ&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe--&gt;
&lt;h2&gt;3. Onslaught! Arena source code&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://github.com/lostdecade/onslaught_arena&quot;&gt;
		&lt;img src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught_news/onslactocat.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena/&quot;&gt;Onslaught! Arena&lt;/a&gt; is now also &lt;a href=&quot;https://github.com/lostdecade/onslaught_arena&quot;&gt;open source&lt;/a&gt; on the &lt;a href=&quot;https://github.com/lostdecade&quot;&gt;Lost Decade Games GitHub page&lt;/a&gt;. &lt;strong&gt;Warning!&lt;/strong&gt; The code is pretty old at this point and we&#39;re both embarrassed by the bad quality of it. But there&#39;s still tons of great object and math code in there to read and learn from if you&#39;re new to JavaScript or game dev.&lt;/p&gt;
&lt;p&gt;We&#39;ve chosen a GPL (General Public License) for &lt;strong&gt;Onslaught! Arena&lt;/strong&gt;. This means you can &lt;a href=&quot;https://github.com/lostdecade/onslaught_arena&quot;&gt;fork it&lt;/a&gt; and make whatever you want, but it must also be open source. We also retain the rights to all game assets. &lt;strong&gt;tl;dr: make whatever you want with it but you can&#39;t sell it.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note that only &lt;strong&gt;Onslaught! Arena&lt;/strong&gt; (and not &lt;strong&gt;Onslaught!&lt;/strong&gt;) is open source. While the games are just slightly different, &lt;strong&gt;Onslaught!&lt;/strong&gt; was built using the &lt;a href=&quot;http://gameclosure.com/&quot;&gt;Game Closure&lt;/a&gt; SDK and cannot be shared just yet.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;download-podcast&quot; href=&quot;https://github.com/lostdecade/onslaught_arena&quot;&gt;Put your eyeballs on this source code&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;More exciting stuff coming soon&lt;/h2&gt;
&lt;p&gt;If you dig HTML5 and open source software, you should &lt;a href=&quot;https://www.lostdecadegames.com/rss.xml&quot;&gt;subscribe to our blog&lt;/a&gt; and/or &lt;a href=&quot;https://twitter.com/#!/LostDecadeGames&quot;&gt;follow us on Twitter&lt;/a&gt;, because I&#39;ll be posting about this stuff often. Thanks for reading!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;One final note: if you are one of the fine human beings who purchased the game while it was for sale, we&#39;d like to &lt;strong&gt;thank you&lt;/strong&gt; from the bottom of our nerdy hearts. You&#39;ve kept us going and have given us hope for chasing the indie dream. Thanks for your support!&lt;/em&gt;&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Onslaught! Arena takes 3rd place in the Pokki 1up Game Developer Contest</title>
		<link href="https://www.lostdecadegames.com/onslaught-arena-takes-3rd-place-in-the-pokki-1up-game-developer-contest/"/>
		<updated>2012-03-10T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/onslaught-arena-takes-3rd-place-in-the-pokki-1up-game-developer-contest/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/pokki/announcement.jpg&quot;&gt;&lt;img alt=&quot;Onslaught! Arena up on the big screen&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/pokki/thumbnails/announcement.jpg&quot; /&gt;&lt;/a&gt;
	&lt;em&gt;Onslaught! Arena up on the big screen at GDC&lt;/em&gt;
&lt;/div&gt;
&lt;p&gt;Less than a week after &lt;a href=&quot;https://www.lostdecadegames.com/an-onslaught-of-onslaught-news/&quot;&gt;Onslaught! Arena went open source&lt;/a&gt;, it took home 3rd place in the &lt;a href=&quot;http://www.pokki.com/1up/&quot;&gt;Pokki 1up Game Developer Contest&lt;/a&gt;. This got us tickets to &lt;a href=&quot;http://gdconf.com/&quot;&gt;GDC&lt;/a&gt;, a day of awesome fun with the Pokki team, and (last but not least), a cool &lt;strong&gt;$7,000&lt;/strong&gt;. (If you listen to &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;our podcast&lt;/a&gt; you know that &lt;a href=&quot;http://localhost:4000/lostcast-episode-10-indiependence-day/&quot;&gt;we&#39;re indie now&lt;/a&gt; so this is a real stress-reliever for us!)&lt;/p&gt;
&lt;h2&gt;Developing with Pokki&lt;/h2&gt;
&lt;p&gt;Gotta say, it was really easy to work with &lt;a href=&quot;http://developers.pokki.com/&quot;&gt;Pokki&#39;s tech&lt;/a&gt; (though granted, we already had a full working game, so all we had to do was stick it into their stack). &lt;strong&gt;It only took about an hour to integrate!&lt;/strong&gt; Their platform is basically &lt;a href=&quot;http://www.chromium.org/Home&quot;&gt;Chromium&lt;/a&gt; stripped of its user interface, which means it&#39;s very similar to developing within Google Chrome. This is great; familiar tools like the Web Inspector are at your fingertips.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/pokki/3rd_place.png&quot;&gt;&lt;img alt=&quot;Onslaught! Arena takes 3rd place&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/pokki/thumbnails/3rd_place.png&quot; /&gt;&lt;/a&gt;
	&lt;em&gt;Onslaught! Arena takes 3rd place&lt;/em&gt;
&lt;/div&gt;
&lt;p&gt;We had to switch from mp3 to &lt;a href=&quot;http://www.vorbis.com/&quot;&gt;ogg&lt;/a&gt; for audio to work with Pokki. Can&#39;t really blame them here, as who wants to worry about &lt;a href=&quot;http://www.scirra.com/blog/64/why-you-shouldnt-use-mp3-in-your-html5-games&quot;&gt;the crazy mp3 licenses&lt;/a&gt;? I&#39;ve got a handy &lt;a href=&quot;https://github.com/richtaur/dotfiles/blob/master/belmont/bash_profile.sh#L13&quot;&gt;VLC-based CLI script&lt;/a&gt; I use that made the conversion easier. Audio performance is also buggy and inconsistent (but we all know this is a problem with Chromium and will go away eventually).&lt;/p&gt;
&lt;p&gt;We also had to include a minimize button in order to be accepted into their gallery. This was a straight-forward process and only took a few minutes.&lt;/p&gt;
&lt;h2&gt;The other winners&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/pokki/1_minotaur.jpg&quot;&gt;&lt;img alt=&quot;Nicklaus Liow sportin&#39; a horse head&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/pokki/thumbnails/1_minotaur.jpg&quot; /&gt;&lt;/a&gt;
	&lt;em&gt;Nicklaus Liow sportin&#39; a horse head&lt;/em&gt;
&lt;/div&gt;
&lt;p&gt;What about those other games, hm? First place went to &lt;a href=&quot;http://www.nutcasenightmare.com/&quot;&gt;Nicklaus Liow&lt;/a&gt; for his delightful game &lt;a href=&quot;http://www.pokki.com/1up/#4horsemen&quot;&gt;Four Horsemen&lt;/a&gt;. It&#39;s a simple puzzle game with a quirky theme and a ton of polish. He really knocked this one out of the park, and that song-and-dance tutorial really takes the edge off of teaching the player to play. Really well executed.&lt;/p&gt;
&lt;p&gt;Second place went to &lt;a href=&quot;https://twitter.com/#!/gabumba&quot;&gt;Evgeni Gordejev&lt;/a&gt; and his wacky alien-physics game &lt;a href=&quot;http://www.pokki.com/download/?name=Tupsu&amp;amp;etag=Pokki_Tupsu&quot;&gt;Tupsu&lt;/a&gt;. Evgeni was a particularly interesting developer to chat with, as this was the first game he&#39;d developed. He also has a C++ background but chose to program in Java using Google&#39;s cross-platform game library &lt;a href=&quot;http://code.google.com/p/playn/&quot;&gt;playn&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Thanks Pokki!&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/pokki/homepage.png&quot;&gt;&lt;img alt=&quot;The Pokki homepage after the contest&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/pokki/thumbnails/homepage.png&quot; /&gt;&lt;/a&gt;
	&lt;em&gt;Anybody else dying to see the rest of those graphics?&lt;/em&gt;
&lt;/div&gt;
&lt;p&gt;We spent most of Tuesday chatting with the Pokki team. They&#39;re a really smart, impressive group of developers who have a history of making impactful technology (some of them having founded &lt;a href=&quot;http://www.divx.com/&quot;&gt;DivX&lt;/a&gt;). They&#39;re &lt;strong&gt;extremely&lt;/strong&gt; developer-friendly, which obviously we are thrilled about. Their plans for Pokki are numerous and ambitious, and I believe that they have the skill and experience do accomplish whatever they put their resources toward. Looking forward to seeing what&#39;s next!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>How to polish your game: flickering hearts</title>
		<link href="https://www.lostdecadegames.com/how-to-polish-your-game-flickering-hearts.html/"/>
		<updated>2012-03-13T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/how-to-polish-your-game-flickering-hearts.html/</id>
		<content type="html">&lt;p&gt;
	If you follow our blog you&#39;ve probably read
	&lt;a href=&quot;https://www.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game/&quot;&gt;some&lt;/a&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/blog-author-attribution-using-jekyll/&quot;&gt;of&lt;/a&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/how-to-embed-html5-into-a-native-mac-osx-app/&quot;&gt;our&lt;/a&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/obfuscating-javascript-with-closure-compiler/&quot;&gt;tutorials&lt;/a&gt;
	by now. One common request is how to polish your game. Since this is such an amorphous thing, and varies from project to project, we&#39;ll probably be doing several tutorials on how to polish various games.
&lt;/p&gt;

&lt;h2&gt;Video speaks louder than words

&lt;p&gt;
	So here&#39;s our first of an eventual series of polish tutorials: adding flickering hearts to our mobile browser game &lt;a href=&quot;https://arcade.lostdecadegames.com/onslaught_defense/&quot;&gt;Onslaught! Defense&lt;/a&gt;.
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe width=&quot;500&quot; height=&quot;284&quot; src=&quot;http://www.youtube.com/embed/ZYJ9k1efPak&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;
	&lt;em&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=ZYJ9k1efPak&quot;&gt;Need the YouTube URL?&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
	When developing a feature for a game, it&#39;s important to first get the core functionality in place, and then to add polish later. For example, let&#39;s say we want monsters to spawn heart containers. The implementation steps might look something like this:
&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;A heart container may now appear randomly after killing a monster&lt;/li&gt;
	&lt;li&gt;If the player shoots a heart container, the player &quot;collects&quot; it and regains lost health&lt;/li&gt;
	&lt;li&gt;Heart containers will now &lt;strong&gt;disappear&lt;/strong&gt; after 3 seconds&lt;/li&gt;
	&lt;li&gt;Heart containers will now &lt;strong&gt;fade out&lt;/strong&gt; instead of instantly disappearing&lt;/li&gt;
	&lt;li&gt;Heart containers will now &lt;strong&gt;flicker out&lt;/strong&gt; instead of fading out&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
	Here&#39;s what the code in our game looks like:
&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;js&quot;&gt;// Have the heart container &quot;pop&quot; in
polish.popIn(this, bind(this, function () {
	// Wait a moment, then start to flicker away… then disappear
	var numFlashes = 20;
	this.numFlashes = 1;

	// Wait 1 second
	this.delayTween(1000);

	// Add flashes to the queue
	for (var i = 0; i &lt; numFlashes; ++i) {
		this.delayTween((30 - i) * 6, bind(this, function () {
			// Toggle opacity
			this.opacity = this.opacity == 1 ? 0 : 1;

			// Gone through all the flashes? Then remove it
			if (++this.numFlashes == numFlashes) {
				this.remove();
			}
		}));
	}
}));
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;
	&lt;em&gt;&lt;a href=&quot;https://gist.github.com/2034407&quot;&gt;Might be easier to read in this gist…&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
	Basically it adds visibilty toggling to a tweening queue, decreasing the time between toggles as it goes through the queue. Then it removes itself when it&#39;s gone through them all.
	&lt;em&gt;(Sorry, no, it&#39;s not open source yet.)&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
	If you&#39;ve got a really polished game, you might not stop there. You might have the most polished damn heart containers you&#39;ve ever seen! That explode into tiny red birds that fly away while singing a synchronized song. While on fire.
&lt;/p&gt;

&lt;p&gt;
	But that&#39;s for &lt;a href=&quot;https://www.lostdecadegames.com/rss.xml&quot;&gt;future tutorials&lt;/a&gt;…
&lt;/p&gt;&lt;/h2&gt;</content>
	</entry>
	
	
	<entry>
		<title>Goodbye GitHub, Hello AWS</title>
		<link href="https://www.lostdecadegames.com/goodbye-github-hello-aws/"/>
		<updated>2012-03-26T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/goodbye-github-hello-aws/</id>
		<content type="html">&lt;h2&gt;The Honeymoon&lt;/h2&gt;
&lt;p&gt;If you follow this blog at all you probably know that we love &lt;a href=&quot;https://github.com/&quot;&gt;GitHub&lt;/a&gt;. It&#39;s a great service with outstanding UI. GitHub is the reason that I now use git for all my source control needs.&lt;/p&gt;
&lt;p&gt;When Matt and I &lt;a href=&quot;https://www.lostdecadegames.com/our-new-blog-is-running-on-jekyll/&quot;&gt;redesigned the Lost Decade Games website&lt;/a&gt; we wanted to have a setup with easy deployment and scaling. &lt;a href=&quot;http://pages.github.com/&quot;&gt;GitHub Pages&lt;/a&gt; was a service that fit this bill nicely. Pages hosts your static site (generated via &lt;a href=&quot;https://github.com/mojombo/jekyll&quot;&gt;Jekyll&lt;/a&gt;) by simply pushing some code to GitHub.&lt;/p&gt;
&lt;p&gt;Given that we were already paying customers, we got custom domain name support as well. Life was good for a time.&lt;/p&gt;
&lt;h2&gt;The Breakup&lt;/h2&gt;
&lt;p&gt;Before long we started hitting some walls with GitHub &amp;amp; Pages.&lt;/p&gt;
&lt;p&gt;For starters, GitHub&#39;s pricing model is ruthless. $25 a month gets you 10 private repos, which I feel is a complete ripoff. Want more repos? The next plan is $50/month for 20 private repos! Even as a two-person indie shop we hit the 10 private repo limit quite quickly.&lt;/p&gt;
&lt;p&gt;In response, we started moving our inactive private repos to &lt;a href=&quot;https://bitbucket.org/&quot;&gt;BitBucket&lt;/a&gt; which boasts unlimited private repos and monetizes on collaborator count. BitBucket is basically a bad clone of GitHub, which is fine, but we ended up having to deal with two separate repository hosts, and that was too painful to put up with.&lt;/p&gt;
&lt;p&gt;Pages is semi-unreliable, as well. This isn&#39;t a direct criticism of GitHub; we&#39;re aware that keeping services up while &lt;a href=&quot;https://github.com/blog/1036-about-this-week-s-availability&quot;&gt;under DDoS attacks&lt;/a&gt; is tough. But the fact of the matter is that too often we couldn&#39;t update our website because Pages was down.&lt;/p&gt;
&lt;p&gt;One day pushes to our website repo stopped working. No error notifications. No push. Nothing. Turns out that if your build doesn&#39;t complete within 5 minutes, it fails silently. Bugs happen of course, but I&#39;d much rather be able to jump on the server and figure things out than fire off emails to support and hope for a prompt response.&lt;/p&gt;
&lt;p&gt;There are a few other nit-picky issues, but by this time we had decided that we were in dire need of a new solution for our git repo and website hosting.&lt;/p&gt;
&lt;h2&gt;The Rebound&lt;/h2&gt;
&lt;p&gt;After falling out of love with GitHub I made a list of important requirements for our hosting needs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Easily scalable! I don&#39;t want to worry about spinning up new boxes to handle load for a static website.&lt;/li&gt;
&lt;li&gt;Unlimited (or a large number of) private repos&lt;/li&gt;
&lt;li&gt;Single command deployment with &lt;code&gt;git push&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Cost effective!&lt;/li&gt;
&lt;li&gt;Control! Jekyll extensions, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I had heard about &lt;a href=&quot;http://aws.amazon.com/&quot;&gt;Amazon Web Services&lt;/a&gt; (AWS) before, but for some reason I never thought it a practical solution for a company as small as ours.&lt;/p&gt;
&lt;p&gt;Thankfully, AWS offers a &lt;a href=&quot;http://aws.amazon.com/free/&quot;&gt;Free Usage Tier&lt;/a&gt; which lets you get your feet wet with some generous limits. Taking advantage of this free tier I began messing around with various hosting solutions using &lt;a href=&quot;http://aws.amazon.com/ec2/&quot;&gt;EC2&lt;/a&gt; and &lt;a href=&quot;http://aws.amazon.com/s3/&quot;&gt;S3&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Straight away I spun up an EC2 micro instance which acted as our git/web server. In the &lt;code&gt;post-receive&lt;/code&gt; hook for our website&#39;s repo I created a simple shell script which builds the site via Jekyll and pushes the result to the Apache document root. The Jekyll wiki has a nice &lt;a href=&quot;https://github.com/mojombo/jekyll/wiki/Deployment&quot;&gt;section on deployment&lt;/a&gt; with similar scripts.&lt;/p&gt;
&lt;p&gt;Not bad! We had git-push-to-deploy working as well as unlimited repos. However, I felt that the web server and git server shouldn&#39;t be combined. Running an EC2 instance for both servers isn&#39;t very cost efficient, either. Luckily, I stumbled upon the fact that &lt;a href=&quot;http://aws.typepad.com/aws/2011/02/host-your-static-website-on-amazon-s3.html&quot;&gt;static websites can be hosted on S3&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Hosting the website on S3 is great for a couple big reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No need to run Apache on an EC2 instance. Less complication and less expensive!&lt;/li&gt;
&lt;li&gt;Scaling is taken care of by S3, no messing around with EC2 load balancers, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Looking Ahead&lt;/h2&gt;
&lt;p&gt;Our website is now hosted out of S3 and if you&#39;re reading this post things are holding together pretty well!&lt;/p&gt;
&lt;p&gt;GitHub is a great product but it&#39;s not geared towards a small business like ours. We&#39;ll still be hosting &lt;a href=&quot;https://github.com/lostdecade&quot;&gt;our public code&lt;/a&gt; there, but I&#39;m much happier with our new stack.&lt;/p&gt;
&lt;p&gt;All that said, there are bound to be issues with AWS which I&#39;ll likely blog about in the future as we encounter them.&lt;/p&gt;
&lt;p&gt;Do you have a preferred setup for hosting static websites? Let us know in the comments!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Your wish for a wishlist has been granted</title>
		<link href="https://www.lostdecadegames.com/your-wish-for-a-wishlist-has-been-granted/"/>
		<updated>2012-03-29T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/your-wish-for-a-wishlist-has-been-granted/</id>
		<content type="html">&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; amazing listener &lt;a href=&quot;http://www.goldcartridge.com/&quot;&gt;Joseph Huckaby&lt;/a&gt; has cleared out the wishlist! Thank you so much Joe!&lt;/p&gt;
&lt;p&gt;Some of you fine, wonderful people have reached out to us via &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;email&lt;/a&gt;, blog comments and &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;Twitterwebs&lt;/a&gt; about supporting us via PayPal or similar services. First off, you&#39;re awesome and that&#39;s really appreciated!&lt;/p&gt;
&lt;p&gt;While I feel a little weird accepting straight-up donations, we &lt;em&gt;have&lt;/em&gt; created an &lt;a href=&quot;http://amzn.com/w/TYFGK8Q3QZE8&quot;&gt;Amazon Wishlist&lt;/a&gt; for &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;Lostcast&lt;/a&gt; hardware (at the suggestion of our awesome listener &lt;a href=&quot;http://www.facebook.com/jhuckaby&quot;&gt;Joseph Huckaby&lt;/a&gt;).&lt;/p&gt;
&lt;h2&gt;Making Lostcast sound better&lt;/h2&gt;
&lt;p&gt;So we hit a brick wall in how good our in-person interviews can sound. Since we only have two microphones, some participants must share a microphone. I think this is really clear in our recent &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-episode-12-arnother-interview/&quot;&gt;interview with Arno van der Vegt&lt;/a&gt;. To me the quality of Arno&#39;s voice is great, and ours is terrible (since we were sharing a mic).&lt;/p&gt;
&lt;p&gt;Anyway we haven&#39;t fixed this ourselves because we&#39;ve already spent upwards of $1k on gear and the upgrades would be about that much more (and &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-episode-10-indiependence-day/&quot;&gt;we&#39;re indie now&lt;/a&gt; so we gotta be frugal!). So that&#39;s what our wishlist is all about:&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.amazon.com/Shure-SM58-LC-Cardioid-Microphone-without/dp/B000CZ0R42/&quot;&gt;Shure SM58&lt;/a&gt; ($99.00)&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/xang/3329639778/&quot;&gt;&lt;img alt=&quot;Photo from Flickr&quot; src=&quot;http://farm4.staticflickr.com/3651/3329639778_7bbf03dc5f.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Awww yeah we&#39;ve got two of these already and they&#39;re soo goood! I used to record guitar with them too, they&#39;re very diverse.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.amazon.com/XLR-male-female-Microphone-Cable/dp/B000165DSM/&quot;&gt;15&amp;quot; XLR cable&lt;/a&gt; ($8.74)&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/hizzy/2072899686/&quot;&gt;&lt;img alt=&quot;Photo from Flickr&quot; src=&quot;http://farm3.staticflickr.com/2286/2072899686_d61ebd6bb9.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Did you know &lt;a href=&quot;http://tweakheadz.com/all_about_cables.htm&quot;&gt;all brands of cables produce the same quality audio&lt;/a&gt;? We recently went to Fry&#39;s to purchase video cables and a sales person tried to upsell us to Monster cables (which are like 5x the price!). Myth busted!&lt;/p&gt;
&lt;p&gt;Another tip: buy much longer cables than you think you&#39;ll need! Future self will thank you.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.amazon.com/Stage-Stands-7701B-Tripod-Microphone/dp/B000978D58/&quot;&gt;Microphone stand&lt;/a&gt; ($29.51)&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/56916654@N03/5251713245/&quot;&gt;&lt;img alt=&quot;Photo from Flickr&quot; src=&quot;http://farm6.staticflickr.com/5165/5251713245_cb1eaaa92a.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You want the speaker to be comfortable and relaxed when doing a podcast like Lostcast. So the way we do it is we relax in chairs and have microphone stands stick mics in our faces. This is another reason why Arno sounded great and we sounded like we were in tin cans… we didn&#39;t have our own stands!&lt;/p&gt;
&lt;p&gt;We bought one of these already and like it more than my old one, which was one of those round heavy ones that sucks because you can only barely stretch the stand&#39;s neck out. This one&#39;s way better!&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.amazon.com/Nady-MPF-6-6-Inch-Microphone-Filter/dp/B0002CZW0Y/&quot;&gt;Pop filter&lt;/a&gt; ($12.99)&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/whartz/470892257/&quot;&gt;&lt;img alt=&quot;Photo from Flickr&quot; src=&quot;http://farm1.staticflickr.com/210/470892257_44c2e55602.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This attaches to the microphone stand and rests between the mic and the source to capture air bursts. Saying words like &amp;quot;pop&amp;quot; with heavy &amp;quot;p&amp;quot; sounds can mangle the audio! This prevents that.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.amazon.com/Avid-Tools-Fast-Track-Ultra/dp/B0050BNJ70/&quot;&gt;M-Audio Fast Track Ultra Audio Interface&lt;/a&gt; ($359.00)&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/icris/4441164999/&quot;&gt;&lt;img alt=&quot;Photo from Flickr&quot; src=&quot;http://farm5.staticflickr.com/4028/4441164999_87e32bafaf.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What the hell is that?! So in a nutshell this (expensive) device lets us record with more microphones. With our current M-Audio Fast Track Pro, we can only record two (and that&#39;s not enough for an interview!).&lt;/p&gt;
&lt;p&gt;Obviously this thing is extremely expensive and we&#39;d be ecstatic to receive it. We&#39;d be &lt;em&gt;shocked&lt;/em&gt; (and very grateful!) honestly. The problem is that even if we had all of the above gear, we couldn&#39;t use it without this, so I think we&#39;d likely spring for it ourselves if amazing people bought us the rest of the gear!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Side note: we actually don&#39;t need Avid Pro Tools MP that comes packaged with it, but this one is cheaper than &lt;a href=&quot;http://www.amazon.com/M-Audio-Track-Ultra-Speed-Interface/dp/B005KYRA36/&quot;&gt;the device by itself&lt;/a&gt; for some reason. Weird huh?&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Thank you&lt;/h2&gt;
&lt;p&gt;Man, I can really geek out about audio hardware. Anyway thank you very much in advance! Anything we get we&#39;ll do our best to use to increase the quality of our show.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Announcing OnslaughtVille!</title>
		<link href="https://www.lostdecadegames.com/announcing-onslaughtville/"/>
		<updated>2012-04-01T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/announcing-onslaughtville/</id>
		<content type="html">&lt;p&gt;It&#39;s no secret that we at Lost Decade Games love playing social games on Facebook. In fact, our dream for this company was to one day build an amazing, innovative game experience woven with social fabric.&lt;/p&gt;
&lt;p&gt;Friends, that day has come.&lt;/p&gt;
&lt;h2&gt;Announcing OnslaughtVille!&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Onslaughtville!&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/misc/lolslaught2.png&quot; width=&quot;500&quot; height=&quot;395&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Have you ever wondered what it would be like to manage your own medieval fantasy village? Wonder no more!&lt;/p&gt;
&lt;p&gt;OnslaughtVille offers hours of engaging gameplay:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Build shacks, horse stables, outhouses and more as you expand your village!&lt;/li&gt;
&lt;li&gt;Clean chamber pots before your village becomes overwhelmed by the plague!&lt;/li&gt;
&lt;li&gt;Throw goblins at your friend&#39;s village!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OnslaughtVille will be built from the ground up on next generation browser technology -- Java Applets. Everyone knows that HTML5 is just a fad.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lostcast production timelapse</title>
		<link href="https://www.lostdecadegames.com/lostcast-production-timelapse.html/"/>
		<updated>2012-04-05T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lostcast-production-timelapse.html/</id>
		<content type="html">&lt;p&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;Lostcast&lt;/a&gt; is our podcast about HTML5 games! In this post, I&#39;ll walk you through &lt;a href=&quot;http://www.youtube.com/watch?v=zOiHDEXhPvA&quot;&gt;this crazy timelapse&lt;/a&gt; that shows how I edit the &#39;cast:
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe width=&quot;500&quot; height=&quot;284&quot; src=&quot;http://www.youtube.com/embed/zOiHDEXhPvA&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h2&gt;1. Compress and limit&lt;/h2&gt;

&lt;p&gt;
	First I apply compressors to both audio channels (usually it&#39;s just mine and Geoff&#39;s) and limit the master output to 0 dB. At first I just throw these modules in and don&#39;t tweak the settings just yet.
&lt;/p&gt;

&lt;h2&gt;2. Trim and polish&lt;/h2&gt;

&lt;p&gt;
	This is the &lt;a href=&quot;https://twitter.com/#!/richtaur/status/187093007340802048&quot;&gt;time-consuming&lt;/a&gt; part. I basically go through the audio with a fine-toothed comb. This consists of listening to the entire podcast, trimming out silence and &quot;uh&quot; and &quot;mm&quot; and all that mumbly crap.
&lt;/p&gt;

&lt;p&gt;
	I also cut out parts where we messed up or if something was just not remotely interesting. Geoff and I are both really rambly, so sometimes I cut out entire conversations!
&lt;/p&gt;

&lt;p&gt;
	Basically my goal with this step is to get the podcast sounding lean and compact with almost no silence.
&lt;/p&gt;

&lt;h2&gt;3. Balance&lt;/h2&gt;

&lt;p&gt;
	Next I&#39;ll go back and tweak the compressors. I&#39;m not an audio engineer, just a hobbyist, so I&#39;m going for a &quot;good enough&quot; approach here. I want to ensure that everyone on the podcast sounds loud enough to be heard clearly at normal volumes, at all times.
&lt;/p&gt;

&lt;h2&gt;4. Sound effects&lt;/h2&gt;

&lt;p&gt;
	I don&#39;t do this step for every podcast, but sometimes I like to go in and add some additional polish in the form of sound effects. Sometimes I&#39;ll add reverb to someone&#39;s voice just for fun (like when an announcement is made), or I&#39;ll add some sound effects from &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena/&quot;&gt;Onslaught! Arena&lt;/a&gt; between conversation topics to give the listener a quick breather.
&lt;/p&gt;

&lt;h2&gt;5. Put a bow on it&lt;/h2&gt;

&lt;p&gt;
	The last step is to include the music. I like to start the podcast off with a song, but fade it out quickly. I used to include quiet music behind the whole &#39;cast, but people seemed to hate that!
&lt;/p&gt;

&lt;p&gt;
	Lastly I really enjoy playing the show out with a song from &lt;a href=&quot;http://joshuamorse.bandcamp.com/&quot;&gt;Joshua Morse&lt;/a&gt; because I think he&#39;s an amazing artist and want to spread his music around.
&lt;/p&gt;

&lt;h2&gt;Upcoming interviews&lt;/h2&gt;

&lt;p&gt;
	The next episode of &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;Lostcast&lt;/a&gt; features an interview with &lt;a href=&quot;http://www.phoboslab.org/&quot;&gt;Dominic Szablewski&lt;/a&gt; of &lt;a href=&quot;http://impactjs.com/&quot;&gt;Impact&lt;/a&gt; -- be sure to &lt;a href=&quot;https://www.lostdecadegames.com/lostcast.xml&quot;&gt;subscribe&lt;/a&gt; so you don&#39;t miss it!
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Play around with the Lunch Bug animation preview tool</title>
		<link href="https://www.lostdecadegames.com/lunch-bug-animation-preview-tool/"/>
		<updated>2012-04-11T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lunch-bug-animation-preview-tool/</id>
		<content type="html">&lt;p&gt;
	&lt;strong&gt;Update:&lt;/strong&gt; added frame rate controls!
&lt;/p&gt;

&lt;p&gt;
	I&#39;ve been heads-down on art for our upcoming free-to-play game &lt;strong&gt;Lunch Bug&lt;/strong&gt; and I thought I&#39;d take a break to show you a little tool I just put together to improve my process. Have a look:
&lt;/p&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe frameborder=&quot;0&quot; src=&quot;https://www.lostdecadegames.com/demos/lunch_bug_animation_preview/&quot; width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;
	&lt;em&gt;Please note that this is just the first draft of animations. Improvements are on the way!&lt;/em&gt;
&lt;/p&gt;

&lt;h2&gt;
	Interact with it
&lt;/h2&gt;

&lt;p&gt;
	In the center of the canvas is a game piece from &lt;strong&gt;Lunch Bug&lt;/strong&gt;. The text in the upper-left can be pressed to play animations:
&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Put&lt;/strong&gt;: this is the animation that will play when the user puts a new piece on the board.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Idle&lt;/strong&gt;: &quot;idle&quot; is what we&#39;re calling animations that will play randomly when no user interaction has happened for a while. Think Sonic the Hedgehog tapping his foot!&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Grow&lt;/strong&gt;: seedlings and bulbs can grow into &lt;strong&gt;berries&lt;/strong&gt;, which are worth the most points in the game.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Shrink&lt;/strong&gt;: berries and bulbs can be shrunk (shrank? shrenk?) into pieces worth fewer points if players aren&#39;t careful!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	In &lt;strong&gt;Lunch Bug&lt;/strong&gt;, pieces can be &quot;captured&quot; by being surrounded, which changes their appearance.
	Normally I could just have had a giant sprite sheet with all the images for the various types of plants, but we can&#39;t have any images larger than 1024x1024 pixels due to &lt;strong&gt;mobile memory restraints&lt;/strong&gt;, which meant breaking them up into multiple files.
&lt;/p&gt;

&lt;p&gt;
	The complication of switching the image file part-way through the animations made using traditional animation tools difficult.
	That&#39;s why I built this tool!
	Now that I&#39;ve got it, I&#39;ll be going back and iterating a few more times before the final version, so at this point &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;feedback&lt;/a&gt; is especially valuable.
&lt;/p&gt;

&lt;h2&gt;
	Where&#39;s the code?
&lt;/h2&gt;

&lt;p&gt;
	Normally I&#39;d be open sourcing this on the &lt;a href=&quot;https://github.com/lostdecade&quot;&gt;Lost Decade Games GitHub account&lt;/a&gt; but it&#39;s tightly coupled to our internal game engine. We may open source the engine and its tools eventually but it&#39;s getting bulldozed too often to even consider it at the moment. What I &lt;em&gt;can&lt;/em&gt; do is copypasta the code so you can get a general idea:
&lt;/p&gt;

&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token function&quot;&gt;define&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;djinn/Game&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;djinn/assets&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;djinn/Sprite&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;djinn/TextView&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token string&quot;&gt;&quot;djinn/utils/viewEffects&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;Game&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; assets&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; Sprite&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; TextView&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; effects&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; Game&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;extend&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

		&lt;span class=&quot;token function-variable function&quot;&gt;init&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;conf&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// Conf&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;_super&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;conf&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;view&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;backgroundColor &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;white&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token comment&quot;&gt;// Pull in the assets we need&lt;/span&gt;
			assets&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
				&lt;span class=&quot;token string&quot;&gt;&quot;media/images/seedling.png&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token string&quot;&gt;&quot;media/images/bulb.png&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token string&quot;&gt;&quot;media/images/berry.png&quot;&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token comment&quot;&gt;// Create the sprite subject&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;seedling&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; w &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Sprite&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;view&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;media/images/seedling.png&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; w&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; h&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;animations&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
					&lt;span class=&quot;token string-property property&quot;&gt;&quot;default&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;frames&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
						&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
					&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
					&lt;span class=&quot;token string-property property&quot;&gt;&quot;put&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;frameRate&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;frames&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
						&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;
					&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
					&lt;span class=&quot;token string-property property&quot;&gt;&quot;idle&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;frameRate&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;frames&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
						&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;
					&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
					&lt;span class=&quot;token string-property property&quot;&gt;&quot;grow&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;frameRate&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;frames&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
						&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;
					&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
					&lt;span class=&quot;token string-property property&quot;&gt;&quot;shrink&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;frameRate&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;frames&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;w&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
							&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; h &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
						&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
						&lt;span class=&quot;token literal-property property&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;
					&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
				&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;center&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;center&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; x &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; height &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; TextView&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;defaults&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;fontSize &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token comment&quot;&gt;// Put&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; putView &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;TextView&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;view&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Put&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;center&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;inputStart&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token comment&quot;&gt;// Setup&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;completeTween&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;opacity &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

				&lt;span class=&quot;token comment&quot;&gt;// Execute&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;playAnimation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;put&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
				effects&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fadeIn&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
					&lt;span class=&quot;token literal-property property&quot;&gt;duration&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500&lt;/span&gt;
				&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token comment&quot;&gt;// Idle&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; idleView &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;TextView&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;view&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Idle&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; height
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;center&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;inputStart&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;playAnimation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;idle&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token comment&quot;&gt;// Grow&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; growView &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;TextView&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;view&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Grow&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; height &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;center&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;inputStart&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;state &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;berry&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

				&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;onAnimationEnd&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
					&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;off&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;animationEnd&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; onAnimationEnd&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

					&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;state &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;seedling&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
						state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;bulb&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
						&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;image &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;media/images/bulb.png&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
					&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
						state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;berry&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
						&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;image &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;media/images/berry.png&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
					&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
					&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;playAnimation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;default&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
				&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

				&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;animationEnd&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; onAnimationEnd&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;playAnimation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;grow&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token comment&quot;&gt;// Shrink&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; shrinkView &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;TextView&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;view&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Shrink&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
				&lt;span class=&quot;token literal-property property&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; height &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;center&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;inputStart&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;state &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;seedling&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

				&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;state &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;berry&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
					state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;bulb&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
					&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;image &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;media/images/bulb.png&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
				&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
					state &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;seedling&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
					&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;image &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;media/images/seedling.png&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
				&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

				&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;onAnimationEnd&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
					&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;off&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;animationEnd&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; onAnimationEnd&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

					&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;playAnimation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;default&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
				&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

				&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;animationEnd&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; onAnimationEnd&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;sprite&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;playAnimation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;shrink&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;
	&lt;em&gt;Might be easier to read in &lt;a href=&quot;https://gist.github.com/2364515&quot;&gt;this gist&lt;/a&gt;.&lt;/em&gt; Note that the tool is not very robust as I didn&#39;t want to spend too much time on it…
&lt;/p&gt;

&lt;p&gt;
	More &lt;strong&gt;Lunch Bug&lt;/strong&gt; news is just around the corner (can you say playable prototype?!) so be sure to &lt;a href=&quot;https://www.lostdecadegames.com/rss.xml&quot;&gt;subscribe&lt;/a&gt; to get it when it&#39;s hot. Thanks for reading!
&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Submitting Lunch Bug to IndieCade</title>
		<link href="https://www.lostdecadegames.com/submitting-lunch-bug-to-indiecade/"/>
		<updated>2012-04-15T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/submitting-lunch-bug-to-indiecade/</id>
		<content type="html">&lt;p&gt;
	If you &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;follow us on Twitter&lt;/a&gt;, you&#39;ve already seen some &lt;a href=&quot;https://twitter.com/#!/LostDecadeGames/media/grid&quot;&gt;screenshots&lt;/a&gt; of our upcoming puzzle game &lt;strong&gt;Lunch Bug&lt;/strong&gt;.
	Last night I submitted it to &lt;a href=&quot;http://indiecade.com/&quot;&gt;IndieCade&lt;/a&gt; (an international festival of independent games) and I thought sharing my experience might help other devs out there.
&lt;/p&gt;

&lt;img alt=&quot;A Lunch Bug&quot; class=&quot;after&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/bug_200.png&quot; /&gt;

&lt;h2&gt;
	Be prepared to write
&lt;/h2&gt;

&lt;p&gt;
	The first thing I noticed is that they&#39;ve got a &lt;strong&gt;huge&lt;/strong&gt; form to fill out. I expected to be writing &lt;em&gt;some&lt;/em&gt; information and maybe a description or something, but I wasn&#39;t prepared for this much. Their examples were helpful so I included ours:
&lt;/p&gt;

&lt;h3&gt;
	Game description
&lt;/h3&gt;

&lt;p&gt;
	I thought this was pretty straightforward so I just went with what we&#39;d probably put up on the Chrome Web Store or similar places…
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;
	Lunch Bug is a unique puzzle game with gameplay similar to Othello, but with many new, distinct mechanics. Players engage in a deeply strategic puzzle game, aiming to feed the most fruit to the lunch bugs to get the highest score!
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;

&lt;h3&gt;
	Artistic statement
&lt;/h3&gt;

&lt;p&gt;
	You know, this one put me off a little at first because I hadn&#39;t put any thought into it. We&#39;ve been in such a frenzy to get new games out, we haven&#39;t really thought about trying to make a statement.
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;
	Our first game was a very niche, extremely challenging design that only appealed to a small number of hardcore players. With Lunch Bug, we wanted to design a game that wouldn&#39;t alienate players as much, but still had something new to offer to pull them in. So we began with a design we knew and loved and added our own distinctive mechanics to the game.
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;

&lt;h3&gt;
	Installation
&lt;/h3&gt;

&lt;img alt=&quot;A Lunch Bug Mushroom&quot; class=&quot;before&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/mushroom_200.png&quot; /&gt;

&lt;p&gt;
	IndieCade is interesting because it accepts games of &lt;em&gt;any&lt;/em&gt; kind, including board games and paper designs. With so many differences and edge-cases, it&#39;s no wonder that terminology like &quot;installation&quot; gets used, even when largely irrelevant to games like &lt;strong&gt;Lunch Bug&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;
	Lunch Bug can be played in any modern web browser. Please play Lunch Bug in the latest version of Google Chrome (currently 18.x) on Mac or Windows computers.
	Android, iPhone and iPad browsers are also supported, though some features may not be available and the experience is not ideal.
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;

&lt;h3&gt;
	Gameplay
&lt;/h3&gt;

&lt;p&gt;
	At first I approached this with step-by-step directions on how to play the game, but I defenestrated that idea and instead leaned heavily on our tutorial. The tutorial should be what teaches players how to play.
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;
	Since Lunch Bug is a new game design, we recommend players to follow the tutorial from the title screen to learn how to play.
	To get the full breadth of the game, players should play through the game until the board is full and the game is over. (New games typically only last ~5 minutes.)
	Lunch Bug was designed as a &quot;slow burn&quot; game, where players get dramatically higher scores as they improve at the game.
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;

&lt;h3&gt;
	What&#39;s your story?
&lt;/h3&gt;

&lt;p&gt;
	This step was unexpected too. Based on the examples, it sounded like more of a company/team culture aspect than about this particular game, so that&#39;s what I wrote:
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;
	We named our company Lost Decade because, as two web developers with ~10 years experience each, we felt like we&#39;d somehow let a decade pass by without pursuing our dreams of making games.
	This is where HTML5 comes in. We&#39;re game lovers and designers at heart, but all we knew was JavaScript. With the emergence of HTML5, we could program games quickly and easily and make them instantly, widely available through the web.
	Lunch Bug is our first real game after quitting our jobs and jumping into the deep end to follow our dreams!
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;

&lt;h3&gt;
	Team description
&lt;/h3&gt;

&lt;p&gt;
	This was easy to write, especially since we&#39;ve &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-episode-1-hello-world/&quot;&gt;podcasted about it&lt;/a&gt;!
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;
	After meeting at a web job, Geoff and I quickly realized that we both were passionate about the very specific blend of games and JavaScript. We work from home M-W-F. Geoff comes to my place on Tuesdays, when we talk about goals for the coming week. Thursday I head to his place for gameplay testing and more conversation. Throughout the week we often Skype and IM.
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;

&lt;img alt=&quot;A Lunch Bug Berry&quot; class=&quot;after&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/berry_200.png&quot; /&gt;

&lt;h3&gt;
	Level of polish
&lt;/h3&gt;

&lt;p&gt;
	This was somewhat difficult to say, as we have so many &lt;a href=&quot;http://asana.com/&quot;&gt;open tickets&lt;/a&gt; and big plans for the polish, and I had to express all of this in just a few sentences:
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;
	Lunch Bug is in active development and will be receiving weekly(ish) updates. We&#39;re redoing the title screen and user interface art and adding a new &quot;store&quot; feature.
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;

&lt;h3&gt;
	Back up your data!
&lt;/h3&gt;

&lt;p&gt;
	About halfway through taking extra care in writing decent stuff for this huge form, I somehow had the good sense to save what I was doing.
	I copy/pasted each of the seven text boxes into our Lost Decade &lt;a href=&quot;http://db.tt/7dFgq7DA&quot;&gt;Dropbox&lt;/a&gt; account and &lt;strong&gt;BOY&lt;/strong&gt; am I glad I did,
	because they took so long to write that the website logged me out. I &lt;em&gt;think&lt;/em&gt; the data actually saved into a draft, but having a backup saved me from a minor heart attack. Be wary!
&lt;/p&gt;

&lt;h2&gt;
	Video required
&lt;/h2&gt;

&lt;p&gt;
	I&#39;ve &lt;a href=&quot;https://www.lostdecadegames.com/a-simple-guide-to-game-development-contests/&quot;&gt;written a guide to game development contests&lt;/a&gt; before, but it certainly needs updating now.
	My new piece of crucial advice is to &lt;strong&gt;go through the submission process early&lt;/strong&gt;!
	If we had waited until the deadline for this step, we&#39;d suddenly realize we have to produce a video, and may have been out of time!
&lt;/p&gt;

&lt;p&gt;
	This step actually wasn&#39;t too bad since I&#39;ve randomly gotten some practice with iMovie recently.
	I started adding &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;Lostcast&lt;/a&gt; to &lt;a href=&quot;http://www.youtube.com/lostdecadegames&quot;&gt;our YouTube&lt;/a&gt; page as well as some random
	&lt;a href=&quot;http://www.youtube.com/watch?v=SlikKjv77QI&quot;&gt;time-lapse movies&lt;/a&gt; (because I really love those!).
	Anyway I&#39;ve learned a lot recently so I was able to produce a video in less than an hour. And here it is:
&lt;/p&gt;

&lt;iframe width=&quot;500&quot; height=&quot;284&quot; src=&quot;http://www.youtube.com/embed/zSUclqfrVSs&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2&gt;Summary&lt;/h2&gt;

&lt;p&gt;
	Aside from the gigantic form and some bewildering usability problems (phone number is &lt;strong&gt;really&lt;/strong&gt; buried!), the process of submitting to IndieCade wasn&#39;t too bad. The competition is stiff, but we&#39;re at the very least excited about getting some industry veterans playing our game. Why not &lt;a href=&quot;http://www.indiecade.com/submissions/&quot;&gt;submit your game&lt;/a&gt;?
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Our simple new business cards</title>
		<link href="https://www.lostdecadegames.com/our-simple-new-business-cards/"/>
		<updated>2012-04-19T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/our-simple-new-business-cards/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/biz_cards/angled.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games business cards&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/biz_cards/angled_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h2&gt;Need moar cards&lt;/h2&gt;
&lt;p&gt;At &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-episode-11-ldg-at-gdc/&quot;&gt;GDC&lt;/a&gt;, I ran out of business cards and started using Geoff&#39;s. This lead to some confusing emails and a lot of forwards, which is far from ideal. After some struggling, we finally learned from this lesson, so we decided to make &lt;strong&gt;only one business card for Lost Decade Games&lt;/strong&gt; when ordering new ones.&lt;/p&gt;
&lt;p&gt;This put us on a path of simplicity. When there&#39;s only one card, there are no names. When there are no names, there are no addresses or titles (or Twitter handles, and so forth). After removing so much, we decided to &lt;strong&gt;take everything away&lt;/strong&gt; and start from scratch.&lt;/p&gt;
&lt;p&gt;At this point all we were left with was &lt;strong&gt;Lost Decade Games&lt;/strong&gt;. This was the least we could have; for the cards to function, nothing else could be taken away. This seemed very clean to us, but it didn&#39;t direct people to our website. In a way, it was saying, &amp;quot;Just Google it,&amp;quot; and that&#39;s not cool. That led us to introduce the full URL of our website, which seemed like enough.&lt;/p&gt;
&lt;h2&gt;But how do people know who you are?&lt;/h2&gt;
&lt;p&gt;Our thinking is that people will hit &lt;a href=&quot;https://www.lostdecadegames.com/&quot;&gt;our homepage&lt;/a&gt;, where we have prominent navigation and a welcome module:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For more information or to get in touch, please see our &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;contact&lt;/a&gt; page.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On our contact page, we have pictures of us, as well as &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;Twitter handles&lt;/a&gt; and email addresses. We could definitely have an easier-to-use website (who couldn&#39;t?), but we feel that any smart people out there who know our website and want to get in touch with us should have no problem doing so.&lt;/p&gt;
&lt;h2&gt;The back&lt;/h2&gt;
&lt;p&gt;The business card industry is a strange one in that it&#39;s extremely popular with the tech world, where change happens rapidly, and yet it itself very rarely changes at all.&lt;/p&gt;
&lt;p&gt;To me, it had this sort of feeling that you &lt;em&gt;wanted&lt;/em&gt; your business card to match the standard measurements and all that because you knew it would be living in a stack, and people may get annoyed with the straggler that ruins the perfect edges! (Or maybe I&#39;m just obsessive…)&lt;/p&gt;
&lt;p&gt;But recently my wonderful girlfriend bought some adorable tiny business cards, and I noticed that I was impressed with them. They were different and apparently I was eagerly awaiting something like that for our business cards.&lt;/p&gt;
&lt;h2&gt;Pick a theme&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&quot;http://www.moo.com/share/fg2cdg&quot;&gt;company we were printing with&lt;/a&gt; allowed for an assortment of designs with no extra charge, so I started designing the cards, and (of course!) I quickly began putting in owlbears and dragons and beholders and all kinds of designs based on creatures or objects from our games. I was about an hour in and I kind of had a random mess of designs that &lt;strong&gt;didn&#39;t look like they belonged together&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/biz_cards/straight_on.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games business cards&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/biz_cards/straight_on_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Then I remembered that Geoff and I used to name our projects based on medieval fantasy weapons. &lt;em&gt;Our old (sadly) abandoned game &lt;a href=&quot;https://www.lostdecadegames.com/details-about-our-next-game-burn-tactics/&quot;&gt;Burn Tactics&lt;/a&gt; had a project name of &lt;a href=&quot;http://en.wikipedia.org/wiki/Flame-bladed_sword#Flamberge&quot;&gt;flamberge&lt;/a&gt;, for example.&lt;/em&gt; We stopped using that theme a while ago because it&#39;s just not scalable. Plus, we feel that project names sometimes should be a bit more contextual than random. For instance, we were working on a proposal for a game with a modern warfare theme, which we called &lt;strong&gt;gasmask&lt;/strong&gt;. It really helped to visualize the project when we talked about it!&lt;/p&gt;
&lt;p&gt;Anyway, &amp;quot;medieval fantasy weapons&amp;quot; is a perfect theme for a box of business cards! So I began cutting all the designs that didn&#39;t match the new criteria, and the rest came out quickly and easily. And I really feel like the cohesion helps the business cards feel special.&lt;/p&gt;
&lt;p&gt;As you can see I also made some &lt;a href=&quot;https://www.lostdecadegames.com/lava-sword-dev-diary-part-1/&quot;&gt;Lava Sword&lt;/a&gt; cards that we&#39;ll be using after we launch the game. If you&#39;re curious, we used Moo to print our cards. If you use &lt;a href=&quot;http://www.moo.com/share/fg2cdg&quot;&gt;our referral&lt;/a&gt; link, we both get discounts!&lt;/p&gt;
&lt;p&gt;permalink: &amp;quot;our-simple-new-business-cards/index.html&amp;quot;
tags: [post]&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Play the Onslaught! 2 prototype from late 2010</title>
		<link href="https://www.lostdecadegames.com/play-the-onslaught-2-prototype-from-late-2010/"/>
		<updated>2012-04-27T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/play-the-onslaught-2-prototype-from-late-2010/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/demos/onslaught2/&quot;&gt;
		&lt;img alt=&quot;Onslaught! 2 early prototype&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught2/onslaught2_village.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;During our recent &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-episode-14-quite-an-impact/&quot;&gt;interview with Dominic Szablewski&lt;/a&gt;, we remembered that at one point we were using his game engine &lt;a href=&quot;http://impactjs.com/&quot;&gt;ImpactJS&lt;/a&gt; to build our games.&lt;/p&gt;
&lt;p&gt;A lot&#39;s happened since then… we had to &lt;a href=&quot;https://www.lostdecadegames.com/details-about-our-next-game-burn-tactics/&quot;&gt;abandon&lt;/a&gt; some projects, &lt;a href=&quot;https://www.lostdecadegames.com/the-road-to-a-production-quality-html5-game-o/&quot;&gt;pivot a few times&lt;/a&gt;, and these days we&#39;re using our own in-house game engine called &lt;strong&gt;djinn&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;But some prototypes have survived from our earlier days that we thought ImpactJS users might find helpful to play with. Here&#39;s an early prototype of a tenative sequel to &lt;a href=&quot;https://arcade.lostdecadegames.com/onslaught_arena/&quot;&gt;Onslaught! Arena&lt;/a&gt; that we were calling &lt;strong&gt;Onslaught! 2&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/demos/onslaught2/&quot;&gt;
		&lt;img alt=&quot;Onslaught! 2 early prototype&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/onslaught2/onslaught2_cave.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;You&#39;ll have to &lt;a href=&quot;http://impactjs.com/buy-impact&quot;&gt;purchase a license&lt;/a&gt; to use ImpactJS, but once you do, you can &lt;a href=&quot;https://github.com/lostdecade/onslaught2_impact&quot;&gt;fork the Onslaught! 2 source&lt;/a&gt; and go to town (literally)!&lt;/p&gt;
&lt;a class=&quot;download-podcast&quot; href=&quot;https://www.lostdecadegames.com/demos/onslaught2/&quot;&gt;
	Play the demo
&lt;/a&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	and
&lt;/div&gt;
&lt;a class=&quot;download-podcast&quot; href=&quot;https://github.com/lostdecade/onslaught2_impact&quot;&gt;
	View the source code
&lt;/a&gt;
&lt;p&gt;The code is MIT-licensed and the graphics are &amp;quot;use-for-whatever-but-not-commercially&amp;quot;. Boy I need to read more about licenses someday… Enjoy!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Free Art Friday: Lemcraft</title>
		<link href="https://www.lostdecadegames.com/free-art-friday-lemcraft/"/>
		<updated>2012-05-04T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/free-art-friday-lemcraft/</id>
		<content type="html">&lt;p&gt;&lt;strong&gt;Free Art Friday&lt;/strong&gt; is a monthly &lt;em&gt;graphics giveaway&lt;/em&gt; I&#39;m experimenting with. We&#39;ve got a bunch of unused art sitting around, collecting digital dust. So why not give it to the community? If there&#39;s enough interest, I&#39;ll be doing more of these…&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lemcraft gameplay&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/faf/lemcraft/screenshot_01.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;So while working with &lt;a href=&quot;http://gameclosure.com/&quot;&gt;Game Closure&lt;/a&gt; I had some downtime to learn their SDK, so I built an entire game from scratch in about a week. It&#39;s a casual puzzle side-scrolling game I called &lt;strong&gt;Lemcraft&lt;/strong&gt; (since it&#39;s essentially &lt;a href=&quot;http://en.wikipedia.org/wiki/Lemmings_(video_game)&quot;&gt;Lemmings&lt;/a&gt; meets &lt;a href=&quot;http://www.minecraft.net/&quot;&gt;Minecraft&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;In &lt;strong&gt;Lemcraft&lt;/strong&gt;, players tap the terrain to destroy it, then they can place gathered material in other areas to help the lemmings get to the end of the level.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lemcraft gameplay&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/faf/lemcraft/screenshot_02.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Anyway it&#39;s gone now, lost in the abyss of stealth mode, API breakage and other stuff I won&#39;t get into. But the graphics remain! So here they are for your enjoyment and usage.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lemcraft gameplay&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/faf/lemcraft/tiles.png&quot; /&gt;
&lt;/div&gt;
&lt;h2&gt;Get the art&lt;/h2&gt;
&lt;p&gt;It&#39;s up on &lt;a href=&quot;http://opengameart.org/content/lemcraft&quot;&gt;OpenGameArt.org&lt;/a&gt; or you can click the ridiculously large button below to download the whole package as a zip:&lt;/p&gt;
&lt;a class=&quot;download-podcast&quot; href=&quot;https://www.lostdecadegames.com/media/images/posts/faf/lemcraft/lemcraft_art.zip&quot;&gt;
	Download lemcraft_art.zip (714k, 22 files)
&lt;/a&gt;
&lt;h2&gt;Want more?&lt;/h2&gt;
&lt;p&gt;What do you think of &lt;strong&gt;Free Art Friday&lt;/strong&gt;? If the response is positive, I&#39;ll be doing one of these on the &lt;em&gt;first Friday of every month&lt;/em&gt;!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Choc-Onslaught!</title>
		<link href="https://www.lostdecadegames.com/choc-onslaught/"/>
		<updated>2012-05-18T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/choc-onslaught/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/choconslaught_1.jpg&quot;&gt;
		&lt;img alt=&quot;Onslaught! in chocolate&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/choconslaught_1_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;My girlfriend, Melissa, is studying to be a &lt;a href=&quot;http://en.wikipedia.org/wiki/Pastry_chef&quot;&gt;Pastry Chef&lt;/a&gt;. One of her recent projects was to create a chocolate box (A box made of chocolate which contains chocolate truffles).&lt;/p&gt;
&lt;p&gt;Since she&#39;s a big fan of our game &lt;a href=&quot;https://www.lostdecadegames.com/onslaught_arena/&quot;&gt;Onslaught! Arena&lt;/a&gt;, she decorated her chocolate box with characters from the game alongside an awesome looking chocolate LDG axe!&lt;/p&gt;
&lt;p&gt;Everything you see pictured is created in chocolate of various kinds. Some parts are modeled by hand while others are molded or tempered.&lt;/p&gt;
&lt;p&gt;The moss is made by pouring tempered chocolate over green disco sugar. I think it looks amazing!&lt;/p&gt;
&lt;p&gt;We hope you enjoy the game in chocolate as much as we do!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/choco_xam.jpg&quot;&gt;
		&lt;img alt=&quot;Onslaught! in chocolate&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/choco_xam_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/choco_beholder.jpg&quot;&gt;
		&lt;img alt=&quot;Onslaught! in chocolate&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/choco_beholder_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/choco_bats.jpg&quot;&gt;
		&lt;img alt=&quot;Onslaught! in chocolate&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/choco_bats_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;The box &lt;em&gt;was&lt;/em&gt; filled (past-tense, because I ate most of them!) with the delicious truffles you see below!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/truffles.jpg&quot;&gt;
		&lt;img alt=&quot;Onslaught! in chocolate&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/choconslaught/truffles_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Free Art Friday 2: Bomb Party</title>
		<link href="https://www.lostdecadegames.com/free-art-friday-2-bomb-party/"/>
		<updated>2012-06-01T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/free-art-friday-2-bomb-party/</id>
		<content type="html">&lt;p&gt;We&#39;ve got a lot of unused art laying around here at Lost Decade Games. So last month I &lt;a href=&quot;http://www.reddit.com/r/gamedev/comments/t79ek/any_interest_in_monthly_free_game_art/&quot;&gt;asked on Reddit&lt;/a&gt; if there was any interest in monthly free game art, and there was! The first Friday of each month seemed like as good a time as any to upload it, and it&#39;s that time again.&lt;/p&gt;
&lt;p&gt;This month I&#39;m offering up some quick pixelwork I did for a game concept we were playing with that we were calling &lt;strong&gt;Bomb Party&lt;/strong&gt;. Here&#39;s the sprite sheet that you&#39;re free to use:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/faf/bomb_party/sheet.png&quot;&gt;
		&lt;img alt=&quot;Bomb Party sheet&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/faf/bomb_party/sheet_x5.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/faf/bomb_party/sheet.png&quot;&gt;Download the 1:1 pixel sheet here.&lt;/a&gt; Use the graphics however you want, but please do credit &lt;strong&gt;Lost Decade Games&lt;/strong&gt; somewhere!&lt;/p&gt;
&lt;p&gt;If you missed last month&#39;s free art, &lt;a href=&quot;https://www.lostdecadegames.com/free-art-friday-lemcraft/&quot;&gt;have a look&lt;/a&gt;!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>How to Make a Video Game on Laser Time Podcast</title>
		<link href="https://www.lostdecadegames.com/how-to-make-a-video-game/"/>
		<updated>2012-06-04T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/how-to-make-a-video-game/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lasertimepodcast.com/2012/06/04/laser-time-how-to-make-a-video-game/&quot;&gt;
		&lt;img alt=&quot;Matt Hackett on Laser Time podcast&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/misc/lasertime.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Were you sad that there &lt;a href=&quot;https://twitter.com/LostDecadeGames/status/209356076099973120&quot;&gt;was no Lostcast&lt;/a&gt; yesterday? Us too, but this might help: I was recently on an episode of &lt;a href=&quot;http://www.lasertimepodcast.com/&quot;&gt;Laser Time&lt;/a&gt;, a podcast run by games journalogist &lt;a href=&quot;https://twitter.com/#!/CAntista&quot;&gt;Chris Antista&lt;/a&gt;. The episode&#39;s called &lt;a href=&quot;http://www.lasertimepodcast.com/2012/06/04/laser-time-how-to-make-a-video-game/&quot;&gt;Make a Video Game&lt;/a&gt; and we talk about things that might be familiar to &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;Lostcast&lt;/a&gt; listeners, like HTML5 and independent game development.&lt;/p&gt;
&lt;a class=&quot;download-podcast&quot; href=&quot;http://www.lasertimepodcast.com/2012/06/04/laser-time-how-to-make-a-video-game/&quot;&gt;
	Listen to How to Make a Video Game
&lt;/a&gt;
&lt;p&gt;If you missed it, I also co-hosted a recent episode of &lt;a href=&quot;http://www.vgmpire.com/&quot;&gt;VGMPire&lt;/a&gt;, a video game music podcast ran by my friend &lt;a href=&quot;https://twitter.com/#!/Brelston&quot;&gt;Brett Elston&lt;/a&gt;. The episode&#39;s called &lt;a href=&quot;http://www.vgmpire.com/2012/05/23/vgmpire-episode-22-shining-the-blues/&quot;&gt;Shining the Blues&lt;/a&gt; and we talk about a franchise that really influences Lost Decade -- the &lt;a href=&quot;http://goo.gl/0YxU3&quot;&gt;Shining series&lt;/a&gt;! It even has an exclusive Shining remix from &lt;a href=&quot;https://twitter.com/richtaur/status/208442678239707136&quot;&gt;master of funk Joshua Morse&lt;/a&gt;!&lt;/p&gt;
&lt;a class=&quot;download-podcast&quot; href=&quot;http://www.vgmpire.com/2012/05/23/vgmpire-episode-22-shining-the-blues/&quot;&gt;
	Listen to Shining the Blues
&lt;/a&gt;
&lt;p&gt;Tomorrow we&#39;re interviewing a Google developer for the next episode of Lostcast. We&#39;ll post that episode this upcoming Sunday!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Our mobile-optimized HTML5 game Lava Sword is looking for sponsors</title>
		<link href="https://www.lostdecadegames.com/our-mobile-optimized-html5-game-lava-sword-is-looking-for-sponsors/"/>
		<updated>2012-06-06T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/our-mobile-optimized-html5-game-lava-sword-is-looking-for-sponsors/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;
		&lt;img alt=&quot;Lava Sword&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_sword/portals/title.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We recently finished our mobile-optimized HTML5 game called &lt;strong&gt;Lava Sword&lt;/strong&gt;. It&#39;s a side-scrolling action game designed to be very simple, and it runs great on Android browers and Mobile Safari.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;
		&lt;img alt=&quot;Lava Sword gameplay&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_sword/portals/gameplay.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Players progress through a wooded area, wielding a big sword to fight off monsters, all while avoiding spikes and other hazards!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;
		&lt;img alt=&quot;Lava Sword gameplay (pain)&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_sword/portals/gameplay_pain.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;At the end of the game, the player&#39;s score (which is based on the number of killed monsters) is displayed. This would be a perfect time to tap into a &lt;strong&gt;High Score API&lt;/strong&gt; to give the player bragging rights!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;
		&lt;img alt=&quot;Lava Sword menu&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_sword/portals/menu.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;So if you&#39;re involved with a games portal who&#39;s looking for an HTML5 arcade-style game that runs great on Android/iOS browsers, please do &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;get in touch&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;
		&lt;img alt=&quot;Lava Sword: Game Over screen&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_sword/portals/game_over.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;P.S. Thanks to our friend &lt;a href=&quot;http://www.photonstorm.com/archives/2825/nutmeg-our-html5-mobile-browser-platformer-game-is-looking-for-sponsors&quot;&gt;Rich for the blog idea&lt;/a&gt;!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Polishing a Level Select screen: process and implementation</title>
		<link href="https://www.lostdecadegames.com/polishing-a-level-select-screen-process-and-implementation/"/>
		<updated>2012-06-26T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/polishing-a-level-select-screen-process-and-implementation/</id>
		<content type="html">&lt;p&gt;We&#39;re just about ready to launch &lt;strong&gt;Lunch Bug&lt;/strong&gt;, which means I&#39;ve been polishing every rough edge until it shines. One of the roughest edges until just recently was the &amp;quot;level select&amp;quot; screen, where players progress through the game.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lunch Bug level select (before)&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/before_landscape.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;The level select screen was simple and worked fine, but it wasn&#39;t much to look at and certainly wasn&#39;t fun to interact with. Also the number of rows in each column were uneven in portrait mode. We can do better!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lunch Bug level select (before)&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/before_portrait.png&quot; /&gt;
&lt;/div&gt;
&lt;h2&gt;The plan&lt;/h2&gt;
&lt;p&gt;After &lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/sketch.jpg&quot;&gt;some brainstorming&lt;/a&gt;, I came up with this plan of attack:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Break up this single screen into multiple pages to enhance the feeling of progression.&lt;/li&gt;
&lt;li&gt;Improve the user interface regarding current goal and level unlocking.&lt;/li&gt;
&lt;li&gt;Polish up the screens with unique graphics and animations.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/sketch.jpg&quot;&gt;
		&lt;img alt=&quot;Brainstorming&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/sketch_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h2&gt;1. Break it up&lt;/h2&gt;
&lt;p&gt;The first step was to split the level select screen into separate pages. Since &lt;strong&gt;Lunch Bug&lt;/strong&gt; has 20 levels, 4 screens displaying 5 levels each felt like a good separation. Once the buttons were positioned correctly, I converted them into simple images instead of buttons.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Step 1: break up the screen into multiple pages&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/button_org.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;In this first iteration, I also threw in &amp;quot;back&amp;quot; and &amp;quot;next&amp;quot; buttons to allow users to navigate through the pages. The steps I take are deliberately small, in an attempt to isolate potential issues early on and avoid tripping on bugs as I get deeper into the implementation.&lt;/p&gt;
&lt;p&gt;Once I removed the large majority of buttons from the design, I noticed that the screen looked especially bare. Always on the lookout for ways to give our graphics longer legs, it occurred to me that the overhanging leaves from the title screen would work here too.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lunch Bug level select (old)&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/title.png&quot; /&gt;
&lt;/div&gt;
&lt;h2&gt;2. Better user interface&lt;/h2&gt;
&lt;p&gt;The previous level select screen wasn&#39;t just unpolished, it also had a clunky user interface. When players unlocked a new level, the button representing the next level would simply become enabled (changing its color from grey to black). Pretty lame, not very rewarding, and worst of all, not a very clear message to the player.&lt;/p&gt;
&lt;p&gt;To fix this, I highlighted the current level button with what I ended up calling &amp;quot;guide bugs.&amp;quot; I positioned these little guys in a circle around the highlighted button. This clearly messages to the player which level is next, and since they dance around, it makes the screen more entertaining to look at too.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Step 2: better user interface&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/button_highlight.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;I also added tweening animations when players unlock levels. The guide bugs swarm in on the button of the level the player just beat, then tween to the next level&#39;s button. It&#39;s a little reward to the player for finishing a level and reinforces what the player&#39;s next goal is.&lt;/p&gt;
&lt;h2&gt;3. Graphics and animation&lt;/h2&gt;
&lt;p&gt;The final step was graphical work. In place of the buttons which were only ever enabled or disabled, I wanted images with three states (locked, unlocked and current) that fit the game&#39;s theme. To solve this I opted for picnic baskets. Since they already have &amp;quot;closed&amp;quot; and &amp;quot;opened&amp;quot; states, they&#39;re easily visually mapped to &amp;quot;locked&amp;quot; and &amp;quot;unlocked.&amp;quot; To represent the &amp;quot;current&amp;quot; state, I filled it with a berry and made it glow.&lt;/p&gt;
&lt;p&gt;I also rendered the paths between levels in the same style as the background tiles in the game. This draws a visual path between the levels and helps fill the design out.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Step 3: graphics and animation&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/path_dirt.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Lastly, nothing says polish like parallax scrolling! With a little Photoshop work, I made the leaves image into a repeating pattern. I then added a second leaves image stacked to the right, and after some easy tweening math, had them slowly scrolling along with the background. Parallax scrolling can be one of the simplest and most impactful visual effects to add when polishing your game.&lt;/p&gt;
&lt;h2&gt;Take it further&lt;/h2&gt;
&lt;p&gt;Polish is one of those deep holes that you can spend tons of time on, but you&#39;ll always want to add more! Once I had the paginated level select screen in place, it created the perfect situation to introduce new graphics and music to the game.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lunch Bug tiles&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/tiles.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;The first step was to add new repeating tile graphics to the mix. This rewards the player for progressing through the game with interesting new graphics to enjoy. Since &lt;strong&gt;Lunch Bug&lt;/strong&gt;&#39;s composer &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt; had already made four songs for the gameplay, it was easy to load those on the fly too.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Step 3: graphics and animation&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_select/gameplay_rug.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;As a strategic puzzle game, &lt;strong&gt;Lunch Bug&lt;/strong&gt; can take a long time to master. The hope is that these new pages of levels will enhance the feeling of progression. Changing up the look and feel should also reinvigorate players to keep enjoying the game.&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Polish can be hard work but it is absolutely mandatory if you want your game to shine. This process took about one entire week of development, but I think it was well worth it. When a part of your game isn&#39;t polished shiny, the overall experience of playing it can suffer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lunch Bug&lt;/strong&gt; is the next HTML5 game from &lt;strong&gt;Lost Decade Games&lt;/strong&gt;, soon to be released on Facebook, Pokki, the Chrome Web Store, Mac App Store, iOS, Android and the open web. &lt;a href=&quot;https://twitter.com/#!/lostdecadegames&quot;&gt;Follow us on Twitter&lt;/a&gt; and we&#39;ll let you know when it&#39;s ready to play!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Firefox Audio canplay bugs</title>
		<link href="https://www.lostdecadegames.com/firefox-audio-canplay-bugs/"/>
		<updated>2012-07-13T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/firefox-audio-canplay-bugs/</id>
		<content type="html">&lt;p&gt;We&#39;re getting geared up to launch our new game &lt;strong&gt;Lunch Bug&lt;/strong&gt;, so we&#39;ve (finally) been testing the game more thoroughly in browsers other than Google Chrome. In the process, it looks like I may have found a few audio bugs in Firefox.&lt;/p&gt;
&lt;p&gt;There seem to be two bugs. The first bug is that Firefox throws the &lt;code&gt;canplay&lt;/code&gt; and &lt;code&gt;canplaythrough&lt;/code&gt; events twice when an audio file loads (they should only be thrown once). I could only reproduce this on Mac OS X.&lt;/p&gt;
&lt;p&gt;Second, Firefox appears to fire the &lt;code&gt;canplay&lt;/code&gt; and &lt;code&gt;canplaythrough&lt;/code&gt; events when an audio instance&#39;s &lt;code&gt;currentTime&lt;/code&gt; property is set. This is unexpected behavior and doesn&#39;t happen in other browsers. When talking with Geoff, it came up that there could be a case where this behavior might make sense: for example if &lt;code&gt;currentTime&lt;/code&gt; was set to a value past what has loaded so far, perhaps &lt;code&gt;currentTime&lt;/code&gt; could tell listeners that it cannot play.&lt;/p&gt;
&lt;p&gt;However this behavior doesn&#39;t seem intentional, as it doesn&#39;t happen in other browsers and isn&#39;t mentioned (at least to my knowledge) in the W3C specification.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;download-podcast&quot; href=&quot;https://www.lostdecadegames.com/demos/firefox_audio_canplay_bugs/&quot;&gt;Show me the demonstration!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The ridiculously large button above links to the &lt;a href=&quot;https://www.lostdecadegames.com/demos/firefox_audio_canplay_bugs/&quot;&gt;demo&lt;/a&gt; where you can try out the bugs for yourself, and I put the &lt;a href=&quot;https://github.com/lostdecade/firefox_audio_canplay_bugs&quot;&gt;source code on GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By taking the time to create a concise demonstration, my hope is to make it easier for other developers to either help me figure out the confusion on my end, or if these are indeed bugs in Firefox, to ease the process of getting those fixed. On that note I&#39;ve created two tickets using Mozilla&#39;s bug tracker:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=773883&quot;&gt;Firefox on Mac throws canplay and canplaythrough events twice per audio load&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=773885&quot;&gt;Firefox throws canplay and canplaythrough events when currentTime is set&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What do you think? Was the demonstration easy to follow? Do these bugs look legitimate? If so, do you know any Mozilla engineers?&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Announcing Lunch Bug!</title>
		<link href="https://www.lostdecadegames.com/announcing-lunch-bug/"/>
		<updated>2012-07-20T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/announcing-lunch-bug/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;
		&lt;img alt=&quot;Play Lunch Bug!&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/title.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;
	&lt;a class=&quot;download-podcast&quot; href=&quot;https://lunchbug.lostdecadegames.com/&quot;&gt;Play Lunch Bug now!&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
	Today Geoff and I are very excited to announce our first major game in almost 2 years, &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;Lunch Bug&lt;/a&gt;, a free-to-play, strategy puzzle game built using HTML5.
&lt;/p&gt;

&lt;p&gt;
	Lunch Bug is available to play now on &lt;a href=&quot;http://pok.ki/Lve7Ug&quot;&gt;Pokki&lt;/a&gt;, the &lt;a href=&quot;https://chrome.google.com/webstore/detail/hnoafdaceebmnoannffpabnhpkdollho&quot;&gt;Chrome Web Store&lt;/a&gt;, and the &lt;a href=&quot;https://lunchbug.lostdecadegames.com/&quot;&gt;open web&lt;/a&gt;. It even works in mobile browsers like Mobile Safari and the Android browser!
	For more information, please see the &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;landing page&lt;/a&gt; and &lt;a href=&quot;http://www.lunchbug.com/media/lunchBugMediaKit.zip&quot;&gt;media kit&lt;/a&gt;.
&lt;/p&gt;

&lt;h2&gt;Watch the Lunch Bug trailer&lt;/h2&gt;

&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe width=&quot;480&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/0EldFDJBBE0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h2&gt;Useful links&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://lunchbug.lostdecadegames.com/&quot;&gt;Play now&lt;/a&gt; in your browser&lt;/li&gt;
	&lt;li&gt;Visit the &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;official landing page&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Download the &lt;a href=&quot;http://www.lunchbug.com/media/lunchBugMediaKit.zip&quot;&gt;media kit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
	As always, we&#39;re dying to know what you think! Please &lt;a href=&quot;https://lunchbug.lostdecadegames.com/&quot;&gt;play the game&lt;/a&gt; and tell us your thoughts on &lt;a href=&quot;https://twitter.com/LostDecadeGames&quot;&gt;Twitter&lt;/a&gt;, &lt;a href=&quot;https://www.facebook.com/pages/Lost-Decade-Games/139862159378069&quot;&gt;Facebook&lt;/a&gt;, or via &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;email&lt;/a&gt;. Thanks!
&lt;/p&gt;</content>
	</entry>
	
	
	<entry>
		<title>Lunch Bug 1.20.16</title>
		<link href="https://www.lostdecadegames.com/lunch-bug-1-20-16/"/>
		<updated>2012-07-23T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lunch-bug-1-20-16/</id>
		<content type="html">&lt;p&gt;In case you missed it, we &lt;a href=&quot;https://www.lostdecadegames.com/announcing-lunch-bug/&quot;&gt;launched Lunch Bug&lt;/a&gt; last week! It&#39;s available to play right now on &lt;a href=&quot;https://www.pokki.com/app/Lunch-Bug&quot;&gt;Pokki&lt;/a&gt;, the &lt;a href=&quot;https://chrome.google.com/webstore/detail/hnoafdaceebmnoannffpabnhpkdollho&quot;&gt;Chrome Web Store&lt;/a&gt; and the &lt;a href=&quot;https://lunchbug.lostdecadegames.com/&quot;&gt;open web&lt;/a&gt;. It supports modern browsers like Google Chrome and Mozilla Firefox as well as mobile browsers such as Mobile Safari and the Android browser.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;
		&lt;img alt=&quot;Play Lunch Bug!&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/title.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We&#39;re pleased that the feedback has been overall very positive, but as always, there are improvements that can be made. I think the biggest issue with the game right now is the tutorial. In the first five levels of the game, players must go through mandatory modals and step-by-step instructions on how to play. Additionally, the tutorial first sets the expectation that there will be an &amp;quot;OK&amp;quot; button to press, but then the very next step changes the focus to the game board, confusing many players.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&quot;https://lunchbug.lostdecadegames.com/&quot;&gt;version 1.20.16&lt;/a&gt;, I&#39;ve added the ability to skip the tutorial, as well as an animated hand image to indicate when users are asked to interact with the board instead of a button. These simple changes should help make the game both easier for new players to understand and less frustrating for returning players.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://twitter.com/#!/richtaur/media/slideshow?url=pic.twitter.com%2FoAEulNJd&quot;&gt;
		&lt;img alt=&quot;Skip that tutorial, son!&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/skip_tutorial.jpg&quot; width=&quot;500&quot; height=&quot;374&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h2&gt;What&#39;s next?&lt;/h2&gt;
&lt;p&gt;Players like the very helpful &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-episode-17-vincent-priceless/&quot;&gt;Vincent Scheib&lt;/a&gt; have suggested that the tutorial may introduce too much too quickly, and I definitely agree. Believe it or not, the live version of the tutorial is the fifth (or so) iteration! The early versions of the tutorial were &lt;em&gt;really&lt;/em&gt; unintuitive, so we&#39;ve come a long way. But I&#39;d like to do at least one more from-scratch approach to the tutorial, this time focusing on transparency, simplicity, and smaller steps.&lt;/p&gt;
&lt;p&gt;We&#39;ve also talked a lot about adding new pieces and levels to the game. However, it might be a while before I can work on Lunch Bug, as Geoff and I are now in fulltime production mode for our next game &lt;strong&gt;Lava Blade&lt;/strong&gt;. We&#39;ve got a working prototype and &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt; has already done a bunch of &lt;em&gt;really&lt;/em&gt; amazing songs. More to come!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lava Blade art assets and concepts</title>
		<link href="https://www.lostdecadegames.com/lava-blade-art-assets-and-concepts/"/>
		<updated>2012-07-28T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-blade-art-assets-and-concepts/</id>
		<content type="html">&lt;p&gt;We&#39;re deep into production on &lt;strong&gt;Lava Blade&lt;/strong&gt;, our combat-centric platformer game with procedural content generation, and I thought I&#39;d take a break to share some of the early art concepts.&lt;/p&gt;
&lt;h1&gt;Lars, the main character&lt;/h1&gt;
&lt;p&gt;The first thing I wanted to do is nail down the look of the main character, Lars. My thinking was that once we were happy with how he looked, it&#39;d be easier to visualize the rest of the world around him.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lava Blade Lars progression&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/art/lars_progression.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;First I did a rough pass on the general style, proportions, and colors (#1). This was intended to be a quick sanity check. Next I went back and better defined his shapes and detailing (#2). In #3, I added shading, highlights, and dark inner lines. I liked the way this one &amp;quot;popped&amp;quot; but I felt like it took away from his detailing, so in #4 I introduced more interior colors to replace the black. Lastly, I added hair highlights, glossier metal, and additional shading.&lt;/p&gt;
&lt;p&gt;I&#39;m pretty happy with how Lars turned out, though I&#39;ll probably make yet another pass (maybe to add some detail to his hands). As you can see below, I also experimented with some different styles. I wanted to see if something wonderful might accidentally happen, and make sure we were in the right place between cute and combat-ready.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lava Blade super deformed Lars&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/art/lars_super_deformed.png&quot; /&gt;
&lt;/div&gt;
&lt;h1&gt;The ogre&lt;/h1&gt;
&lt;p&gt;We&#39;re thinking that an ogre will have a pivotal role in teaching people how to play &lt;strong&gt;Lava Blade&lt;/strong&gt;. In the beginning of the game, perhaps an ogre will kidnap someone (or do something else naughty), and you&#39;ve got to chase him down, learning the game mechanics along the way.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lava Blade ogre sketch&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/art/ogre_sketch.jpg&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;However, I wanted him to remain relatively faceless (note the hair covering his eyes) since he wouldn&#39;t be a recurring character, like the main villain. I like to jump on inspiration when it hits, and I happened to be near some graph paper when it did, so I sketched him out quickly on paper before doing a digital version. Doing this in repetition is great for practice, and even though I didn&#39;t use the sketch, I think it helped the final product.&lt;/p&gt;
&lt;p&gt;Since the art style was already defined by Lars, I didn&#39;t need to experiment with the ogre as much. Instead, I could simply sketch him out and render him, as seen below.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lava Blade ogre progression&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/art/ogre_progression.png&quot; /&gt;
&lt;/div&gt;
&lt;h1&gt;More to come&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade teaser&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/art/teaser.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Did you see the &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;teaser&lt;/a&gt; on &lt;a href=&quot;https://twitter.com/LostDecadeGames&quot;&gt;Twitter&lt;/a&gt; (try clicking the characters!). We&#39;ll be putting some more scenes up there as we develop the game. Stay tuned!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Help fund Dragons Gameboard, get new Onslaught!-style pixel art</title>
		<link href="https://www.lostdecadegames.com/help-fund-dragons-gameboard/"/>
		<updated>2012-08-09T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/help-fund-dragons-gameboard/</id>
		<content type="html">&lt;p&gt;The awesome team over at &lt;a href=&quot;http://playbrassmonkey.com/&quot;&gt;Brass Monkey&lt;/a&gt; has just launched a really interesting kickstarter called &lt;a href=&quot;http://www.kickstarter.com/projects/1054533542/dragons-gameboard&quot;&gt;Dragons Gameboard&lt;/a&gt;. It&#39;s an open source, virtualized role-playing game mat that allows up to 16 simultaneous players. Instead of role-playing on a tabletop, imagine lounging around on your couch, with the gameboard visible on your television set, and everyone interacting with their mobile phones. Sounds cool to me!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.kickstarter.com/projects/1054533542/dragons-gameboard&quot;&gt;
		&lt;img alt=&quot;Dragons Gameboard&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/misc/dragonsGameboard.jpg&quot; width=&quot;500&quot; height=&quot;300&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;As you can see from the above photo, they&#39;ve got pins with &lt;a href=&quot;https://arcade.lostdecadegames.com/onslaught_arena/&quot;&gt;Onslaught! Arena&lt;/a&gt; artwork that they&#39;ve been using while developing prototypes. Part of the project&#39;s fund includes commissioning new, free-to-use artwork from us in that same style. So by backing &lt;a href=&quot;http://www.kickstarter.com/projects/1054533542/dragons-gameboard&quot;&gt;Dragons Gameboard&lt;/a&gt; you&#39;ll also be helping our little game company out too.&lt;/p&gt;
&lt;p&gt;Anyway it&#39;s a super cool project, created by a team that has proven they can build cool things. Speaking of which, have you played &lt;a href=&quot;http://playbrassmonkey.com/onslaught-arena&quot;&gt;Onslaught! Arena on Brass Monkey&lt;/a&gt;? If not, you should! It&#39;s really cool tech that &amp;quot;just works&amp;quot; and it&#39;s neat to see Onslaught! integrated with it.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lunch Bug now featured in the Chrome Web Store!</title>
		<link href="https://www.lostdecadegames.com/lunch-bug-now-featured-in-the-chrome-web-store/"/>
		<updated>2012-08-15T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lunch-bug-now-featured-in-the-chrome-web-store/</id>
		<content type="html">&lt;p&gt;We just received notification from a kindly Googler that &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;Lunch Bug&lt;/a&gt; is now featured in the &lt;a href=&quot;https://chrome.google.com/webstore/detail/hnoafdaceebmnoannffpabnhpkdollho&quot;&gt;Chrome Web Store&lt;/a&gt;! It can be seen here on the &lt;a href=&quot;https://chrome.google.com/webstore/category/home&quot;&gt;homepage&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/cws_hp.jpg&quot;&gt;
		&lt;img alt=&quot;Lunch Bug featured in the Chrome Web Store&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/cws_hp_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;And also in the &lt;a href=&quot;https://chrome.google.com/webstore/category/app/3-games&quot;&gt;games&lt;/a&gt; section:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/cws_games.jpg&quot;&gt;
		&lt;img alt=&quot;Lunch Bug featured in the Chrome Web Store&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/cws_games_thumb.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Please note that if you are one of the intelligent, attractive players who have already installed Lunch Bug, you won&#39;t see it featured when browsing the Chrome Web Store. Not a Chrome user? Lunch Bug is also available on &lt;a href=&quot;https://www.pokki.com/app/Lunch-Bug&quot;&gt;Pokki&lt;/a&gt; and &lt;a href=&quot;https://lunchbug.lostdecadegames.com/&quot;&gt;the open web&lt;/a&gt;. Also try it in your mobile browser!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lunch Bug 1.20.19: tutorial bug fix</title>
		<link href="https://www.lostdecadegames.com/lunch-bug-1-20-19/"/>
		<updated>2012-08-20T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lunch-bug-1-20-19/</id>
		<content type="html">&lt;p&gt;This might be confusing -- there was a bug in &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;Lunch Bug&lt;/a&gt;! While the game does revolve around feeding fruit to the title characters, we don&#39;t want there to be any &lt;em&gt;software&lt;/em&gt; bugs. This particular bug was a pretty nasty one. Here&#39;s what was happening:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;
		&lt;img alt=&quot;Lunch Bug level 5&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/level_5.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;As you can see in the above screenshot, a tutorial window pops up on level 5, explaining the new &lt;strong&gt;Spade&lt;/strong&gt; piece. As expected, many players are skipping the tutorials altogether. The problem with level 5 was that the &lt;strong&gt;Store&lt;/strong&gt; button is disabled by default, assuming the tutorial would enable it at the appropriate time. But when players skipped the tutorial, the game forgot to enable the &lt;strong&gt;Store&lt;/strong&gt; button.&lt;/p&gt;
&lt;p&gt;I&#39;ve fixed this bug in &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;version 1.20.19&lt;/a&gt;. Not sure if you&#39;re on the right version? Try refreshing your browser and looking for the version listed on the title screen.&lt;/p&gt;
&lt;h2&gt;Lunch Bug is on FIRE!&lt;/h2&gt;
&lt;a class=&quot;after&quot; href=&quot;https://chrome.google.com/webstore/category/trending&quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/on_fire.jpg&quot; width=&quot;241&quot; height=&quot;201&quot; /&gt;
&lt;/a&gt;
&lt;p&gt;It&#39;s great to be receiving bug reports from users, because that means people are playing the game! Did you see that &lt;a href=&quot;https://www.lostdecadegames.com/lunch-bug-now-featured-in-the-chrome-web-store/&quot;&gt;Lunch Bug is currently featured on the Chrome Web Store&lt;/a&gt;? Well now it&#39;s on &lt;strong&gt;FIRE&lt;/strong&gt; (whatever that means, but we assume it&#39;s a good thing).&lt;/p&gt;
&lt;p&gt;If you haven&#39;t played it yet, you should right now on &lt;a href=&quot;https://www.pokki.com/app/Lunch-Bug&quot;&gt;Pokki&lt;/a&gt;, the &lt;a href=&quot;https://chrome.google.com/webstore/detail/hnoafdaceebmnoannffpabnhpkdollho&quot;&gt;Chrome Web Store&lt;/a&gt;, or the &lt;a href=&quot;https://lunchbug.lostdecadegames.com/&quot;&gt;open web&lt;/a&gt;. It works in modern browsers like Google Chrome and Mozilla Firefox as well as mobile browsers such as Mobile Safari and the Android browser. Have fun, and keep &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;reporting&lt;/a&gt; those bugs!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Get the Lunch Bug OST for just two bucks</title>
		<link href="https://www.lostdecadegames.com/get-the-lunch-bug-ost/"/>
		<updated>2012-08-26T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/get-the-lunch-bug-ost/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/lunch-bug-ost&quot; width=&quot;500&quot; height=&quot;500&quot;&gt;
		&lt;img alt=&quot;Lunch Bug original soundtrack cover&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/ost.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Good news, everyone! The &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;Lunch Bug&lt;/a&gt; original soundtrack is now &lt;a href=&quot;http://joshuamorse.bandcamp.com/album/lunch-bug-ost&quot;&gt;available on Bandcamp&lt;/a&gt;. Composed by indie game composer &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt;, it&#39;s yours for just $2 (USD). You can pay more if you like, which is of course appreciated. Thanks for supporting independent artists!&lt;/p&gt;
&lt;a class=&quot;download-podcast&quot; href=&quot;http://joshuamorse.bandcamp.com/album/lunch-bug-ost&quot;&gt;
	Listen to the Lunch Bug OST
&lt;/a&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Geoff Lava Bladed</title>
		<link href="https://www.lostdecadegames.com/geoff-lava-bladed/"/>
		<updated>2012-09-16T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/geoff-lava-bladed/</id>
		<content type="html">&lt;p&gt;It&#39;s &lt;a href=&quot;https://twitter.com/geoffblair&quot;&gt;Geoff&lt;/a&gt;&#39;s birthday! As a fun little gift for the old guy, I&#39;ve added a little Geoff character into the &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Lava Blade teaser&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Geoff teaser&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/geoff/teaser.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;And as you can see below, he&#39;ll also be a playable character!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Play as Geoff… someday!&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/geoff/forest.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Sorry we don&#39;t have a playable demo ready for you yet. And on that note, I&#39;mma get back to work! Please wish Geoff a happy birthday via &lt;a href=&quot;https://www.lostdecadegames.com/about/&quot;&gt;email&lt;/a&gt; or &lt;a href=&quot;https://twitter.com/geoffblair&quot;&gt;Twitter&lt;/a&gt;!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Join the Lava Blade alpha test!</title>
		<link href="https://www.lostdecadegames.com/join-the-lava-blade-alpha-test/"/>
		<updated>2012-09-21T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/join-the-lava-blade-alpha-test/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://goo.gl/3Iaku&quot;&gt;
		&lt;img src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/gameplay.png&quot; alt=&quot;Lava Blade alpha&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We&#39;ve been making steady progress on our next game, &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Lava Blade&lt;/a&gt;. With the game nearing alpha test readiness, we&#39;re in need of brave souls to test out the game and provide feedback and bug reports.&lt;/p&gt;
&lt;p&gt;If you&#39;d like to receive email updates with playable alpha test links please &lt;a href=&quot;http://goo.gl/3Iaku&quot;&gt;signup&lt;/a&gt;. We promise to keep your email private and we&#39;ll never spam you or sell your address. Please see our &lt;a href=&quot;https://www.lostdecadegames.com/about/privacy/&quot;&gt;privacy policy&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;The alpha should be ready in the next week or two so expect an email from us around that time.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;download-podcast&quot; href=&quot;http://goo.gl/3Iaku&quot;&gt;Signup for Lava Blade alpha&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Unfortunate Lostcast news</title>
		<link href="https://www.lostdecadegames.com/unfortunate-lostcast-news/"/>
		<updated>2012-09-23T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/unfortunate-lostcast-news/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lostcast logo&quot; src=&quot;https://www.lostdecadegames.com/media/images/lostcast/500x500.jpg&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;I&#39;m really frustrated right now. Our most recent attempt to record Lostcast failed. About 20 minutes into the conversation, we noticed that the microphone had stopped picking up Geoff&#39;s voice. The culprit was a faulty microphone connector, so I tossed the cable. That particular problem &lt;em&gt;shouldn&#39;t&lt;/em&gt; happen again, but the wind was nonetheless taken out of our sails. To prevent an episode in which we both sounded irritated and stressed, we decided to try again later.&lt;/p&gt;
&lt;p&gt;Fast-forward to Saturday, when we recorded an episode on Skype. We knew the audio quality would be lower than normal, but it turned out to be much worse than expected: even after we did an initial sanity pass, the audio ended up being unusable due to inexplicable crackling sounds.&lt;/p&gt;
&lt;p&gt;So, apologies, but we&#39;re currently too swamped with development to continue failing attempts to record Lostcast. We&#39;ll try again soon!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lava Blade alpha 0.2.1</title>
		<link href="https://www.lostdecadegames.com/lava-blade-alpha-0.2.1/"/>
		<updated>2012-10-07T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-blade-alpha-0.2.1/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://goo.gl/3Iaku&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/title.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We just sent out the &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Lava Blade&lt;/a&gt; alpha to the first batch of fine players who signed up to be alpha testers. To help spot critical issues early, we&#39;re contacting alpha testers in waves. So if you signed up and haven&#39;t received an email yet, don&#39;t worry! We have your contact information and we&#39;ll get in touch shortly.&lt;/p&gt;
&lt;h2&gt;What&#39;s next?&lt;/h2&gt;
&lt;p&gt;There&#39;s still so much to do. This is just an early alpha! The next change we&#39;ll be implementing is a complete overhaul of the attack mechanic (to us, it currently feels weak and unsatisfying). After that, the game is in desperate need of a tutorial.&lt;/p&gt;
&lt;p&gt;On top of all this, we just entered production on our next game! (More on that soon.)&lt;/p&gt;
&lt;h2&gt;Help test Lava Blade&lt;/h2&gt;
&lt;p&gt;If you haven&#39;t signed up to be an alpha tester, you can do so by filling out &lt;a href=&quot;http://goo.gl/3Iaku&quot;&gt;this form&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Game on!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lunch Bug now available on Google Play</title>
		<link href="https://www.lostdecadegames.com/lunch-bug-now-available-on-google-play/"/>
		<updated>2012-10-11T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lunch-bug-now-available-on-google-play/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.lostdecadegames.lunchbug&quot;&gt;
		&lt;img alt=&quot;Lunch Bug on Google Play&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/android_landscape.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;While Android users have been able to play &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;Lunch Bug&lt;/a&gt; in their mobile browsers since its launch, the game runs pretty slowly on some devices, and the sound is severely handicapped in the mobile browser. Now, thanks to &lt;a href=&quot;http://ludei.com/tech/cocoonjs&quot;&gt;CocoonJS&lt;/a&gt;, Lunch Bug runs beautifully, sounds great, and can be played without an Internet connection on Android devices.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;download-podcast&quot; href=&quot;https://play.google.com/store/apps/details?id=com.lostdecadegames.lunchbug&quot;&gt;Download Lunch Bug for Android&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As always, we&#39;re happy to hear what you think! If you experience any issues with the game on your device, please comment below or &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;contact us directly&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;CocoonJS&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.lostdecadegames.lunchbug&quot;&gt;
		&lt;img alt=&quot;Geoff and Ludei&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lunch_bug/geoff_and_ludei.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Those of you at the &lt;a href=&quot;http://www.meetup.com/Ludei-HTML5MobileGames/events/81752832/&quot;&gt;Introduction to the Ludei HTML5 Mobile Game Dev Platform&lt;/a&gt; meetup yesterday already heard Geoff talking about his experience with CocoonJS. If you missed it, they&#39;ll be posting pictures (and I think video) soon. See you at the next meetup?&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Play our HTML5 games on your Xbox 360</title>
		<link href="https://www.lostdecadegames.com/play-our-games-on-your-xbox-360/"/>
		<updated>2012-10-28T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/play-our-games-on-your-xbox-360/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;HTML5 games on Xbox 360&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/ieXbox/controller.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;A recent update to the Xbox 360 dashboard made Internet Explorer available as a free download. This is exciting news for an HTML5 game company like us, as it means that &lt;a href=&quot;https://www.lostdecadegames.com/games/&quot;&gt;our games&lt;/a&gt; are now playable on Xbox 360 consoles.&lt;/p&gt;
&lt;p&gt;In an &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-episode-14-quite-an-impact/&quot;&gt;interview with ImpactJS creator Dominic Szablewski&lt;/a&gt;, we talked about some of the developer frustrations revolving around Microsoft and HTML5. Dominic has his game &lt;a href=&quot;http://www.phoboslab.org/log/2012/04/javascript-on-the-xbox-360&quot;&gt;Biolab Disaster running natively on an Xbox 360&lt;/a&gt;, but at a completely unplayable 3 frames per second. It&#39;s &lt;em&gt;so close&lt;/em&gt; to working but there&#39;s no apparent interest from Microsoft to seal the deal, despite their repeated pushes into the HTML5 game space.&lt;/p&gt;
&lt;p&gt;Microsoft has financed or otherwise produced a handful of HTML5 game projects in the past few years, including &lt;a href=&quot;http://www.pirateslovedaisies.com/&quot;&gt;Pirates Love Daisies&lt;/a&gt;, &lt;a href=&quot;http://agent8ball.com/&quot;&gt;Agent 008 Ball&lt;/a&gt;, &lt;a href=&quot;http://www.cuttherope.ie/&quot;&gt;Cut the Rope&lt;/a&gt;, and most recently the apparent game platform &lt;a href=&quot;http://atari.com/arcade#!/arcade/atari-promo&quot;&gt;Atari Arcade&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These projects are beneficial to the HTML5 game development scene and we&#39;re glad Microsoft has sponsored them, but it does contrast the decidedly lackluster support for HTML5 on its Xbox 360 consoles.&lt;/p&gt;
&lt;p&gt;The release of Internet Explorer on Xbox 360 is a step in the right direction. Hopefully someday you&#39;ll see our HTML5 games running natively via &lt;a href=&quot;http://en.wikipedia.org/wiki/Xbox_Live_Indie_Games&quot;&gt;XBIG&lt;/a&gt;, but in the meantime, why not fire up Internet Explorer?&lt;/p&gt;
&lt;h2&gt;How to play our games on Xbox 360&lt;/h2&gt;
&lt;p&gt;First, download Internet Explorer onto your console. Then, open Internet Explorer and navigate it to &lt;a href=&quot;https://arcade.lostdecadegames.com/&quot;&gt;arcade.lostdecadegames.com&lt;/a&gt;. Once there, it should look like this:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://arcade.lostdecadegames.com/&quot;&gt;
		&lt;img alt=&quot;The Lost Decade Games arcade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/ieXbox/arcade.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;First, I recommend a quick game of &lt;a href=&quot;https://arcade.lostdecadegames.com/onslaught_defense/&quot;&gt;Onslaught! Defense&lt;/a&gt;. I played a game and happily got my highest score ever! Fair warning, there is some awkwardness with the controls: you&#39;ll need to move Internet Explorer&#39;s cursor to the directional slider at the bottom of the screen. Hold down the A button and you should be able to control the character.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://arcade.lostdecadegames.com/&quot;&gt;
		&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/ieXbox/odResults.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Onslaught! Defense isn&#39;t a terribly deep game, so next up how about some &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;Lunch Bug&lt;/a&gt;? It feels best with a touch or click interface, but Internet Explorer&#39;s cursor is good enough. Of course, like in many other browsers, the sound playback is buggy and unreliable, but the game runs pretty smoothly and the graphics look great on a big TV.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://arcade.lostdecadegames.com/&quot;&gt;
		&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/ieXbox/lbTitle.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;I think you&#39;ll agree that the games show a lot of potential, but there are plenty of issues that would be largely solved by a native wrapper. For example, the audio in Lunch Bug is pretty bad in desktop and mobile browsers, but sounds great in the native &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.lostdecadegames.lunchbug&quot;&gt;Android version&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So this is really exciting and awesome, but our question is: will we get native HTML5 games on Xbox 360, or will we have to wait for the next generation of consoles? If someone at Microsoft happens to read this, please do &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;get in touch&lt;/a&gt;.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lava Blade feedback word clouds</title>
		<link href="https://www.lostdecadegames.com/lava-blade-feedback-word-clouds/"/>
		<updated>2012-11-17T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-blade-feedback-word-clouds/</id>
		<content type="html">&lt;p&gt;Yes indeed, the &lt;a href=&quot;https://www.lostdecadegames.com/join-the-lava-blade-alpha-test/&quot;&gt;Lava Blade alpha&lt;/a&gt; is still going on. We&#39;re swamped with other projects, but we&#39;re eager to dive back into the game, especially after having received so much excellent feedback.&lt;/p&gt;
&lt;p&gt;On that note, my lovely wife Andrea (a professional user researcher) has compiled some of the feedback we have so far and is beginning to examine it. Just for fun, she made &lt;a href=&quot;http://en.wikipedia.org/wiki/Tag_cloud&quot;&gt;word clouds&lt;/a&gt; out of some of the open-ended survey questions.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;All words&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/words/all.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;This data isn&#39;t really all that useful from an actual research perspective, but I think it&#39;s pretty cool to look at. It&#39;s interesting that it can give you a slight feel for the game without even having played it.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Overall game pacing and goals&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/words/overallgamepacinggoals.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Lastly, there&#39;s this pretty large &lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/words/overallgamepacinggoalsenemybehavior.png&quot;&gt;overall game pacing&lt;/a&gt; image that wouldn&#39;t fit into our narrow blog.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Levels&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/words/levels.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;We&#39;re neck-deep into development of a realtime multiplayer game so I need to get back to the grind. You might too, if you&#39;re competing in the &lt;a href=&quot;https://github.com/blog/1303-github-game-off&quot;&gt;GitHub Game Off&lt;/a&gt; competition I&#39;m judging!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Characters, enemies, weapons, store&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/words/characterenemyweaponstore.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;On a side note, tomorrow&#39;s the one year anniversary of &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;Lostcast&lt;/a&gt; and we&#39;re posting an extra-long podcast to celebrate. Hope to see your ears there!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Thanksgiving mini-jam</title>
		<link href="https://www.lostdecadegames.com/thanksgiving-mini-jam/"/>
		<updated>2012-11-22T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/thanksgiving-mini-jam/</id>
		<content type="html">&lt;p&gt;Yesterday, I decided to take a break from bigger projects and challenge myself to a mini game jam. Making a simple game from scratch is a good way to see how our game engine is coming along. I&#39;ve been wanting to do some holiday themed stuff and Thanksgiving seemed like a good excuse.&lt;/p&gt;
&lt;p&gt;I ended up with a really simple &amp;quot;whack-a-mole&amp;quot; style game involving turkeys and pumpkins. I&#39;m pretty happy with how far I got in ~8 hours. The art work is terrible, so you&#39;ll probably understand why Matt handles most of our artistic needs!&lt;/p&gt;
&lt;p&gt;Without further ado, I present &lt;a href=&quot;https://arcade.lostdecadegames.com/turkey12/&quot;&gt;Turkey Hunt&lt;/a&gt;! The game is designed to work best on mobile so try it out on your phone or tablet. Let me know what you think in the comments.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://arcade.lostdecadegames.com/turkey12/&quot;&gt;
		&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/turkey12/gameplay1.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;The game ends up being pretty fun, although shallow. Perhaps I can enlist Matt&#39;s help in cleaning up the art and other loose ends at some point in the future.&lt;/p&gt;
&lt;p&gt;I also want to take this opportunity to wish all our readers and listeners a Happy Thanksgiving! Thanks for your feedback and support on our adventures in indie game development.&lt;/p&gt;
&lt;p&gt;Eat lots of great food, enjoy your families and be safe!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>The Wii U web browser&#39;s HTML5 gaming capabilities</title>
		<link href="https://www.lostdecadegames.com/wii-u-browser/"/>
		<updated>2012-12-09T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/wii-u-browser/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;HTML5 games on Wii U&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/header.png&quot; width=&quot;500&quot; height=&quot;264&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Visit this page in your Wii U browser and &lt;a href=&quot;https://arcade.lostdecadegames.com/onslaught_defense/&quot;&gt;play Onslaught! Defense&lt;/a&gt;!&lt;/em&gt;&lt;/p&gt;
&lt;h1&gt;HTML5 games on consoles&lt;/h1&gt;
&lt;p&gt;Several weeks ago Microsoft released Internet Explorer on the 360. In my article &lt;a href=&quot;https://www.lostdecadegames.com/play-our-games-on-your-xbox-360/&quot;&gt;Play our HTML5 games on your Xbox 360&lt;/a&gt; I discussed that browser&#39;s HTML5 gaming capabilities and the impact it could have on HTML5 game studios like ours. Around the same time, Nintendo launched their next-generation console &lt;a href=&quot;http://www.nintendo.com/wiiu&quot;&gt;Wii U&lt;/a&gt;, which (after a ~3GB system update) also has its own internet browser.&lt;/p&gt;
&lt;p&gt;This isn&#39;t the first time web browsers have been available on gaming consoles. Nintendo&#39;s previous console (&lt;a href=&quot;http://en.wikipedia.org/wiki/Wii&quot;&gt;Wii&lt;/a&gt;) featured a version of Opera called &lt;a href=&quot;http://en.wikipedia.org/wiki/Internet_Channel&quot;&gt;Internet Channel&lt;/a&gt;. Sega&#39;s &lt;a href=&quot;http://en.wikipedia.org/wiki/Dreamcast&quot;&gt;Dreamcast&lt;/a&gt; had a web browser more than 10 years ago! But now in 2012, HTML5 games are on the rise. Is Nintendo&#39;s new browser capable of running them?&lt;/p&gt;
&lt;h2&gt;The GOOD&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Onslaught! Arena&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/oa.jpg&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;In the Wii U&#39;s browser, I visited the &lt;a href=&quot;https://arcade.lostdecadegames.com/&quot;&gt;Lost Decade Games arcade&lt;/a&gt; and was pleased that at least two of our games are playable out of the box. Here are some of the positive take-aways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nearly &lt;strong&gt;complete 2d canvas API&lt;/strong&gt; support.&lt;/li&gt;
&lt;li&gt;The Wii U controller&#39;s excellent d-pad &lt;strong&gt;maps perfectly to the arrow keys&lt;/strong&gt; (up/down/left/right).&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;A button is mapped to enter/return&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Remarkably, the browser also &lt;a href=&quot;https://twitter.com/richtaur/status/277918286149214210&quot;&gt;aced the Acid3 Test&lt;/a&gt;. Its rendering engine is slow but draws everything very well. Unfortunately, there&#39;s a lot more to say about what&#39;s bad.&lt;/p&gt;
&lt;h2&gt;The BAD&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Wii U browser&#39;s HTML5 Test score&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/html5test/score.jpg&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Using the online &lt;a href=&quot;http://html5test.com/&quot;&gt;HTML5 Test&lt;/a&gt; tool (as well as a few of my own scripts), I compiled the capabilities of the Wii U browser. Here are some of those results:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/html5test/audio.jpg&quot;&gt;No Audio support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/html5test/experimental.jpg&quot;&gt;No Web Audio API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/html5test/webGLetc.jpg&quot;&gt;No WebGL, WebSockets, or File API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/html5test/webAppSecurity.jpg&quot;&gt;No AppCache, some security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/html5test/storageWorkers.jpg&quot;&gt;No WebWorkers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/odFPS.jpg&quot;&gt;Framerate is very low&lt;/a&gt; (~10 FPS for tested games)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An &lt;code&gt;Audio&lt;/code&gt; object exists but it doesn&#39;t support any standard audio formats (such as &lt;code&gt;mp3&lt;/code&gt;, &lt;code&gt;ogg&lt;/code&gt;, or even &lt;code&gt;wav&lt;/code&gt;). Sadly there&#39;s &lt;strong&gt;no WebGL support&lt;/strong&gt; at all. Though the &lt;code&gt;localStorage&lt;/code&gt; object exists and will accept commands to get and set data, &lt;strong&gt;the local storage data is wiped when the browser is closed&lt;/strong&gt;, breaking its functionality completely.&lt;/p&gt;
&lt;h1&gt;It DOES play games!&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Onslaught! Defense&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/wiiu/od.jpg&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Although there&#39;s no audio, you can&#39;t save your game, and the framerate is terrible, two of our games are playable. &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;Lunch Bug&lt;/a&gt; is even monetized via Google Wallet, though without a working local storage, there&#39;s really no point in buying anything.&lt;/p&gt;
&lt;p&gt;If you only end up playing only one HTML5 game in your Wii U browser, make it &lt;a href=&quot;https://arcade.lostdecadegames.com/onslaught_defense/&quot;&gt;Onslaught! Defense&lt;/a&gt;. I added keyboard functionality today, and since the Wii U controller&#39;s d-pad maps to the arrow keys, you can even play the game with the d-pad.&lt;/p&gt;
&lt;h1&gt;Wii U controller&#39;s browser commands&lt;/h1&gt;
&lt;p&gt;Lastly, here&#39;s what seem to be the default browser commands of the controller&#39;s buttons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A&lt;/strong&gt;: mouse click or enter/return key equivalent (USABLE!)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;B&lt;/strong&gt;: &lt;code&gt;history.back()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Y&lt;/strong&gt;: open bookmarks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;X&lt;/strong&gt;: toggle TV visibility&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;d-pad&lt;/strong&gt;: arrow keys (USABLE!)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Left stick&lt;/strong&gt;: pan&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Right stick&lt;/strong&gt;: zoom&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-&lt;/strong&gt;: zoom out&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;+&lt;/strong&gt;: zoom in&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L/R&lt;/strong&gt;: history.back/forward&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LZ/RZ&lt;/strong&gt;: previous/next tab&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Feel free to &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;correct me&lt;/a&gt; if I&#39;m wrong about any of these.)&lt;/p&gt;
&lt;p&gt;We&#39;ll discuss the Wii U and its web browser in the next episode of &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;Lostcast&lt;/a&gt;, our independent gamedev podcast. You should tune in!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Indie life: high quality photos of us making games</title>
		<link href="https://www.lostdecadegames.com/maki-photography/"/>
		<updated>2012-12-21T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/maki-photography/</id>
		<content type="html">&lt;p&gt;Recently a &lt;a href=&quot;http://makiphotography.com/&quot;&gt;friend&lt;/a&gt; of a &lt;a href=&quot;http://simplybox.com/&quot;&gt;friend&lt;/a&gt; contacted me about doing a photoshoot with us. She&#39;s a local photographer and was looking for subjects that would fit a &amp;quot;startups in startup environments&amp;quot; kind of vibe. Naturally, we were game!&lt;/p&gt;
&lt;p&gt;So Maki of &lt;a href=&quot;http://makiphotography.com/&quot;&gt;Maki Photography&lt;/a&gt; came by one afternoon and shot us doin&#39; our thing. We&#39;d be coding or whiteboarding and she&#39;d be running around looking for and taking excellent shots. She has created a &lt;a href=&quot;http://www.maki-photography.com/Business/Lost-Decade-Games/&quot;&gt;gallery of 36 of these photos&lt;/a&gt; on her website.&lt;/p&gt;
&lt;p&gt;I&#39;ve also included a few I liked quite a bit right here; click any image for a high resolution version.&lt;/p&gt;
&lt;h1&gt;Our games on many devices&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/maki/devices.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games by Maki Photography&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/maki/thumbs/devices.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h1&gt;A culture of cats&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/maki/cats.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games by Maki Photography&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/maki/thumbs/cats.jpg&quot; width=&quot;500&quot; height=&quot;417&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h1&gt;Double-Dragoning&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/maki/familyRoom.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games by Maki Photography&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/maki/thumbs/familyRoom.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h1&gt;Lostcast&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/maki/lostcast.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games by Maki Photography&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/maki/thumbs/lostcast.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h1&gt;Our games run on cats&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/maki/lunchBox.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games by Maki Photography&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/maki/thumbs/lunchBox.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h1&gt;Matt at the home studio&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/maki/mattStudio.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games by Maki Photography&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/maki/thumbs/mattStudio.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h1&gt;Whiteboarding fun stuff&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/maki/whiteboarding.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games by Maki Photography&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/maki/thumbs/whiteboarding.jpg&quot; width=&quot;500&quot; height=&quot;383&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h1&gt;A lost portrait&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/maki/ldg.jpg&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games by Maki Photography&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/maki/thumbs/ldg.jpg&quot; width=&quot;500&quot; height=&quot;317&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h1&gt;Maki Photography&lt;/h1&gt;
&lt;p&gt;Maki has a great eye for a good shot and is really fun and easy to work with. If you&#39;re looking for a photographer local to the bay area, be sure to &lt;a href=&quot;http://makiphotography.com/&quot;&gt;contact her&lt;/a&gt;!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lost Decade&#39;s goals for 2013</title>
		<link href="https://www.lostdecadegames.com/goals-2013/"/>
		<updated>2013-01-07T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/goals-2013/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lost Decade Games in 2013&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/misc/2013.png&quot; width=&quot;500&quot; height=&quot;350&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Goals are important. Without them, it can be difficult to gauge your progress, and that makes it hard to tell how much ass you&#39;re kicking! Geoff and I banged out some goals for this year and I thought I&#39;d share them with you.&lt;/p&gt;
&lt;h2&gt;1. Make $100,000 total revenue&lt;/h2&gt;
&lt;p&gt;Unfortunately, money is the most fundamental aspect of staying independent. Rent is due, and somebody&#39;s got to pay it! We made a little more than half of this amount in 2012, and we want to stay ambitious, so this seemed like a nice, round number.&lt;/p&gt;
&lt;p&gt;It&#39;s ambitious but &lt;strong&gt;doable&lt;/strong&gt;. In order to achieve this number we&#39;re going to need to hit one of these bullet points really hard:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pursue passive revenue streams&lt;/li&gt;
&lt;li&gt;Sell game licenses&lt;/li&gt;
&lt;li&gt;Find development contracts&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We&#39;re most interested in passive revenue streams. Really successful indies are making money in their sleep, and our goal is to join them. Game licenses are the most immediate way to pay rent, but the HTML5 game market is very young and tumultuous (translation: it&#39;s unreliable). Lastly, development contracts were far and away our biggest earner last year, but were also the most demanding of our time.&lt;/p&gt;
&lt;h2&gt;2. Make $1,000 in passive revenue during a single month&lt;/h2&gt;
&lt;p&gt;In our best month last year we made a few hundred dollars in passive revenue, but spikes like that typically only happen when a game is launched or first introduced to a new platform/market. Payouts from portals like AOL and Kongregate have been sadly lackluster so we&#39;ll be busy this year trying to dig up great portals for our games where we can share in the advertising and IAP revenue.&lt;/p&gt;
&lt;h2&gt;3. Get a news story on a popular games news site&lt;/h2&gt;
&lt;p&gt;I&#39;m proud and happy about our &lt;a href=&quot;http://venturebeat.com/2012/09/18/simplifying-mobile-app-development-ludei-says-it-can-convert-html5-apps-into-hybrid-native-apps-in-minutes/&quot;&gt;coverage on VentureBeat&lt;/a&gt; last year, as well as our &lt;a href=&quot;http://techcrunch.com/2011/07/11/html5-game-maker-looks-to-transcend-sleepy-chrome-web-store-sales-on-ios/&quot;&gt;coverage on TechCrunch in 2011&lt;/a&gt; (even if we aren&#39;t the focus in the former). But we want our games to be put directly in from of &lt;strong&gt;gamers&lt;/strong&gt; as well as entrepeneurs and techies.&lt;/p&gt;
&lt;p&gt;Getting high-profile media coverage for indie games is extremely difficult to say the least, but offerings like &lt;a href=&quot;http://www.joystiq.com/tag/joystiq-indie-pitch/&quot;&gt;Joystiq&#39;s Indie Pitch&lt;/a&gt; are a big step in our direction. &lt;a href=&quot;http://www.rockpapershotgun.com/&quot;&gt;Rock, Paper, Shotgun&lt;/a&gt; is also known to be very indie-friendly, though it may be difficult to get their attention as browser-based developers.&lt;/p&gt;
&lt;p&gt;Either way we&#39;re hoping to somehow garner the media&#39;s attention and get many gamers playing our games!&lt;/p&gt;
&lt;h2&gt;4. Get 5,000 Twitter followers&lt;/h2&gt;
&lt;p&gt;I was really stoked last year when we reached &lt;a href=&quot;https://twitter.com/LostDecadeGames&quot;&gt;1,000 Twitter followers&lt;/a&gt;, but each 100 feels like a sprint. As of this writing, we&#39;re not even 100 over that first 1k yet, and though I&#39;d love to shoot for 10,000 followers, it doesn&#39;t yet feel like a reachable goal. So I&#39;d be really happy with 5,000 by this time next year. Help us out by retweeting our stuff!&lt;/p&gt;
&lt;h2&gt;Last year&lt;/h2&gt;
&lt;p&gt;We met two of our goals from last year: get &lt;strong&gt;1,000 Twitter followers&lt;/strong&gt; and get &lt;strong&gt;10,000 unique hits in a month&lt;/strong&gt;. Both of these milestones were hit near the end of the year; we just barely made it.&lt;/p&gt;
&lt;h2&gt;Developers! Developers! Developers!&lt;/h2&gt;
&lt;p&gt;Notice that our goals list doesn&#39;t include a bullet point like, &amp;quot;Launch 5 games.&amp;quot; Our primary focus is always developing games, and we will release several games this year (as you&#39;ll soon see!), but we don&#39;t want to restrict ourselves to an arbitrary number. We&#39;re not even sure what exactly we need to stay afloat just yet, but the world is an ever-hungry bottomless pit of desire for games, so we&#39;ll keep cranking them out and experimenting with ways to make them profitable.&lt;/p&gt;
&lt;p&gt;Wish us luck, and thanks for your support!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Asylum Night: making a tower defense game in 48 hours</title>
		<link href="https://www.lostdecadegames.com/making-of-asylum-night/"/>
		<updated>2013-01-15T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/making-of-asylum-night/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.escapistmagazine.com/content/indie-speed-run/?game=209&quot;&gt;
		&lt;img alt=&quot;Asylum Night&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/asylumNight/title.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We recently participated in &lt;a href=&quot;http://www.indiespeedrun.com/devsite/index.php&quot;&gt;Indie Speed Run&lt;/a&gt;, a new game jam apparently started by some members of &lt;a href=&quot;http://www.escapistmagazine.com/&quot;&gt;The Escapist&lt;/a&gt;. Those who have already been exposed to other popular game jams such as &lt;a href=&quot;http://www.ludumdare.com/compo/&quot;&gt;Ludum Dare&lt;/a&gt; or &lt;a href=&quot;http://globalgamejam.org/&quot;&gt;Global Game Jam&lt;/a&gt; may find Indie Speed Run very familiar -- developers have a 48-hour window in which to develop a game based on a randomly generated theme (and in this case, element).&lt;/p&gt;
&lt;p&gt;Indie Speed Run offered some unique additions to the typical game jam format. Of all the game jams out there, we chose to participate in this one for the following reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Well respected &lt;a href=&quot;http://www.indiespeedrun.com/devsite/index.php?option=com_content&amp;amp;view=article&amp;amp;id=4&amp;amp;Itemid=4&quot;&gt;group of judges&lt;/a&gt; helped legitimize the contest (also, who wouldn&#39;t love for &lt;a href=&quot;https://twitter.com/notch&quot;&gt;Notch&lt;/a&gt; or &lt;a href=&quot;http://www.escapistmagazine.com/videos/view/zero-punctuation&quot;&gt;Yahtzee&lt;/a&gt; to play their games?).&lt;/li&gt;
&lt;li&gt;Ability to use your own tools without having to open source them.&lt;/li&gt;
&lt;li&gt;Developers choose the 48-hour window that works for them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, Indie Speed Run had a $25 entry fee which, while it probably turned off a few teams, surprisingly made us feel better about the whole process. It&#39;s a small amount of money that acted as a barrier to entry, meaning that only dedicated developers would participate.&lt;/p&gt;
&lt;h1&gt;Our game: Asylum Night&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.escapistmagazine.com/content/indie-speed-run/?game=209&quot;&gt;
		&lt;img alt=&quot;Asylum Night&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/asylumNight/gameplay1.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Our randomly-generated theme and element were &lt;strong&gt;telepathy&lt;/strong&gt; and &lt;strong&gt;booby-traps&lt;/strong&gt;, respectively. We looked each up on Wikipedia and dictionaries to ensure that our understanding was correct (and to help give us ideas). One common trait of telepathy is that it can be used to move objects, which plays well with the booby-traps element. So we wanted to make a game where booby-traps could either be set or disabled by using one&#39;s mind.&lt;/p&gt;
&lt;a class=&quot;after&quot; href=&quot;http://www.escapistmagazine.com/content/indie-speed-run/?game=209&quot;&gt;
	&lt;img alt=&quot;Asylum Night&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/asylumNight/doctor.png&quot; /&gt;
&lt;/a&gt;
&lt;p&gt;Though we were obviously on a tight deadline, we knew that allocating several hours for game design would pay off in the end. So we rapidly discussed and threw out several concepts for various games. Pretty early on we settled on a mental hospital for the skin (graphics) of the game. Asylum Night could have been about a telepathic person in a castle or on the moon, but with the telepathy theme it seemed appropriate for the game to exist in a place dedicated to the mind.&lt;/p&gt;
&lt;p&gt;We liked the idea of a player trying to navigate through a maze riddled with booby-traps, disarming them with telepathic abilities. But we know from experience that mazes need to be relatively deep and large to be compelling, which meant a scrolling tilemap and time we didn&#39;t have dedicated to content generation. A game where all the action took place on a single screen seemed doable, and we wanted something &lt;em&gt;that&lt;/em&gt; simple so we&#39;d have plenty of time to polish it up.&lt;/p&gt;
&lt;p&gt;Additionally, we preferred a side-scrolling perspective. Since we were allowed to use our internal tools in this game jam, we wanted to use them! One of our more powerful tools, the &lt;strong&gt;Doll Animation Tool&lt;/strong&gt;, allows us to animate 2d sprites cheaply and effectively. For those familiar with the popular Kickstarter project &lt;a href=&quot;http://www.brashmonkey.com/spriter.htm&quot;&gt;Spriter&lt;/a&gt;, it&#39;s a very similar tool.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Doll Animation Tool&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/asylumNight/dat.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;After several ideas that didn&#39;t pan out, we settled on a tower defense game. Players would control a telepath kept in an insane asylum operated by murderous doctors. Using their telepathic powers, they could knock out doctors directly or set booby-traps to help protect them. The first day, Geoff banged out the game&#39;s model, I began working on art concepts, and &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt; started composing music.&lt;/p&gt;
&lt;p&gt;Geoff did a fantastic job with the game model. On the second night, I was playing through the game and it had a drastic difficulty spike. We wanted the game to be about surviving a week in an insane asylum, but on the fourth day the game became impossibly hard. Doctors would inevitably overrun the player and there was nothing, mathematically, that the player could do about it.&lt;/p&gt;
&lt;p&gt;But on the second night, Geoff committed a major update to the model. After three more sessions, I was able to beat the game -- but just barely! This demonstrated the game&#39;s depth and learning curve. I think it&#39;s a game now that&#39;s impossible to beat on the first (or second!) play, but can be mastered with practice and learning. This is all Geoff&#39;s doing and I think it turned out great.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.escapistmagazine.com/content/indie-speed-run/?game=209&quot;&gt;
		&lt;img alt=&quot;Asylum Night&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/asylumNight/gameplay5.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Joshua Morse also did a terrific job with the audio. The funky title screen can really get you into the groove! Joshua also took extra care to note when sounds would be repetitive and took steps to make them pleasing when they could easily have been irritating. You may notice while playing: sounds that happen often such as the use of basic abilities or doctors dying cycle through a handful of slightly different sounds. This means that if you kill three doctors in a row, you&#39;ll hear three distinct sounds, which I think makes the game much more enjoyable.&lt;/p&gt;
&lt;h1&gt;Mini-mortem&lt;/h1&gt;
&lt;a class=&quot;before&quot; href=&quot;http://www.escapistmagazine.com/content/indie-speed-run/?game=209&quot;&gt;
	&lt;img alt=&quot;Asylum Night&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/asylumNight/avatar.png&quot; /&gt;
&lt;/a&gt;
&lt;p&gt;We&#39;re really pleased with how Asylum Night came out, but it took more out of us than we expected. The second night, Geoff and I were both on 4-5 hours of sleep, which bled into the next day. So though we only planned for a 48-hour window, it ended up costing us 3-4 days of lost productivity on other projects. We could have avoided this by scoping the game down even more, or by cutting unnecessary polish.&lt;/p&gt;
&lt;p&gt;On the plus side, I think we were able to deliver a very playable game in the allotted time. We also learned a lot in the process, such as when (and where) to cut corners to increase productivity, and the great feeling of motivation that comes from shipping immediately. This was the first 48-hour game jam for all three of us, and it was a wonderful experience. If you&#39;ve been thinking about participating in a game jam but never have, consider this a gentle nudge!&lt;/p&gt;
&lt;h1&gt;What&#39;s next for Asylum Night?&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.escapistmagazine.com/content/indie-speed-run/?game=209&quot;&gt;
		&lt;img alt=&quot;Asylum Night&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/asylumNight/levelEnd.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;As a young independent company, we need to be frugal with regards to how we spend our time. We literally wouldn&#39;t have been able to afford to dedicate a couple of days to Indie Speed Run if we didn&#39;t think we could use the game to help pay our bills. With that in mind, we designed Asylum Night from the ground up to be mobile-friendly so that we could add it to our growing portfolio of HTML5 portal games. If you&#39;ve got an Android or iOS device, &lt;a href=&quot;http://www.escapistmagazine.com/content/indie-speed-run/?game=209&quot;&gt;play Asylum Night&lt;/a&gt; in the browser -- it runs surprisingly well!&lt;/p&gt;
&lt;p&gt;Additionally, designing for mobile will make it easy for us to launch the game natively on Android and iOS using Ludei&#39;s &lt;a href=&quot;http://www.ludei.com/tech/cocoonjs&quot;&gt;CocoonJS&lt;/a&gt; platform, so the next time you see Asylum Night, hopefully it will be in the App Store and Google Play.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lava Blade alpha 0.5.44</title>
		<link href="https://www.lostdecadegames.com/lava-blade-alpha-0.5.44/"/>
		<updated>2013-03-25T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-blade-alpha-0.5.44/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://goo.gl/3Iaku&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/title0540.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We just sent out the latest &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Lava Blade&lt;/a&gt; alpha to our mailing list. If you signed up and haven&#39;t received an email yet, don&#39;t worry! We&#39;re sending the game out in waves; we have your contact information and will get in touch shortly.&lt;/p&gt;
&lt;h2&gt;Want to sign up to alpha test?&lt;/h2&gt;
&lt;p&gt;If you haven&#39;t signed up to be an alpha tester, you can do so by filling out &lt;a href=&quot;http://goo.gl/3Iaku&quot;&gt;this form&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Whoa, this is really different!&lt;/h2&gt;
&lt;p&gt;Yeah, if you played &lt;a href=&quot;https://www.lostdecadegames.com/lava-blade-alpha-0.2.1/&quot;&gt;the previous Lava Blade alpha&lt;/a&gt; you may notice that things are quite different. What was once a side-scrolling platformer is now a turn-based strategy RPG. That&#39;s quite a drastic change! Those interested in the reasoning behind this could have a listen to our &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-29/&quot;&gt;recent podcast&lt;/a&gt; where we discussed this.&lt;/p&gt;
&lt;p&gt;Game on!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Play our new game Treasure Goblin</title>
		<link href="https://www.lostdecadegames.com/play-treasure-goblin/"/>
		<updated>2013-03-27T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/play-treasure-goblin/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://treasuregoblin.lostdecadegames.com/&quot;&gt;
		&lt;img alt=&quot;Treasure Goblin&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/tg/title.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Today we&#39;re happy to announce our new game &lt;a href=&quot;https://treasuregoblin.lostdecadegames.com/&quot;&gt;Treasure Goblin&lt;/a&gt;, also available on the &lt;a href=&quot;https://chrome.google.com/webstore/detail/treasure-goblin/jgjgnceamhgknelfkpbhebhnphaeefho&quot;&gt;Chrome Web Store&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Treasure Goblin&lt;/strong&gt; is a free, gamepad-enabled, side-scrolling platformer built in HTML5. Players control a nimble goblin who explores dangerous caves in search of treasure. The game features tight controls, procedurally generated levels, achievements, and of course, lots of treasure!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://treasuregoblin.lostdecadegames.com/&quot;&gt;
		&lt;img alt=&quot;Treasure Goblin&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/tg/running.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a class=&quot;download-podcast&quot; href=&quot;https://treasuregoblin.lostdecadegames.com/&quot;&gt;Play Treasure Goblin&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Play our new game Treasure Geoff</title>
		<link href="https://www.lostdecadegames.com/play-treasure-geoff/"/>
		<updated>2013-04-01T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/play-treasure-geoff/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://treasuregoblin.lostdecadegames.com/?geoff=1&quot;&gt;
		&lt;img alt=&quot;Treasure Geoff&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/tg/titleGeoff.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Today we&#39;re happy to announce our new game &lt;a href=&quot;https://treasuregoblin.lostdecadegames.com/?geoff=1&quot;&gt;Treasure Geoff&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Treasure Geoff&lt;/strong&gt; is a free, gamepad-enabled, side-scrolling platformer built in HTML5. Players control a nimble &lt;a href=&quot;https://www.lostdecadegames.com/about/#geoff&quot;&gt;Geoff&lt;/a&gt; who explores dangerous caves in search of treasure. The game features tight controls, procedurally generated levels, achievements, and of course, lots of treasure!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://treasuregoblin.lostdecadegames.com/?geoff=1&quot;&gt;
		&lt;img alt=&quot;Treasure Geoff&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/tg/runningGeoff.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a class=&quot;download-podcast&quot; href=&quot;https://treasuregoblin.lostdecadegames.com/?geoff=1&quot;&gt;Play Treasure Geoff&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lava Blade now available on Chrome Web Store</title>
		<link href="https://www.lostdecadegames.com/lava-blade-on-cws/"/>
		<updated>2013-04-11T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-blade-on-cws/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/release.png&quot; width=&quot;500&quot; height=&quot;362&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Today we&#39;re pleased to announce &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Lava Blade&lt;/a&gt;, our new tactical strategy RPG, now available on the &lt;a href=&quot;https://chrome.google.com/webstore/detail/lava-blade/ijpimhdpcjdmokpmpahbnfigfdfmcgmn&quot;&gt;Chrome Web Store&lt;/a&gt;. In &lt;strong&gt;Lava Blade&lt;/strong&gt;, players control the mighty warrior Lars as he ventures towards a dangerous volcano to retrieve the sacred sword, Lava Blade!&lt;/p&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Turn-based tactical combat&lt;/li&gt;
&lt;li&gt;Five unlockable party members&lt;/li&gt;
&lt;li&gt;Dozens of weapons including swords, warhammers, shurikens, and more&lt;/li&gt;
&lt;li&gt;Hordes of monsters including goblins, lizardmen, and demons&lt;/li&gt;
&lt;li&gt;Three environments to explore&lt;/li&gt;
&lt;li&gt;Three unique boss encounters&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class=&quot;button action-accept&quot; href=&quot;https://chrome.google.com/webstore/detail/lava-blade/ijpimhdpcjdmokpmpahbnfigfdfmcgmn&quot;&gt;Buy on Chrome Web Store&lt;/a&gt;
&lt;a class=&quot;button action-default&quot; href=&quot;https://lavablade.lostdecadegames.com/&quot;&gt;Play the demo&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Screenshots&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/screenshots/title.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/screenshots/overworldForest.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/screenshots/volcanoBattle.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;For high resolution screenshots, please &lt;a href=&quot;http://www.lavablade.com/media/lavaBladeMediaKit.zip&quot;&gt;download the Lava Blade media kit&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Visit the official Lava Blade website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lavablade.lostdecadegames.com/&quot;&gt;Play the browser-based Lava Blade demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/lava-blade/ijpimhdpcjdmokpmpahbnfigfdfmcgmn&quot;&gt;Buy Lava Blade on the Chrome Web Store&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lavablade.com/media/lavaBladeMediaKit.zip&quot;&gt;Download the Lava Blade media kit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Get the Lava Blade OST&lt;/h2&gt;
&lt;a class=&quot;before&quot; href=&quot;http://joshuamorse.bandcamp.com/album/lava-blade-original-soundtrack&quot;&gt;
	&lt;img alt=&quot;Lava Blade OST&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/ost.jpg&quot; width=&quot;100&quot; height=&quot;100&quot; /&gt;
&lt;/a&gt;
&lt;p&gt;The Lava Blade Original Soundtrack is &lt;a href=&quot;http://joshuamorse.bandcamp.com/album/lava-blade-original-soundtrack&quot;&gt;available for purchase on Bandcamp&lt;/a&gt; for the low, low price of $3. Support independent musicians and get an amazing soundtrack for cheap!&lt;/p&gt;
&lt;h2&gt;Coming soon to another platform near you&lt;/h2&gt;
&lt;p&gt;We&#39;re working hard on getting &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Lava Blade&lt;/a&gt; on more platforms including Pokki, Android, iPhone, Windows desktop, and OS X.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lava Blade arrives on Mac OS X</title>
		<link href="https://www.lostdecadegames.com/lava-blade-on-mac-osx/"/>
		<updated>2013-04-18T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-blade-on-mac-osx/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/release.png&quot; width=&quot;500&quot; height=&quot;362&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Following the release of &lt;a href=&quot;https://www.lostdecadegames.com/lava-blade-on-cws/&quot;&gt;Lava Blade on Chrome Web Store&lt;/a&gt; we&#39;re excited to bring you &lt;a href=&quot;https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=8107&amp;amp;PRODUCTID=81070001&quot;&gt;Lava Blade on Mac OS X&lt;/a&gt;. The Mac version of Lava Blade installs easily, works offline and contains absolutely no DRM!&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;button action-accept&quot; href=&quot;https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=8107&amp;PRODUCTID=81070001&quot;&gt;Buy on Mac OS X&lt;/a&gt;
&lt;a class=&quot;button action-default&quot; href=&quot;https://lavablade.lostdecadegames.com/&quot;&gt;Play the demo&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Screenshots&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/screenshots/title.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/screenshots/overworldForest.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/screenshots/volcanoBattle.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;For high resolution screenshots, please &lt;a href=&quot;http://www.lavablade.com/media/lavaBladeMediaKit.zip&quot;&gt;download the Lava Blade media kit&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Visit the official Lava Blade website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lavablade.lostdecadegames.com/&quot;&gt;Play the browser-based Lava Blade demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=8107&amp;amp;PRODUCTID=81070001&quot;&gt;Buy Lava Blade on Mac OS X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/lava-blade/ijpimhdpcjdmokpmpahbnfigfdfmcgmn&quot;&gt;Buy Lava Blade on the Chrome Web Store&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lavablade.com/media/lavaBladeMediaKit.zip&quot;&gt;Download the Lava Blade media kit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Get the Lava Blade OST&lt;/h2&gt;
&lt;a class=&quot;before&quot; href=&quot;http://joshuamorse.bandcamp.com/album/lava-blade-original-soundtrack&quot;&gt;
	&lt;img alt=&quot;Lava Blade OST&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/ost.jpg&quot; width=&quot;100&quot; height=&quot;100&quot; /&gt;
&lt;/a&gt;
&lt;p&gt;The Lava Blade Original Soundtrack is &lt;a href=&quot;http://joshuamorse.bandcamp.com/album/lava-blade-original-soundtrack&quot;&gt;available for purchase on Bandcamp&lt;/a&gt; for the low, low price of $3. Support independent musicians and get an amazing soundtrack for cheap!&lt;/p&gt;
&lt;h2&gt;Coming soon to more platforms&lt;/h2&gt;
&lt;p&gt;We&#39;re still working hard to bring you &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Lava Blade&lt;/a&gt; on more platforms including Pokki, Android, iPhone, and Windows desktop.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Mailbag: Frameworks, Canvas vs DOM, Native mobile</title>
		<link href="https://www.lostdecadegames.com/mailbag-frameworks-canvas-wrappers/"/>
		<updated>2013-04-19T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/mailbag-frameworks-canvas-wrappers/</id>
		<content type="html">&lt;img alt=&quot;Mailbag&quot; class=&quot;after&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/mailbag/treasureGoblin.png&quot; width=&quot;150&quot; height=&quot;255&quot; /&gt;
We often get email from readers or podcast listeners asking to expand on certain topics. Many of these questions can be of value to all our readers so I&#39;m going to start posting them Q&amp;A style on the blog now and then. So, without further ado, on to this installment of LDG Mailbag!
&lt;h2&gt;JavaScript Frameworks&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Firstly, I notice you don’t appear to use any Javascript frameworks for your projects.  Is there a particular reason for this?  I tend to use MooTools for the majority of apps as it just means that things are a bit simpler and more straight forward to code but over the past few months have been wondering if this is the right thing to do.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We&#39;ve developed our own JavaScript game framework over the last year or so, called Djinn. It&#39;s a heavily canvas based game framework because we prefer to use canvas rather than DOM (more on that in the next question).&lt;/p&gt;
&lt;p&gt;When we started developing HTML5 games, the available canvas based frameworks were few and far between. Since Matt and I have lots of JavaScript experience we decided to roll our own framework tailored exactly to our needs. However, that&#39;s not a choice I would recommend to everyone developing HTML5 games. There are a number of mature game frameworks out there these days and developing your own takes time away from actually creating games.&lt;/p&gt;
&lt;p&gt;I&#39;d suggest using a game focused framework as opposed to something like jQuery or MooTools because most of them weren&#39;t created specifically for browser based games. That said, if you&#39;re familiar with a certain framework and you&#39;re creating a DOM based game then it could be a good choice for your needs.&lt;/p&gt;
&lt;p&gt;If you&#39;re looking for a game framework I&#39;d have a look at &lt;a href=&quot;http://impactjs.com/&quot;&gt;ImpactJS&lt;/a&gt;. You&#39;ll need to purchase a license, but it&#39;s totally worth it in my opinion. Checkout our &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-episode-14-quite-an-impact/&quot;&gt;interview with Domenic Dominic Szablewski&lt;/a&gt;, the creator of ImpactJS.&lt;/p&gt;
&lt;p&gt;There are some open source options available as well, such as &lt;a href=&quot;http://craftyjs.com/&quot;&gt;Crafty&lt;/a&gt;. Louis Stowasser, the creator, was also &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-episode-2-code-like-a-fox/&quot;&gt;a guest on Lostcast&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At the end of the day, you&#39;ll want to be using whatever framework fits your particular needs, coding style and project requirements. For example, a side-scrolling action game is much easier to develop building on ImpactJS than jQuery. However, a text or menu based game might be easier to develop using a more DOM centric framework.&lt;/p&gt;
&lt;h2&gt;Canvas vs DOM&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;The canvas object is featured very heavily in your games.  I played about with canvas coding in 2010(ish) and was put off by the very limited support in some browsers.  I know that the baseline browser has significantly improved but does the canvas offer that much improvement over moving elements on the page?  Generally I will change the position of a div element (or similar) to move something but know the canvas can do this.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Canvas support and performance is definitely much better these days. The canvas API has always been pretty straight-forward which makes browser differences less likely. At its core, canvas is all about copying pixel data from images to the canvas and isn&#39;t as affected by the DOM box model or other browser specific layout quirks.&lt;/p&gt;
&lt;p&gt;I find JavaScript to be a very elegant language (sans the DOM). Instead of our games consisting of a bunch of code spread out across HTML, CSS and JavaScript we have almost no HTML and CSS code to deal with and maintain.&lt;/p&gt;
&lt;p&gt;I personally like the canvas approach more because the concepts are closer to traditional game development. Some developers choose to go a hybrid route with canvas and DOM, but I prefer to keep our stack homogeneous. One benefit of that choice is that all our UI elements can be layered and animated in the same way as our in-game sprites.&lt;/p&gt;
&lt;p&gt;Canvas also has a bunch of cool features including &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/HTML/Canvas/Drawing_Graphics_with_Canvas#Using_Paths&quot;&gt;filling and stroking paths&lt;/a&gt; and &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/HTML/Canvas/Tutorial/Compositing&quot;&gt;compositing operations&lt;/a&gt;. Some of these can be replicated in DOM, but not as cleanly.&lt;/p&gt;
&lt;p&gt;A downside to canvas is that being so low-level, you&#39;ll have to handle certain tasks yourself that the DOM would provide for free. For example, when rendering text in canvas you&#39;ll need to handle text wrapping explicitly. User input controls is another area where DOM gives you a leg up, but in my experience it&#39;s been pretty easy to create re-usable canvas based input controls with our framework.&lt;/p&gt;
&lt;p&gt;I believe that canvas based JavaScript code is more portable as well. There are quite a few native wrappers out there (such as &lt;a href=&quot;http://www.ludei.com/tech/cocoonjs&quot;&gt;CocoonJS&lt;/a&gt; or &lt;a href=&quot;http://www.gameclosure.com/&quot;&gt;Game Closure&lt;/a&gt;) which simply execute your code inside one of the various JavaScript virtual machines (V8, SpiderMonkey, JavaScriptCore, etc.) and implement the canvas calls behind the scenes using OpenGL or whatever graphics engine exists on that platform.&lt;/p&gt;
&lt;p&gt;Again, using canvas, DOM or both definitely comes down to personal preference and project needs. The closer your game is to a tradional web app, the more you are likely to lean towards the DOM.&lt;/p&gt;
&lt;h2&gt;Native mobile&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Finally I read the post about using the Game Closure framework to get Onslaught! Arena running on an iPad.  At the end of last year I had to develop my iPad orientated first web app (an interactive publication for a customer) and although I got quite a few things working OK such as finger swipes and similar, developing for the iPad clearly requires a slightly different approach to a regular web app.  To this end it’s an area that I’m really trying to push myself to learn more and possibly start developing some native apps.  Looking at the Game Closure site, it appears to basically be a development server for static html5 applications and a fully fledged JS framework, plus a compiler.  Did you have to recode parts of your game using their framework or did it largely just import in OK?  Are there any pitfalls you found when using it?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Integrating &lt;a href=&quot;https://www.lostdecadegames.com/games/onslaught-arena&quot;&gt;Onslaught! Arena&lt;/a&gt; with &lt;a href=&quot;http://www.gameclosure.com/&quot;&gt;Game Closure&lt;/a&gt;&#39;s tech was pretty easy. We had developed the game with a few main entry points such as handling input, updating the game world and rendering the game. Game Closure&#39;s framework took a similar approach so we simply wired up their handlers to ours and everything mostly just worked.&lt;/p&gt;
&lt;p&gt;While it was easy to wire up our existing game code, the end result wasn&#39;t extremely maintainable or able to leverage the advanced features of Game Closure&#39;s stack. To get the most benefit out of any JavaScript framework or development environment you should really build your game from the ground up on that platform.&lt;/p&gt;
&lt;p&gt;I think the primary selling point of using Game Closure would be that it solves the framework, IDE and deployment hurdles in a single tool.&lt;/p&gt;
&lt;p&gt;There are some framework agnostic solutions out there as well, such as &lt;a href=&quot;http://www.ludei.com/tech/cocoonjs&quot;&gt;CocoonJS&lt;/a&gt; or &lt;a href=&quot;http://phonegap.com/&quot;&gt;PhoneGap&lt;/a&gt; which will natively wrap pretty much any JavaScript game. My understanding is that PhoneGap embeds a browser which means it can handle CSS and DOM based games, while CocoonJS is better for primarily canvas based games as it maps canvas calls to OpenGL behind the scenes instead of relying on browser rendering.&lt;/p&gt;
&lt;h2&gt;Got questions?&lt;/h2&gt;
&lt;p&gt;Ask your own questions by &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;contacting us&lt;/a&gt; or posting a question in the comments section below!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lava Blade arrives on Windows</title>
		<link href="https://www.lostdecadegames.com/lava-blade-on-windows/"/>
		<updated>2013-04-24T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-blade-on-windows/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/release.png&quot; width=&quot;500&quot; height=&quot;362&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We&#39;re pleased to announce that &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Lava Blade&lt;/a&gt; is now &lt;a href=&quot;https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=8107&amp;amp;PRODUCTID=81070000&quot;&gt;available on Windows&lt;/a&gt;! As with the &lt;a href=&quot;https://www.lostdecadegames.com/lava-blade-on-mac-osx/&quot;&gt;Mac OS X release&lt;/a&gt;, the game runs offline and does not include any DRM.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;button action-accept&quot; href=&quot;https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=8107&amp;PRODUCTID=81070000&quot;&gt;Buy on Windows&lt;/a&gt;
&lt;a class=&quot;button action-default&quot; href=&quot;https://lavablade.lostdecadegames.com/&quot;&gt;Play the demo&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Screenshots&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/screenshots/title.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/screenshots/overworldForest.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
		&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/screenshots/volcanoBattle.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;For high resolution screenshots, please &lt;a href=&quot;http://www.lavablade.com/media/lavaBladeMediaKit.zip&quot;&gt;download the Lava Blade media kit&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Visit the official Lava Blade website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lavablade.lostdecadegames.com/&quot;&gt;Play the browser-based Lava Blade demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=8107&amp;amp;PRODUCTID=81070000&quot;&gt;Buy Lava Blade on Windows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=8107&amp;amp;PRODUCTID=81070001&quot;&gt;Buy Lava Blade on Mac OS X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/lava-blade/ijpimhdpcjdmokpmpahbnfigfdfmcgmn&quot;&gt;Buy Lava Blade on the Chrome Web Store&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lavablade.com/media/lavaBladeMediaKit.zip&quot;&gt;Download the Lava Blade media kit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Get the Lava Blade OST&lt;/h2&gt;
&lt;a class=&quot;before&quot; href=&quot;http://joshuamorse.bandcamp.com/album/lava-blade-original-soundtrack&quot;&gt;
	&lt;img alt=&quot;Lava Blade OST&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/lava_blade/ost.jpg&quot; width=&quot;100&quot; height=&quot;100&quot; /&gt;
&lt;/a&gt;
&lt;p&gt;The Lava Blade Original Soundtrack is &lt;a href=&quot;http://joshuamorse.bandcamp.com/album/lava-blade-original-soundtrack&quot;&gt;available for purchase on Bandcamp&lt;/a&gt; for the low, low price of $3. Support independent musicians and get an amazing soundtrack for cheap!&lt;/p&gt;
&lt;h2&gt;Coming soon to mobile platforms&lt;/h2&gt;
&lt;p&gt;Lava Blade is coming soon to your Android or iOS device!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Rampart Rush Beta</title>
		<link href="https://www.lostdecadegames.com/rampart-rush-beta/"/>
		<updated>2013-04-25T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/rampart-rush-beta/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://goo.gl/3Iaku&quot;&gt;
		&lt;img alt=&quot;Rampart Rush&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/rampart/lightningBolt.png&quot; width=&quot;500&quot; height=&quot;751&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Rampart Rush&lt;/strong&gt; is our new defensive shoot &#39;em up. Players control a warrior fighting off hordes of monsters with swords, daggers, shurikens, fireballs, and more! Players can also place buildings in their castle grounds, such as a Weapon Shop to buy more weapons, or a Magic School to learn more powerful magic.&lt;/p&gt;
&lt;h2&gt;Join the mailing list&lt;/h2&gt;
&lt;p&gt;We&#39;re rolling out the &lt;strong&gt;Rampart Rush&lt;/strong&gt; beta to our mailing list so they can help us find bugs before launch. To join our mailing list, just fill out &lt;a href=&quot;http://goo.gl/3Iaku&quot;&gt;this form&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Game on!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Geoff&#39;s List of Awesome OS X Apps</title>
		<link href="https://www.lostdecadegames.com/geoffs-list-of-awesome-osx-apps/"/>
		<updated>2013-04-26T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/geoffs-list-of-awesome-osx-apps/</id>
		<content type="html">&lt;img src=&quot;https://www.lostdecadegames.com/media/images/posts/osxapps/header.png&quot; width=&quot;560&quot; height=&quot;350&quot; alt=&quot;Geoff&#39;s List of Awesome OS X Apps&quot; /&gt;
&lt;p&gt;I&#39;ve been using a MacBook Pro as my primary development machine for 6+ years now. As such, I&#39;ve collected a bunch of great OS X applications which make my life easier.&lt;/p&gt;
&lt;p&gt;Today, in the same vein as &lt;a href=&quot;http://usesthis.com/&quot;&gt;The Setup&lt;/a&gt;, I&#39;d like to share some of my favorite apps. Many of these apps require you to purchase a license, but most are in the $5-15 range. Quite a steal, if you ask me.&lt;/p&gt;
&lt;p&gt;Although I&#39;m linking to each app&#39;s homepage, many of them are also available from the &lt;a href=&quot;http://www.apple.com/osx/apps/app-store.html&quot;&gt;Mac App Store&lt;/a&gt;. When I can, I&#39;ll choose to purchase/download apps from there since it&#39;s easier to stay up-to-date with newer versions.&lt;/p&gt;
&lt;p&gt;Some of these apps have previously been &lt;a href=&quot;https://www.lostdecadegames.com/lostcast-13-os-xcellence/&quot;&gt;mentioned on Lostcast&lt;/a&gt;, but I&#39;ve picked up a few new ones since recording that episode.&lt;/p&gt;
&lt;p&gt;Enough talk! Here is my list of awesome OS X apps, in alphabetical order:&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://agilebits.com/onepassword&quot;&gt;1Password&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;1Password is an excellent password manager and one of the apps that I don&#39;t know how I ever lived without. It has  great organizational features and can store other bits of sensitive information such as credit card numbers and software licenses.&lt;/p&gt;
&lt;p&gt;I create unique, complex passphrases for various sites so that if any particular service is hacked I don&#39;t need to change a bunch of different passwords.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.dropbox.com/&quot;&gt;Dropbox&lt;/a&gt; can be used to store your 1Password keychain and sync your data across multiple devices. I personally use the Mac desktop and Android versions every day.&lt;/p&gt;
&lt;p&gt;If you&#39;re not using some kind of password manager stop reading here and go download one.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.alfredapp.com/&quot;&gt;Alfred&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Alfred is another app I use many times a day, &lt;em&gt;every single day&lt;/em&gt;. Aside from just launching apps quickly from a hotkey, you can also search your files for certain documents, look up word definitions or spelling. My personal favorite is using the calculator to perform quick math operations in order to check some game development math.&lt;/p&gt;
&lt;p&gt;I cannot say enough good things about Alfred. The base version is free but you should &lt;a href=&quot;http://www.alfredapp.com/powerpack/&quot;&gt;buy the Powerpack&lt;/a&gt; in order to support the developer.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.balsamiq.com/&quot;&gt;Balsamiq&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Creating mockups is a great way to visualize game flow and UI elements. I&#39;ve found Balsamiq really easy to use and it comes with a ton of standard UI elements that cover most use cases. This one is a bit pricey, but totally worth it.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://lightheadsw.com/caffeine/&quot;&gt;Caffeine&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A useful little app which allows you to keep your Mac awake (or not) with a simple toggle in the menu bar. Great for presenting.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://colorsnapper.com/&quot;&gt;ColorSnapper&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Need to grab an RGB or hex color value from anywhere on your screen? ColorSnapper does the job with a simple hotkey. In addition, it keeps a log of recently used color values which is very handy.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.daisydiskapp.com/&quot;&gt;Daisy Disk&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Want to know what&#39;s taking up all your hard disk space? Fan of pretty graphs? Daisy Disk provides a great visualization of space usage and allows you to drill down into various sections.&lt;/p&gt;
&lt;p&gt;If you&#39;re looking for a free alternative, try out &lt;a href=&quot;http://www.derlien.com/&quot;&gt;Disk Inventory X&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://mizage.com/divvy/&quot;&gt;Divvy&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Managing windows sizes on a Mac is a terrible experience. Luckily, Divvy makes that problem go away. With a simple set of user-defined hotkeys you can snap applications to full screen, half screen (left or right) and any other size and position of your choosing.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.araelium.com/dmgcanvas/&quot;&gt;DMGCanvas&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I just recently discovered DMGCanvas while creating our Mac installer for &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Lava Blade&lt;/a&gt;. This simple app allows you to create professional looking disk images (.dmg files) for your games. Easy WYSIWYG editor for adding background images, text, shortcuts and files to your disk image.&lt;/p&gt;
&lt;p&gt;The built-in Disk Utility in OS X can do some of these same tasks, but it&#39;s a little more complicated and involves using the command line.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://shinyplasticbag.com/dragondrop/&quot;&gt;DragonDrop&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A handy drag and drop buffer. DragonDrop is invoked by dragging some files and wiggling the mouse. The buffer floats above all other windows making it easy to then drag the contents into another application. I mostly use this for batching up files to attach to emails.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://stereopsis.com/flux/&quot;&gt;f.lux&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Automatically adjusts screen brightness to coincide with time of day. Great for working on games in the middle of the night in bed!&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.kodlian.com/apps/icon-slate&quot;&gt;Icon Slate&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Handy little app for creating .ico and .icns files, among others. As we start supporting more and more platforms, I&#39;m finding this app to be a great resource.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.kaleidoscopeapp.com/&quot;&gt;Kaleidoscope&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I personally cannot stand reading source code diffs in Terminal. Kaleidoscope is a clean and simple diff viewer which can be integrated with many source control systems. I use it as my git diff tool and I can&#39;t begin to count the number of times I use this app every day. It also diffs images!&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://incident57.com/less/&quot;&gt;Less.app&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;CSS sucks. &lt;a href=&quot;http://lesscss.org/&quot;&gt;LESS&lt;/a&gt; makes it suck a little less. Less.app is a handy tools that scans LESS files and automatically compiles them into CSS on the fly.&lt;/p&gt;
&lt;p&gt;There&#39;s also &lt;a href=&quot;http://incident57.com/codekit/&quot;&gt;CodeKit&lt;/a&gt; from the same developer, which compiles many more types as well as LESS.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://markedapp.com/&quot;&gt;Marked&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;An excellent Markdown viewer. These kinds of apps are a dime a dozen, but Marked is the best one I&#39;ve used. I typically write Markdown in Sublime Text 2 and view the results live in Marked. (Using Divvy to snap each application to one half of the screen.)&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.pixelmator.com/&quot;&gt;Pixelmator&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I find Photoshop to be too expensive and bloated for my tastes. Pixelmator is a great alternative for OS X users and has many of the same features. This is my go-to image editing software for games and the web.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://reggyapp.com/&quot;&gt;Reggy&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I&#39;m a big fan of small apps that serve a very specific purpose. Reggy is an excellent tool for testing and debugging regular expressions on the fly.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;http://www.sublimetext.com/&quot;&gt;Sublime Text 2&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;My text/code editor of choice! I could probably write a whole blog post on the awesomeness that is Sublime Text 2. For now, I&#39;ll just say that if you&#39;re more of a TextMate person than a Vim person, Sublime Text is for you!&lt;/p&gt;
&lt;h2&gt;What about you?&lt;/h2&gt;
&lt;p&gt;What are some of your favorite OS X apps? Let us know in the comments!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Lava Blade 1.1 and Steam Greenlight</title>
		<link href="https://www.lostdecadegames.com/lava-blade-1-1-steam-greenlight/"/>
		<updated>2013-05-10T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/lava-blade-1-1-steam-greenlight/</id>
		<content type="html">&lt;a href=&quot;http://www.lavablade.com/&quot;&gt;
	&lt;img alt=&quot;Lava Blade&quot; src=&quot;https://www.lostdecadegames.com/media/images/games/lavablade/promo-560x180.png&quot; width=&quot;560&quot; height=&quot;180&quot; /&gt;
&lt;/a&gt;
&lt;p&gt;Hot on the heels of &lt;a href=&quot;https://www.lostdecadegames.com/lava-blade-on-cws/&quot;&gt;our initial release of Lava Blade&lt;/a&gt;, we&#39;ve just pushed out the first content and bug fix patch! Lava Blade 1.1 is now available on all 3 of the currently released platforms: &lt;a href=&quot;https://chrome.google.com/webstore/detail/lava-blade/ijpimhdpcjdmokpmpahbnfigfdfmcgmn&quot;&gt;Chrome Web Store&lt;/a&gt;, &lt;a href=&quot;https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=8107&amp;amp;PRODUCTID=81070000&quot;&gt;PC&lt;/a&gt;, and &lt;a href=&quot;https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=8107&amp;amp;PRODUCTID=81070001&quot;&gt;Mac&lt;/a&gt;. CWS users should see the update automatically while PC &amp;amp; Mac users can download the new version via their original download link from BMT Micro.&lt;/p&gt;
&lt;p&gt;The 1.1 update includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Extended Forest and Swamp zones&lt;/li&gt;
&lt;li&gt;3 new types of goblins: Sappers, Shaman and Raiders&lt;/li&gt;
&lt;li&gt;3 new types of Trogs: Slaves, Elites and Cultists&lt;/li&gt;
&lt;li&gt;2 new, unique boss encounters in the extended Forest and Swamp&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to this content update, we&#39;ve also put &lt;a href=&quot;http://steamcommunity.com/sharedfiles/filedetails/?id=143588739&quot;&gt;Lava Blade up on Steam Greenlight&lt;/a&gt;!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe src=&quot;http://steamcommunity.com/sharedfiles/widget/143588739&quot; width=&quot;336&quot; height=&quot;137&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;Lava Blade on Steam Greenlight&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Steam can be a great distrubution channel for independent studios like ours. Please help us prove that HTML5 games are ready for prime time by voting YES!&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;button action-accept&quot; href=&quot;http://steamcommunity.com/sharedfiles/filedetails/?id=143588739&quot;&gt;Vote for Lava Blade on Steam Greenlight&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Play Crypt Run at California Extreme July 13-14</title>
		<link href="https://www.lostdecadegames.com/play-crypt-run-at-ca-extreme/"/>
		<updated>2013-06-27T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/play-crypt-run-at-ca-extreme/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cae.jpg&quot; width=&quot;500&quot; height=&quot;182&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Want to play our upcoming game &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run&lt;/a&gt;? Then you should come to our &lt;strong&gt;LIVE DEMO&lt;/strong&gt; next month!&lt;/p&gt;
&lt;h1&gt;What?!&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;http://www.caextreme.org/&quot;&gt;California Extreme&lt;/a&gt; is an annual arcade and pinball convention held in the California bay area. It&#39;s basically a huge room packed with tons of classic arcade cabinets (it&#39;s super awesome).&lt;/p&gt;
&lt;p&gt;This year, we&#39;ll have an 8-foot table (that&#39;s ~2.5 meters for our Metric friends) with at least one computer set up to play an early preview of &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run&lt;/a&gt;. We&#39;ll be giving out stickers, high-fives, and possibly some other cool stuff.&lt;/p&gt;
&lt;img alt=&quot;Crypt Run stickers&quot; class=&quot;after&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/sticker3.png&quot; /&gt;
&lt;h1&gt;When?&lt;/h1&gt;
&lt;p&gt;California Extreme 2013 lasts two days:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Saturday July 13th: 11am - 2am PST&lt;/li&gt;
&lt;li&gt;Sunday July 14th: 11am - 9pm PST&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;Where?&lt;/h1&gt;
&lt;p&gt;California Extreme takes place at the &lt;a href=&quot;http://santaclara.hyatt.com/&quot;&gt;Hyatt Regency Santa Clara&lt;/a&gt; in Santa Clara, California. Their address is:&lt;/p&gt;
&lt;p&gt;Hyatt Regency Santa Clara
5101 Great America Parkway
Santa Clara, California, USA, 95054&lt;/p&gt;
&lt;h1&gt;Registration&lt;/h1&gt;
&lt;p&gt;If you&#39;re interested in going, you can &lt;a href=&quot;http://www.caextreme.org/ticket_information&quot;&gt;register online&lt;/a&gt; or buy tickets at the door. Looks like it&#39;s $40 for Saturday, $30 for Sunday, or $60 for the whole weekend. My wife and I go every year and it&#39;s always a ton of fun.&lt;/p&gt;
&lt;p&gt;We hope to see you there!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>The making of the Indie B-Side, Vol. 1 album cover</title>
		<link href="https://www.lostdecadegames.com/indie-b-side-album-cover/"/>
		<updated>2013-07-05T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/indie-b-side-album-cover/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/indie-b-side-vol-1&quot;&gt;
		&lt;img alt=&quot;Indie B-Side, Vol. 1&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/indiebside/albumArt4x.png&quot; width=&quot;512&quot; height=&quot;512&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Video game composer and arranger &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt; just released his new album &lt;a href=&quot;http://joshuamorse.bandcamp.com/album/indie-b-side-vol-1&quot;&gt;Indie B-Side, Vol. 1&lt;/a&gt;. It features eight arrangements from indie darlings such as FEZ and it&#39;s pay-what-you-want!&lt;/p&gt;
&lt;p&gt;Joshua tapped me to do the album art. He had the idea of a vinyl record sleeve with the disc slightly exposed, and he wanted it to be in a low-resolution pixelart style. Given these directions, I first drew a quick sketch to see if we had the same vision.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/indie-b-side-vol-1&quot;&gt;
		&lt;img alt=&quot;Indie B-Side, Vol. 1&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/indiebside/sketch.png&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Once Joshua gave it the thumbs up, I started placing pixels. The first element I wanted to tackle was the sleeve, since I thought it would be an &amp;quot;easy win&amp;quot; that would get the ball rolling. I knew I wanted the cube to be orange so I made the sleeve mostly blue to complement the cube.&lt;/p&gt;
&lt;p&gt;As you can see, I dithered the edges to give them the appearance of fading out. The top and right sides are intended to look as if they&#39;re slightly raised, as cardboard-like materials tend to do near their edges.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/indie-b-side-vol-1&quot;&gt;
		&lt;img alt=&quot;Indie B-Side, Vol. 1&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/indiebside/sleeve.png&quot; width=&quot;308&quot; height=&quot;308&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;I easily spent the most time on the cube. I really wanted it to draw the eye so I gave it dramatic, high contrast lighting. As you can see from the below animated gif, it went through many iterations before I &lt;strike&gt;was satisfied&lt;/strike&gt; ran out of time.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/indie-b-side-vol-1&quot;&gt;
		&lt;img alt=&quot;Indie B-Side, Vol. 1&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/indiebside/cube.gif&quot; width=&quot;248&quot; height=&quot;248&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Below is what I guess I&#39;d call a beta. It was almost there, but the text definitely needed to be more fun to read. I made the text big and fat enough that it squeezed out the room leftover for &amp;quot;Vol. 1&amp;quot;. This forced me to be creative and move that text to the record label. I believe this demonstrates a benefit of limitations!&lt;/p&gt;
&lt;p&gt;The cube looked fine to me, but it wasn&#39;t interesting enough. I wanted it to look more like it was made of Tetris pieces shoved together (I imagine that&#39;s how the FEZ cube was envisioned), so I combined many of the cells and made the ridges much softer.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/indie-b-side-vol-1&quot;&gt;
		&lt;img alt=&quot;Indie B-Side, Vol. 1&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/indiebside/beta.png&quot; width=&quot;384&quot; height=&quot;384&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Want to see the tiny, unscaled version of the final album cover? &lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/indiebside/albumArt.png&quot;&gt;It&#39;s here.&lt;/a&gt; Now go check out &lt;a href=&quot;http://joshuamorse.bandcamp.com/album/indie-b-side-vol-1&quot;&gt;the album&lt;/a&gt;, it&#39;s awesome!&lt;/p&gt;
&lt;h2&gt;More to come&lt;/h2&gt;
&lt;p&gt;Joshua&#39;s already &lt;a href=&quot;https://twitter.com/JoshuaMorse/status/352544713145987074&quot;&gt;working on Waveform 5&lt;/a&gt;, and we&#39;ve got fun stuff planned for the album art. For the next one I&#39;ll even do a timelapse (aren&#39;t those fun?)!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Announcing Crypt Run on Kickstarter</title>
		<link href="https://www.lostdecadegames.com/crypt-run-on-kickstarter/"/>
		<updated>2013-07-12T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/crypt-run-on-kickstarter/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;
		&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cryptRunBanner.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Huge news from Lost Decade! Today we&#39;re SUPER excited to launch a &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;crowd-funding effort on Kickstarter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Crypt Run is a medieval fantasy hack &#39;n slash for Windows and Mac. &lt;a href=&quot;https://cryptrun.lostdecadegames.com/&quot;&gt;Play the alpha&lt;/a&gt; in your browser, &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;back us on Kickstarter&lt;/a&gt; to receive your reward, and PLEASE help us spread the word!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;Back Crypt Run on Kickstarter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cryptrun.lostdecadegames.com/&quot;&gt;Play the browser-based alpha&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Visit the Crypt Run microsite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cryptrun.com/media/CryptRunMediaKit.zip&quot;&gt;Download the Crypt Run media kit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Our first week on Kickstarter: The Numbers</title>
		<link href="https://www.lostdecadegames.com/kickstarter-first-week/"/>
		<updated>2013-07-19T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/kickstarter-first-week/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe width=&quot;480&quot; height=&quot;360&quot; src=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/widget/video.html&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;It&#39;s been exactly one week since we &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;launched Crypt Run on Kickstarter&lt;/a&gt;, and since it&#39;s a 30-day campaign, that means it&#39;s 25% over. What a great time to reflect on the week, examine the trends, and see where this campaign is headed!&lt;/p&gt;
&lt;p&gt;We launched via an email blast to our &lt;a href=&quot;https://www.lostdecadegames.com/mailing-list/&quot;&gt;mailing list&lt;/a&gt; of about 200 fine human beings, as well as the mandatory &lt;a href=&quot;https://www.lostdecadegames.com/crypt-run-on-kickstarter&quot;&gt;blog&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/LostDecadeGames/status/355779166945292288&quot;&gt;tweet&lt;/a&gt;, and &lt;a href=&quot;https://www.facebook.com/LostDecadeGames/posts/601482313216049&quot;&gt;Facebook post&lt;/a&gt;. I&#39;m not aware of a way to check, but if memory serves, we closed our first day at around $2,000. One of our biggest and most awesome fans even contributed $1,000 (and claimed NO reward), which is just incredible.&lt;/p&gt;
&lt;h2&gt;California Extreme&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/geoff.jpg&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;The very next day (Saturday July 13th) we did a &lt;a href=&quot;https://www.lostdecadegames.com/play-crypt-run-at-ca-extreme/&quot;&gt;live demo&lt;/a&gt; at &lt;a href=&quot;http://www.caextreme.org/&quot;&gt;California Extreme&lt;/a&gt;, which is an annual arcade and pinball expo in Santa Clara. This was an exhausting day, lasting from 9am-3am (we each basically worked 18-hour shifts that day). This was our first live demo and it was exciting and educating. We made some amazing connections, including a Sony rep, that have the potential to be beneficial in the future.&lt;/p&gt;
&lt;p&gt;Crypt Run performed surpsingly well, especially with young males (around 8-15 years old). One &lt;a href=&quot;https://vine.co/v/hZ6Ix15znur&quot;&gt;enthusiastic young gamer&lt;/a&gt; played for FOUR HOURS straight! The pledges kept coming in throughout the day, energizing us when fatigue kicked in. Our friend &lt;a href=&quot;http://rickyromero.net/&quot;&gt;Ricky&lt;/a&gt; came by and took high-quality pictures with fancy lenses, which I&#39;ll upload soon.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/sticker3.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Sunday was much less extreme (pun intended). The expo was only open 11am-9pm, and the crowds were much thinner. We even had some time to play a few games ourselves! Over the weekend, we gave away hundreds of stickers with &amp;quot;cryptrun.com&amp;quot; printed on them, and the pledges continued to come in steadily.&lt;/p&gt;
&lt;p&gt;Sometimes it&#39;s impossible to tell where exactly a pledge came from, but through emails and messages from backers, we know that a few hundred dollars came in directly because of California Extreme. Overall the live demo was a fantastic success and was just what this campaign needed to help its launch.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/kids.jpg&quot; /&gt;
&lt;/div&gt;
&lt;h2&gt;The Weekend is Over&lt;/h2&gt;
&lt;p&gt;Monday, the pledges really hit the breaks. Up until Monday, I&#39;d wake up to several new pledge notifications and they&#39;d be relatively common throughout the day. Starting Monday, there was just one new pledge, and then only a small trickle throughout the day. This would be the trend throughout the week.&lt;/p&gt;
&lt;p&gt;Tuesday was more of the same. We did the math, and at this point we needed about $75/day worth of pledges to make our $5,000 goal. Fortunately around this time I was doing nothing but media outreach, trying to establish relationships, and emailing anyone on the planet that I thought might care and be able to make a difference. Which leads us to…&lt;/p&gt;
&lt;h2&gt;Media Response&lt;/h2&gt;
&lt;p&gt;Crypt Run hasn&#39;t had a ton of coverage yet, but it&#39;s only been a week, and I think these things take time. I do feel like we&#39;ve been lucky with the coverage that we have had. Here are the ones that I&#39;m aware of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ausgamers.com/news/read/3329729/lost-decade-games-reveals-alpha-demo-for-medieval-fantasy-hack-n-slash-crypt-run&quot;&gt;AUSGamers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.bluesnews.com/s/143438&quot;&gt;BluesNews&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=mTXCFB9z4u8&quot;&gt;EagleEyeLoco&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gamezebo.com/news/2013/07/19/kickstarter-picks-precinct-codename-cygnus-and-more&quot;&gt;Gamezebo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.igameresponsibly.com/2013/07/kickstarter-projects-you-should-pay-attention-to-718/&quot;&gt;IGameResponsibly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rawketlawncher.tumblr.com/post/55803295666/crypt-run&quot;&gt;Rawket Launcher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://worthplaying.com/article/2013/7/18/news/89970/&quot;&gt;Worthplaying&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Please &lt;a href=&quot;https://www.lostdecadegames.com/contact/&quot;&gt;contact me&lt;/a&gt; if you have a URL to add to this list!)&lt;/p&gt;
&lt;p&gt;I&#39;ve also had promising discussions with &lt;a href=&quot;http://www.indiegamemag.com/&quot;&gt;Indie Game Mag&lt;/a&gt; and &lt;a href=&quot;http://fundthisgame.com/&quot;&gt;Fund This Game&lt;/a&gt;, and I&#39;m really hoping that Rock, Paper, Shotgun will include Crypt Run in its weekly &lt;a href=&quot;http://www.rockpapershotgun.com/tag/kickstarter-katchup/&quot;&gt;Kickstarter Katchup&lt;/a&gt; series.&lt;/p&gt;
&lt;h2&gt;Reddit Promotion&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/reddit.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;We also tried a &lt;a href=&quot;http://imgur.com/a/yJjBA&quot;&gt;Reddit promo&lt;/a&gt; where you can &lt;a href=&quot;https://cryptrun.lostdecadegames.com/?reddit=1&quot;&gt;play as the Reddit alien&lt;/a&gt;. Kind of a stunt, I don&#39;t know man, we&#39;re just experimenting. It didn&#39;t go terribly well but there&#39;s a small chance somebody saw it and pledged. You&#39;ve gotta try, right?&lt;/p&gt;
&lt;h2&gt;GET TO THE NUMBERS!&lt;/h2&gt;
&lt;p&gt;OK! As of this writing, Crypt Run is 67% funded ($3,350 out of $5,000). Here are the stats that are available on Kickstarter&#39;s website:&lt;/p&gt;
&lt;p&gt;(Click any of these pics to view a larger version.)&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/chart.png&quot;&gt;
		&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/thumbs/chart.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;The above pie chart shows that &lt;strong&gt;$566&lt;/strong&gt; were pledged via Kickstarter. This means that these pledges came directly from Kickstarter&#39;s own discovery channels, such as the &lt;a href=&quot;http://www.kickstarter.com/discover/recently-launched&quot;&gt;recently launched&lt;/a&gt; and &lt;a href=&quot;http://www.kickstarter.com/discover/categories/games&quot;&gt;games category&lt;/a&gt; pages.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/graph.png&quot;&gt;
		&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/thumbs/graph.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;This graph shows the overall progress of the campaign. As you can see, it started off strong, but its ascent has slowed considerably.&lt;/p&gt;
&lt;h2&gt;What&#39;s Next?&lt;/h2&gt;
&lt;p&gt;Good news if you&#39;re a fan of &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;Lostcast&lt;/a&gt; (or podcasts in general), because Geoff and I will be on an episode of &lt;a href=&quot;http://www.darkstation.com/darkcast/&quot;&gt;DarkCast&lt;/a&gt; next week. We&#39;ll also be recording a new &amp;quot;The Story Behind Crypt Run&amp;quot; video, as well as pushing out a new alpha build with many bug fixes and improvements.&lt;/p&gt;
&lt;p&gt;We&#39;ll also be at &lt;a href=&quot;http://www.indieprize.org/games/index.html&quot;&gt;Indie Prize Showcase&lt;/a&gt; which is a part of &lt;a href=&quot;http://usa.casualconnect.org/index.html&quot;&gt;Casual Connect&lt;/a&gt; in San Francisco. This is a live 3-day demo that, thanks to California Extreme, we now feel well-prepared for.&lt;/p&gt;
&lt;p&gt;Overall, our first week went really well, and we&#39;re very happy with the results and the current state of the campaign. It&#39;s now clear to us, though, that Kickstarter campaigns are a lot of work, the lion&#39;s share of which takes place AFTER the campaign has launched.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>High quality photos of our California Extreme demo</title>
		<link href="https://www.lostdecadegames.com/cax-2013-photos/"/>
		<updated>2013-07-22T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/cax-2013-photos/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/title.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;The live demo was so much fun! Big thanks to our friend &lt;a href=&quot;http://rickyromero.net/&quot;&gt;Ricky&lt;/a&gt; for taking these excellent photos! If it&#39;s easier, check out these photos on &lt;a href=&quot;http://imgur.com/a/Rvnsc#0&quot;&gt;imgur&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;(Click on any image to viewer a larger version.)&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..18.48.21.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..18.48.21.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..16.03.56.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..16.03.56.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..16.06.34.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..16.06.34.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..18.47.22.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..18.47.22.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..18.48.14.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..18.48.14.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..18.48.21.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..18.48.21.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..18.50.25.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..18.50.25.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..18.54.23.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..18.54.23.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..18.56.46.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..18.56.46.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..19.03.14.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..19.03.14.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..19.03.46.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..19.03.46.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..19.10.00.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..19.10.00.jpg&quot; width=&quot;500&quot; height=&quot;750&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..19.10.34.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run at California Extreme&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..19.10.34.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We&#39;re also demoing &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run&lt;/a&gt; at &lt;a href=&quot;http://www.indieprize.org/games/index.html&quot;&gt;Indie Prize Showcase&lt;/a&gt; next week, so stop by if you can!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Half-time! 15 days left in the Crypt Run Kickstarter campaign</title>
		<link href="https://www.lostdecadegames.com/cryptstarter-halfway-point/"/>
		<updated>2013-07-26T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/cryptstarter-halfway-point/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe width=&quot;480&quot; height=&quot;360&quot; src=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/widget/video.html&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;What a crazy couple of weeks! There are only 15 days left in the &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;Crypt Run Kickstarter campaign&lt;/a&gt;, which seemed like a great time for a recap of what&#39;s been happening.&lt;/p&gt;
&lt;p&gt;With &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/backers&quot;&gt;164 backers&lt;/a&gt;, we&#39;re currently at &lt;strong&gt;86% of our goal&lt;/strong&gt;. Thank you! These promising numbers, combined with our 3-day demo at &lt;a href=&quot;http://www.indieprize.org/games/index.html&quot;&gt;Indie Prize Showcase&lt;/a&gt; next week, give us a lot of confidence that we&#39;ll be able to finish this game for you! To keep the momentum going, we&#39;ve been pushing hard on updates, including…&lt;/p&gt;
&lt;h2&gt;Another way to pay&lt;/h2&gt;
&lt;p&gt;If you&#39;re subscribed to our &lt;a href=&quot;https://www.lostdecadegames.com/mailing-list/&quot;&gt;mailing list&lt;/a&gt; or already backing the Kickstarter, you may have heard about Crypt Run&#39;s new &lt;a href=&quot;http://www.cryptrun.com/buy/&quot;&gt;Humble Store widgets&lt;/a&gt;. These widgets allow you to use any payment service you prefer, via PayPal or Google Wallet.&lt;/p&gt;
&lt;h2&gt;Introducing a new reward tier&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;
		&lt;img alt=&quot;Crypt Run tombstones&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/badge50.png&quot; width=&quot;240&quot; height=&quot;240&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Some wonderful people informed us that they wanted to make their mark on Crypt Run, but that the $100 in-game portrait reward was a bit too pricey. We listened, and have introduced a &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/posts/547611&quot;&gt;new reward tier at $50&lt;/a&gt;, for which you get to label a tombstone in a special room in the cemetery dungeon. We don&#39;t yet know exactly how this will work, but we&#39;ll do something cool with it, promise!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;
		&lt;img alt=&quot;Crypt Run tombstones&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/tombs.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h2&gt;JumpToGamer interview&lt;/h2&gt;
&lt;p&gt;I had a great email conversation with &lt;a href=&quot;https://twitter.com/StefanAnthonyy&quot;&gt;Stefan Richings&lt;/a&gt; of &lt;a href=&quot;http://www.jumptogamer.com/&quot;&gt;JumpToGamer&lt;/a&gt;, which led to this &lt;a href=&quot;http://www.jumptogamer.com/crypt-run-qa/&quot;&gt;thoughtful and well-written article&lt;/a&gt;. Check it out!&lt;/p&gt;
&lt;h2&gt;Game Front&#39;s Indie Gems spotlight&lt;/h2&gt;
&lt;p&gt;Oh man, it&#39;s so hard to watch someone playing your unfinished game! But I&#39;m still really excited about &lt;a href=&quot;http://www.gamefront.com/indie-gems-crypt-run-defies-death-but-not-for-long/&quot;&gt;Crypt Run&#39;s Indie Gems spotlight&lt;/a&gt; on &lt;a href=&quot;http://www.gamefront.com/&quot;&gt;Game Front&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe width=&quot;500&quot; height=&quot;281&quot; src=&quot;https://www.youtube.com/embed/H4FKx4_UMi4&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;
&lt;/div&gt;
&lt;h2&gt;DarkCast podcast&lt;/h2&gt;
&lt;p&gt;Lastly, good news for &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;Lostcast fans&lt;/a&gt;: we were on another podcast called &lt;a href=&quot;http://www.darkstation.com/darkcast/&quot;&gt;DarkCast&lt;/a&gt;! It&#39;s over an hour of Crypt Run and general gaming chat, &lt;a href=&quot;http://www.darkstation.com/darkcast/dci-ep-02-how-to-loose-a-decade/&quot;&gt;have a listen&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;I think that&#39;s everything, at least for now. Thanks for reading, and YOU! You have yourself a great weekend. Thanks again for your support!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Crypt Run alpha 0.0.95</title>
		<link href="https://www.lostdecadegames.com/crypt-run-alpha-92/"/>
		<updated>2013-07-27T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/crypt-run-alpha-92/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;
		&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/banner.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We&#39;ve been working hard! Here&#39;s the massive changelog since the last version of &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run&lt;/a&gt; you&#39;ve played. These changes are now live on the &lt;a href=&quot;https://cryptrun.lostdecadegames.com/&quot;&gt;web-based demo&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support enter/return keys anywhere space is supported&lt;/li&gt;
&lt;li&gt;boomBarrel, boomSpear tweaks&lt;/li&gt;
&lt;li&gt;Tutorial flow tweaks; introduce resurrection object&lt;/li&gt;
&lt;li&gt;zombieGraveRobbers are role=monster by default&lt;/li&gt;
&lt;li&gt;Cleanup dungeon seeding so the player isn&#39;t stuck in a specific challenge&lt;/li&gt;
&lt;li&gt;Art for shattering ice block; fix a step script bug&lt;/li&gt;
&lt;li&gt;Don&#39;t start music from beginning on unpause&lt;/li&gt;
&lt;li&gt;Play sound effects when counting up numbers on results screens&lt;/li&gt;
&lt;li&gt;Add shovel sounds&lt;/li&gt;
&lt;li&gt;Fix white border bug when fading out after death&lt;/li&gt;
&lt;li&gt;Make player face direction of dungeon room when exiting a room&lt;/li&gt;
&lt;li&gt;improve step enraged behavior with a few more properties&lt;/li&gt;
&lt;li&gt;probably fixes: (zombie)GraveRobbers get stuck on solids&lt;/li&gt;
&lt;li&gt;Polish ResultsScene &amp;amp; ProgressScene&lt;/li&gt;
&lt;li&gt;Polish plants shooting fireballs&lt;/li&gt;
&lt;li&gt;give humanoids blood &#39;n guts; set groundwork for plant polish&lt;/li&gt;
&lt;li&gt;Art/polish for blinking shopKeeper&lt;/li&gt;
&lt;li&gt;Determine loot drops at generation; loot tables are now zone specific&lt;/li&gt;
&lt;li&gt;New challenge UI&lt;/li&gt;
&lt;li&gt;Add zombieGraveRobber to zombieRoom and graveHeist&lt;/li&gt;
&lt;li&gt;zombieGraveRobber; direBat health nerf&lt;/li&gt;
&lt;li&gt;don&#39;t piss off the new graveRobber&lt;/li&gt;
&lt;li&gt;intl tweak; Add required scenario rooms; clean up scenario data; add tombstoneRoom requored scen&lt;/li&gt;
&lt;li&gt;Private PRNG for dungeon generation&lt;/li&gt;
&lt;li&gt;Triple Dagger intl&lt;/li&gt;
&lt;li&gt;?killerBees=1 to start with killerBees&lt;/li&gt;
&lt;li&gt;Get killer bee&#39;s buzz sound to work&lt;/li&gt;
&lt;li&gt;Container lootTables are attached at generation time&lt;/li&gt;
&lt;li&gt;looping ogg files&lt;/li&gt;
&lt;li&gt;Reduce chance of mimic traps; give mimics a proper loot table&lt;/li&gt;
&lt;li&gt;Increase healthPotion cost (HP = 100 per point healed)&lt;/li&gt;
&lt;li&gt;Fix shopKeeper torchTurret activation&lt;/li&gt;
&lt;li&gt;Use marbleBlue for HoT&lt;/li&gt;
&lt;li&gt;graves spawn 10 zombies max&lt;/li&gt;
&lt;li&gt;goldenAxe spawns treasureNugget&lt;/li&gt;
&lt;li&gt;Multiple room trial zones&lt;/li&gt;
&lt;li&gt;Guard against detatched entities in utils/Entity.updateHealth&lt;/li&gt;
&lt;li&gt;Scale zombieRoom with room difficulty&lt;/li&gt;
&lt;li&gt;Fix debug container data&lt;/li&gt;
&lt;li&gt;blueSoulOrb collectible (awards blueSouls), dark monsters drop blueSoulOrbs (often)&lt;/li&gt;
&lt;li&gt;Refactor containers; include pots; fix boomBarrel and bigBoomBarrel debris&lt;/li&gt;
&lt;li&gt;graveRobbers drop shovels rarely&lt;/li&gt;
&lt;li&gt;Humanoids sometimes drop treasureNuggets&lt;/li&gt;
&lt;li&gt;First pass at lootTables; torches drop treasureNuggets&lt;/li&gt;
&lt;li&gt;Add arrows to tutorial; buff spikeTraps in tut death room to get past leather; type&lt;/li&gt;
&lt;li&gt;treasureNugget prefab&lt;/li&gt;
&lt;li&gt;Mimics are traps, not monsters&lt;/li&gt;
&lt;li&gt;Add boom barrels to zombie rooms; randomize zombieRoom entity quantities&lt;/li&gt;
&lt;li&gt;Art for freeze state, code too&lt;/li&gt;
&lt;li&gt;killer BEEEEEEEEEEES&lt;/li&gt;
&lt;li&gt;In tutorial, change lantern reward to something with a more obvious benefit&lt;/li&gt;
&lt;li&gt;Art for keys/doors with keyholes&lt;/li&gt;
&lt;li&gt;Art for gold nuggets&lt;/li&gt;
&lt;li&gt;art for armor (placeholder)&lt;/li&gt;
&lt;li&gt;MEAT&lt;/li&gt;
&lt;li&gt;food.png&lt;/li&gt;
&lt;li&gt;Damage reducing armor items&lt;/li&gt;
&lt;li&gt;Display item names when collected&lt;/li&gt;
&lt;li&gt;Fix error when dropping gold&lt;/li&gt;
&lt;li&gt;Polish spawning of dropped items&lt;/li&gt;
&lt;li&gt;Refactor view/ui/Inventory; add boots2; boots are equipment&lt;/li&gt;
&lt;li&gt;Refactor inventory dropping into sim/systems/shared/inventory; drop equipment when player dies&lt;/li&gt;
&lt;li&gt;Fix Room.spawnEntityByTile centering&lt;/li&gt;
&lt;li&gt;nerf greatOwl&lt;/li&gt;
&lt;li&gt;Nerf werewolf&lt;/li&gt;
&lt;li&gt;Mini-map fixes from geoff-post-alpha&lt;/li&gt;
&lt;li&gt;Preload core env graphics&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You&#39;ll be getting weekly builds of Crypt Run for Windows or Mac &lt;strong&gt;in your inbox&lt;/strong&gt; if you &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;back Crypt Run&lt;/a&gt; for at least $25. Thanks for your support! More soon.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Challenge a friend to a game of Crypt Run</title>
		<link href="https://www.lostdecadegames.com/challenge-a-friend/"/>
		<updated>2013-07-28T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/challenge-a-friend/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://cryptrun.lostdecadegames.com/&quot;&gt;
		&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/caf.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;You can now challenge a friend to see who&#39;s better at &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run&lt;/a&gt;! Here&#39;s how to do it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Visit &lt;a href=&quot;https://cryptrun.lostdecadegames.com/&quot;&gt;cryptrun.lostdecadegames.com&lt;/a&gt; in a modern browser.&lt;/li&gt;
&lt;li&gt;Play through the &lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cemetery.jpg&quot;&gt;cemetery dungeon&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;At the &lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/gameOver.jpg&quot;&gt;Game Over screen&lt;/a&gt;, copy the text in the &amp;quot;Challenge URL&amp;quot; input box.&lt;/li&gt;
&lt;li&gt;Send that URL to a friend via email, Twitter, or carrier pigeon.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Your friend will play the &lt;strong&gt;exact same procedurally-generated dungeon you played&lt;/strong&gt;, and your two scores are compared at the end. Instant bragging rights!&lt;/p&gt;
&lt;h2&gt;Video tutorial&lt;/h2&gt;
&lt;p&gt;Hate words? Or maybe I explained that badly? Watch this video instead:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe width=&quot;500&quot; height=&quot;281&quot; src=&quot;https://www.youtube.com/embed/hXc69T8Szvk&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Game on!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Nintendo approves Lost Decade as official developer, Crypt Run sets Wii U stretch goal</title>
		<link href="https://www.lostdecadegames.com/official-nintendo-devs/"/>
		<updated>2013-08-04T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/official-nintendo-devs/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;
		&lt;img alt=&quot;Crypt Run on Wii U&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/crOnWiiU500.png&quot; width=&quot;500&quot; height=&quot;265&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;I&#39;m so excited I can barely type this! Today I get to announce that Lost Decade Games is now an &lt;strong&gt;officially licensed Nintendo developer&lt;/strong&gt;! Lifelong dream unlocked!!&lt;/p&gt;
&lt;p&gt;We met two awesome Nintendo guys when we were at Casual Connect last week, and they&#39;ve been very responsive and eager to help. I can&#39;t go into detail, but I&#39;ve been pleasantly surprised by Nintendo&#39;s remarkable support.&lt;/p&gt;
&lt;p&gt;So given this exciting news, we&#39;ve updated &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run&lt;/a&gt;&#39;s stretch goals to include Wii U. Read all about it on the &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/posts/559411&quot;&gt;Kickstarter update&lt;/a&gt; and please help us spread the word to Nintendo&#39;s legions of fans!&lt;/p&gt;
&lt;h2&gt;Links&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/posts/559411&quot;&gt;Detailed Wii U update on Kickstarter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;Crypt Run crowd-funding campaign&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cryptrun.com/media/CryptRunMediaKit.zip&quot;&gt;Crypt Run press kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lostdecadegames.com/media/lostDecadeGamesPressKit.zip&quot;&gt;Lost Decade Games press kit&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Crypt Run in the media&lt;/h2&gt;
&lt;p&gt;Have you seen Crypt Run popping up on the Interwebz? Here&#39;s some of the recent coverage:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.indiegamemag.com/developer-chat-matt-hackett-on-crypt-run/&quot;&gt;The Indie Game Magazine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gamefront.com/indie-gems-crypt-run-defies-death-but-not-for-long/&quot;&gt;Game Front&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://indiestatik.com/2013/07/30/kickstart-this-crypt-run/&quot;&gt;Indie Statik&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Join us for the Crypt Run Kickstarter live countdown</title>
		<link href="https://www.lostdecadegames.com/cryptstarter-live-countdown/"/>
		<updated>2013-08-05T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/cryptstarter-live-countdown/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.facebook.com/events/1399990470218151/&quot;&gt;
		&lt;img alt=&quot;Crypt Run live countdown&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/liveCountdown.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;This Sunday, August 11th, we&#39;ll begin live streaming &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run&lt;/a&gt; gameplay on &lt;a href=&quot;http://www.twitch.tv/LostDecadeGames&quot;&gt;Twitch&lt;/a&gt;. For two hours we&#39;ll be talking about Crypt Run, answering questions from the chat, and counting down the final two hours of the &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;Crypt Run Kickstarter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here&#39;s the &lt;a href=&quot;https://www.facebook.com/events/1399990470218151/&quot;&gt;Facebook event&lt;/a&gt;. Hope to see you there!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>How to help a crowd-funding campaign without spending any money</title>
		<link href="https://www.lostdecadegames.com/how-to-help-a-campaign-for-free/"/>
		<updated>2013-08-08T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/how-to-help-a-campaign-for-free/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;
		&lt;img alt=&quot;Crypt Run on Kickstarter&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/helpNoMoney.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Found a project on &lt;a href=&quot;http://www.kickstarter.com/&quot;&gt;Kickstarter&lt;/a&gt; or &lt;a href=&quot;http://www.indiegogo.com/&quot;&gt;IndieGoGo&lt;/a&gt; that you&#39;re really into? Is there an &lt;a href=&quot;http://www.kickstarter.com/projects/gaymercon/gaymercon-everybody-games&quot;&gt;event&lt;/a&gt;, &lt;a href=&quot;http://www.indiegogo.com/projects/for-the-love-of-beer-jane-s-beer-store&quot;&gt;store&lt;/a&gt;, or even a &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;game&lt;/a&gt; you want to support? But maybe you&#39;re strapped for cash. Or possibly, you&#39;ve already backed your favorite project, but you still want to do more to help.&lt;/p&gt;
&lt;p&gt;Whatever the case, if you want to help a project you care about without a spending a dime, here are a few thoughts on how to do that.&lt;/p&gt;
&lt;h2&gt;Tell your friends&lt;/h2&gt;
&lt;p&gt;Nothing is more powerful than &lt;strong&gt;word of mouth&lt;/strong&gt;. I don&#39;t know about you, but when &lt;a href=&quot;https://www.lostdecadegames.com/about/&quot;&gt;Geoff&lt;/a&gt;, or &lt;a href=&quot;https://twitter.com/MoebiusX&quot;&gt;my brother&lt;/a&gt;, or someone else I respect personally tells me about a campaign, that speaks louder than any advertisement or review. When you mention a campaign directly to a person, you&#39;re letting them know that if they check it out, an interesting conversation about it is bound to be had.&lt;/p&gt;
&lt;h2&gt;Create forum threads&lt;/h2&gt;
&lt;p&gt;If you&#39;re already a known member at a forum that might be interested in the campaign you care about, you could really help that campaign by telling your community. If that community is a forum, here&#39;s an example thread you could post:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hey friends! I&#39;m so excited about Crypt Run that I just had to tell you about it. It&#39;s a medieval fantasy hack &#39;n slash with a twist -- the game isn&#39;t over when you die!&lt;/p&gt;
&lt;p&gt;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&lt;/p&gt;
&lt;p&gt;Play the alpha: https://cryptrun.lostdecadegames.com/&lt;/p&gt;
&lt;p&gt;After you play, SEND ME THE CHALLENGE at the end and I will beat your score! ;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Even if you&#39;re not a member at any forums, you could &lt;strong&gt;find related communities&lt;/strong&gt; and let them know about the campaign. Lists like &lt;a href=&quot;http://www.pixelprospector.com/the-big-list-of-video-game-forums/&quot;&gt;Pixel Prospector&#39;s Big List of Video Game Forums&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_Internet_forums&quot;&gt;Wikipedia&#39;s List of Internet forums&lt;/a&gt; are great places to start looking.&lt;/p&gt;
&lt;h2&gt;Contact media&lt;/h2&gt;
&lt;p&gt;If the folks running a campaign want it to succeed, they&#39;d better be busting their butts, emailing everyone on the planet! But that doesn&#39;t mean you can&#39;t, too. Emails from 3rd party fans who aren&#39;t directly attached to a project are invaluable. Having vocal fans speaks volumes about a project&#39;s quality, and seeing multiple emails about the campaign may help convince a notable journalist to write about that project.&lt;/p&gt;
&lt;p&gt;As an example, &lt;a href=&quot;http://www.pixelprospector.com/&quot;&gt;Pixel Prospector&lt;/a&gt; once again delivers a great list of &lt;a href=&quot;http://pressandyoutubers.tumblr.com/&quot;&gt;Gaming Press and YouTubers&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Make a video&lt;/h2&gt;
&lt;p&gt;Is it a game you want to help? &lt;a href=&quot;http://www.youtube.com/LostDecadeGames&quot;&gt;YouTube&lt;/a&gt; and &lt;a href=&quot;http://www.twitch.tv/LostDecadeGames&quot;&gt;Twitch&lt;/a&gt; are changing the way players find out about games. More than ever before, gamers use these social discovery channels to determine where to spend their time and money. One popular approach is to simply record your screen to video while playing a game. Some of these &amp;quot;Let&#39;s Play&amp;quot; videos attract millions of views and could be a huge benefit to a campaign.&lt;/p&gt;
&lt;h2&gt;Be social&lt;/h2&gt;
&lt;p&gt;Obviously the obligatory &lt;a href=&quot;https://twitter.com/LostDecadeGames&quot;&gt;tweets&lt;/a&gt; and &lt;a href=&quot;https://www.facebook.com/LostDecadeGames&quot;&gt;Facebook&lt;/a&gt; posts are a great way to let friends know about projects you care about. But you should be careful not to oversaturate and upset your friends! Other social networks gaining popularity recently include &lt;a href=&quot;http://lostdecadegames.tumblr.com/&quot;&gt;Tumblr&lt;/a&gt; and &lt;a href=&quot;https://github.com/lostdecade&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Cheer them on!&lt;/h2&gt;
&lt;p&gt;Lastly, reach out straight to the people behind the project. Chances are, they&#39;re overwhelmed and stressed out! Comment on the project and/or send them messages of encouragement. Sometimes that can provide the motivation a hard-working crowd-funder needs to get through the day!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Crypt Run 180% funded</title>
		<link href="https://www.lostdecadegames.com/cryptstarter-funded/"/>
		<updated>2013-08-12T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/cryptstarter-funded/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;
		&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/success.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;WOW! Crypt Run was &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/posts/566496&quot;&gt;successfully funded&lt;/a&gt; with just &lt;strong&gt;OVER $9,000&lt;/strong&gt; in pledges from 320 glorious gamers. Thank you so much! This week we&#39;ll gather survey information from backers and then we&#39;ll start divvying out juicy rewards! Fun times will be had.&lt;/p&gt;
&lt;h2&gt;You can still preorder and get early access&lt;/h2&gt;
&lt;p&gt;Did you miss the Kickstarter? No worries! You can still preorder Crypt Run AND get &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;early access&lt;/a&gt; to weekly alpha builds!&lt;/p&gt;
&lt;iframe class=&quot;humble-widget&quot; width=&quot;550&quot; height=&quot;264&quot; scrolling=&quot;no&quot; frameBorder=&quot;0&quot; src=&quot;http://www.humblebundle.com/store/product/cryptrun/Cdy6Dgsy3Fts&quot;&gt;
&lt;/iframe&gt;</content>
	</entry>
	
	
	<entry>
		<title>Crypt Run alpha 152</title>
		<link href="https://www.lostdecadegames.com/crypt-run-alpha-152/"/>
		<updated>2013-08-15T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/crypt-run-alpha-152/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;
		&lt;img alt=&quot;Crypt Run&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/banner.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Here&#39;s the changelog since the &lt;a href=&quot;https://www.lostdecadegames.com/crypt-run-alpha-92/&quot;&gt;last version&lt;/a&gt; of &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run&lt;/a&gt;. These updates will soon go out to the currently &lt;strong&gt;78 alpha gamers&lt;/strong&gt; who either backed the Kickstarter for at least $25 or purchased the weekly alpha bundle:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;152 Shake ice just before it cracks apart&lt;/li&gt;
&lt;li&gt;151 Fix spawner and Ice guts&lt;/li&gt;
&lt;li&gt;150 Move GutsEmitter to utils/Room; clean up Room.entityContainer on reset&lt;/li&gt;
&lt;li&gt;149 stick slimes into sewer&lt;/li&gt;
&lt;li&gt;148 Expire existing states when an entity dies&lt;/li&gt;
&lt;li&gt;147 Teach running in tutorial&lt;/li&gt;
&lt;li&gt;146 Add support for additional R button for running&lt;/li&gt;
&lt;li&gt;145 Clean up ProgressScene&lt;/li&gt;
&lt;li&gt;144 Get sewer and crypt into the flow&lt;/li&gt;
&lt;li&gt;143 fix: Edges show up between dungeon/progress scenes&lt;/li&gt;
&lt;li&gt;142 fix lich -- was checking target twice, range was too short&lt;/li&gt;
&lt;li&gt;141 fix ice view double&lt;/li&gt;
&lt;li&gt;140 Tweak lich behavior so he only shoots at you if you&#39;re within range&lt;/li&gt;
&lt;li&gt;139 imageOptim&lt;/li&gt;
&lt;li&gt;138 Don&#39;t play pain sound and death sounds simultaneously&lt;/li&gt;
&lt;li&gt;137 Fix RotD visuals&lt;/li&gt;
&lt;li&gt;136 Running&lt;/li&gt;
&lt;li&gt;135 kickstarter -&amp;gt; preorder&lt;/li&gt;
&lt;li&gt;134 Hide UserInfo for now&lt;/li&gt;
&lt;li&gt;133 Hall of Trials -&amp;gt; The Arena&lt;/li&gt;
&lt;li&gt;132 skeletonKing room has zombieDarkSpawners which despawn when skeletonKing dies&lt;/li&gt;
&lt;li&gt;131 Pause Room.entityContainer during freezeFrame&lt;/li&gt;
&lt;li&gt;130 Deferred collectors can&#39;t collect weapons or collectibles with a cost &amp;gt; 0&lt;/li&gt;
&lt;li&gt;129 merge dark monsters, darkness tweaks&lt;/li&gt;
&lt;li&gt;128 Guard against invalid itemIds in place.shopItem&lt;/li&gt;
&lt;li&gt;127 User auth basics + display&lt;/li&gt;
&lt;li&gt;126 ice sounds&lt;/li&gt;
&lt;li&gt;125 zombie sfx&lt;/li&gt;
&lt;li&gt;124 Optimize room-&amp;gt;room transitions&lt;/li&gt;
&lt;li&gt;123 Fix invisible goldChest&lt;/li&gt;
&lt;li&gt;122 Increase difficulty of dark monsters and rooms&lt;/li&gt;
&lt;li&gt;121 new ogg music&lt;/li&gt;
&lt;li&gt;120 nerf mimic health&lt;/li&gt;
&lt;li&gt;119 Shopkeeper behavior update phase 1&lt;/li&gt;
&lt;li&gt;118 Geoff&#39;s forest env lol&lt;/li&gt;
&lt;li&gt;117 Add flickering to light sources&lt;/li&gt;
&lt;li&gt;116 Give dropped items a grace period so they can&#39;t be collected right away&lt;/li&gt;
&lt;li&gt;115 Refactor chests and shops to use new loot tables&lt;/li&gt;
&lt;li&gt;114 chargeable and charger components, transformers require full charge before triggering&lt;/li&gt;
&lt;li&gt;105 Allow pawns to set their death particles&lt;/li&gt;
&lt;li&gt;113 Adjust RotD monster weights&lt;/li&gt;
&lt;li&gt;112 werewolfDark&lt;/li&gt;
&lt;li&gt;111 zombieDarkSpawner&lt;/li&gt;
&lt;li&gt;110 zombieDark&lt;/li&gt;
&lt;li&gt;109 owlDark&lt;/li&gt;
&lt;li&gt;108 Disable ghost and skeleton for now, fix tutorial&lt;/li&gt;
&lt;li&gt;107 darkPortal -&amp;gt; batDarkSpawner&lt;/li&gt;
&lt;li&gt;106 Placeholder batDark and batDarkSpawner&lt;/li&gt;
&lt;li&gt;105 Player can interact with entities&lt;/li&gt;
&lt;li&gt;104 GamepadStatus UI in TitleScene&lt;/li&gt;
&lt;li&gt;103 Default challenge URL to cryptrun.lostdecadegames.com for file: protocol&lt;/li&gt;
&lt;li&gt;102 Prep for alpha build&lt;/li&gt;
&lt;li&gt;101 Despawn skeletonKing spikeBall when dying&lt;/li&gt;
&lt;li&gt;100 Normalize keyboard/d-pad movement&lt;/li&gt;
&lt;li&gt;99 More skeletonKing behavior; draw chain to spikeBall&lt;/li&gt;
&lt;li&gt;shiiiii-&lt;/li&gt;
&lt;li&gt;98 Fix bats deprecated flocking flag&lt;/li&gt;
&lt;li&gt;97 Entities with step behavior should not have flocking&lt;/li&gt;
&lt;li&gt;97 treasure chalice -&amp;gt; treasure bar&lt;/li&gt;
&lt;li&gt;96 skeletonKing and lichLord tweaks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You&#39;ll be getting weekly builds of Crypt Run for Windows, Mac, and Linux &lt;strong&gt;in your inbox&lt;/strong&gt; if you &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;preorder Crypt Run&lt;/a&gt; for at least $25. Thanks for your support!&lt;/p&gt;
&lt;iframe class=&quot;humble-widget&quot; width=&quot;550&quot; height=&quot;264&quot; scrolling=&quot;no&quot; frameBorder=&quot;0&quot; style=&quot;float:right;margin-left:20px&quot; src=&quot;http://www.humblebundle.com/store/product/cryptrun_alpha/Cdy6Dgsy3Fts&quot;&gt;
&lt;/iframe&gt;</content>
	</entry>
	
	
	<entry>
		<title>Crypt Run Kickstarter postmortem</title>
		<link href="https://www.lostdecadegames.com/cryptstarter-postmortem/"/>
		<updated>2013-08-21T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/cryptstarter-postmortem/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;
		&lt;img alt=&quot;Crypt Run Kickstarter&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/banner.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;On &lt;a href=&quot;https://www.lostdecadegames.com/crypt-run-on-kickstarter/&quot;&gt;July 12th&lt;/a&gt; of this year, &lt;a href=&quot;https://www.lostdecadegames.com/&quot;&gt;Lost Decade Games&lt;/a&gt; launched a &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;crowdfunding campaign&lt;/a&gt; for &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run&lt;/a&gt;, our medieval fantasy hack &#39;n slash game. The goal was &lt;strong&gt;$5,000 USD&lt;/strong&gt; during a &lt;strong&gt;30-day&lt;/strong&gt; funding period. We made the goal (and many mistakes) during this exhausting campaign. Let&#39;s talk about what worked, what didn&#39;t, and what we&#39;ll do differently next time.&lt;/p&gt;
&lt;h1&gt;What went right&lt;/h1&gt;
&lt;h2&gt;1. Thorough research&lt;/h2&gt;
&lt;p&gt;There&#39;s an overwhelming amount of information out there on crowdfunding best practices. I spent roughly a year with my ear to the ground, reading the occasional crowdfunding article and getting a feel for the current Kickstarter community. A great place to start is the &lt;a href=&quot;http://www.kickstarter.com/help/school&quot;&gt;Kickstarter School&lt;/a&gt;, but these best practices change so often and are so contextual that custom research is best.&lt;/p&gt;
&lt;p&gt;The last few weeks before we launched our own campaign, I dug through dozens of bookmarks and spent hours per day reading up and educating myself. I&#39;d say that this more than anything else contributed to the campaign&#39;s success (except perhaps having a strong &lt;a href=&quot;https://cryptrun.lostdecadegames.com/&quot;&gt;web-based demo&lt;/a&gt;). There&#39;s no excuse these days: know your stuff!&lt;/p&gt;
&lt;h2&gt;2. Reasonable goal&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/fundingProgress.png&quot;&gt;
		&lt;img alt=&quot;Crypt Run Kickstarter graph&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/thumbs/fundingProgress.png&quot; width=&quot;500&quot; height=&quot;222&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Coming up with the budget for a game is difficult, even without complicating things with crowdfunding. Conventional budgeting approaches are not always applicable in the crowdfunding arena, where backers expect a game to be far along in development before they&#39;ll consider funding it. This environment requires that a studio fund initial development upfront.&lt;/p&gt;
&lt;p&gt;Our approach was to develop Crypt Run until we were almost out of money, then look to Kickstarter to see if we could gather a crowd who wanted us to continue development. Rather than estimating the budget to finish a complete game design, we decided to target a goal that we felt was within our reach, and design the rest of the game based on this yet-to-be-determined budget.&lt;/p&gt;
&lt;p&gt;$5k seemed like a solid, reasonable goal that we could accomplish with our current network. This would allow us about one more month to develop Crypt Run, which is approximately how long the Kickstarter project itself took to create! So if we met our goal, we would break even.&lt;/p&gt;
&lt;p&gt;This method of budgeting for what&#39;s affordable instead of what&#39;s ideal for the game certainly isn&#39;t the optimal approach for all projects.&lt;/p&gt;
&lt;h2&gt;3. Live demos&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/photos/2013.07.14..16.03.56.jpg&quot;&gt;
		&lt;img alt=&quot;Crypt Run Kickstarter graph&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..16.03.56.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We launched the Kickstarter along with a &lt;a href=&quot;https://www.lostdecadegames.com/cax-2013-photos/&quot;&gt;live demo&lt;/a&gt; at &lt;a href=&quot;http://www.caextreme.org/&quot;&gt;California Extreme&lt;/a&gt;, an annual arcade and pinball expo in the California Bay Area. With hundreds of gamers playing Crypt Run over a 48-hour period, this undoubtedly contributed to our exceptionally strong opening weekend (58% of our goal pledged in just two days).&lt;/p&gt;
&lt;p&gt;With about two weeks left to go, we also participated in &lt;a href=&quot;http://www.indieprize.org/games/index.html&quot;&gt;Indie Prize Showcase&lt;/a&gt;, which is part of the very popular &lt;strong&gt;Casual Connect&lt;/strong&gt; conference. While this conference was much more business-oriented, we definitely found new backers here, in addition to making solid networking connections.&lt;/p&gt;
&lt;p&gt;Live demos can&#39;t be beat when it comes to establishing a connection with an audience. There&#39;s nothing better than shaking a gamer&#39;s hand, then putting a gamepad in it.&lt;/p&gt;
&lt;h2&gt;4. Short, concise video&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Crypt Run Kickstarter video&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/video.jpg&quot; width=&quot;500&quot; height=&quot;374&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Our first video was largely live action, comprised primarily of us talking at the camera interview-style. We set up a rough script and took an entire day to film this video, complete with green screen and some fancy editing. However, it didn&#39;t survive first contact with viewers; smart people whose opinions we respect suggested we ditch our talking heads in favor of more gameplay footage.&lt;/p&gt;
&lt;p&gt;We saw their point, and made a new video that focused entirely on the game. The initial video was over 5 minutes long, and our final video clocked in at only 2:06. We feel that having a concise, game-focused video was one of the stronger aspects of our campaign.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/projectVideoStats.png&quot;&gt;
		&lt;img alt=&quot;Crypt Run Kickstarter graph&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/thumbs/projectVideoStats.png&quot; width=&quot;500&quot; height=&quot;167&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;h2&gt;5. Constant promotion&lt;/h2&gt;
&lt;p&gt;I was really hustling for about 5 solid weeks, emailing everyone in the gaming press industry I could find. We did &lt;a href=&quot;http://www.jumptogamer.com/crypt-run-qa/&quot;&gt;several&lt;/a&gt; &lt;a href=&quot;http://www.indiegamemag.com/developer-chat-matt-hackett-on-crypt-run/&quot;&gt;interviews&lt;/a&gt;, updated our &lt;a href=&quot;https://www.lostdecadegames.com/blog/&quot;&gt;blog&lt;/a&gt; a few times per week, and managed to get some &lt;a href=&quot;http://www.gamefront.com/indie-gems-crypt-run-defies-death-but-not-for-long/&quot;&gt;decent press coverage&lt;/a&gt;. We also launched a &lt;a href=&quot;https://www.lostdecadegames.com/challenge-a-friend/&quot;&gt;challenge a friend&lt;/a&gt; feature that allowed for asynchronous competitive multiplayer.&lt;/p&gt;
&lt;iframe width=&quot;500&quot; height=&quot;281&quot; src=&quot;https://www.youtube.com/embed/hXc69T8Szvk&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;
&lt;p&gt;There were even some &lt;a href=&quot;http://www.reddit.com/r/nintendo/comments/1jp8cq/nintendo_authorizes_indie_dev_wii_u_stretch_goal/&quot;&gt;Reddit threads&lt;/a&gt; that did pretty well, although use Reddit at your own risk, as some Redditors can be unnecessarily hateful. The takeaway here is that being constantly noisy about a campaign can keep interest up.&lt;/p&gt;
&lt;h1&gt;What went wrong&lt;/h1&gt;
&lt;h2&gt;1. Incomplete core mechanic&lt;/h2&gt;
&lt;p&gt;Money was running out and we weren&#39;t as far along as we&#39;d hoped. We had plans for an ambitious and poorly-defined &amp;quot;unique death mechanic&amp;quot; that involved the game continuing after death. This feature was so incomplete it was almost cut from the Kickstarter demo entirely, but we wanted to provide players with a small taste of what was to come.&lt;/p&gt;
&lt;p&gt;However, this incomplete feature left many gamers understandably scratching their heads. Was it just a corpse run, like in World of Warcraft? Was it another world, like in The Legend of Zelda: A Link to the Past? It wasn&#39;t any of these things in our early preview -- it was simply incomplete and left as a big question mark. Some people found this intriguing; others did not.&lt;/p&gt;
&lt;h2&gt;2. Quickly saturated network&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/referrers.png&quot;&gt;
		&lt;img alt=&quot;Crypt Run Kickstarter graph&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/thumbs/referrers.png&quot; width=&quot;500&quot; height=&quot;346&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;After the first week, our network of followers across &lt;a href=&quot;https://twitter.com/LostDecadeGames&quot;&gt;Twitter&lt;/a&gt;, &lt;a href=&quot;https://www.facebook.com/LostDecadeGames&quot;&gt;Facebook&lt;/a&gt;, &lt;a href=&quot;http://www.youtube.com/LostDecadeGames&quot;&gt;YouTube&lt;/a&gt;, and even our &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;podcast&lt;/a&gt; certainly knew about Crypt Run. If they were interested in pledging, they likely already had.&lt;/p&gt;
&lt;p&gt;Constantly promoting was good, but we should have had a better plan for finding new backers outside of our previously-existing network. I&#39;m still not entirely sure how to do that, but it&#39;s clearly worthy of investigation.&lt;/p&gt;
&lt;h2&gt;3. Aggressively bad high tier rewards&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/rewardPopularity.png&quot;&gt;
		&lt;img alt=&quot;Crypt Run Kickstarter graph&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/thumbs/rewardPopularity.png&quot; width=&quot;500&quot; height=&quot;217&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We spent a lot of time talking about and planning the top tier rewards (everything above $100). However, nobody wanted them! I think it speaks volumes that even the very generous backers who pledged enough to afford them chose not to accept them.&lt;/p&gt;
&lt;p&gt;Their very presence made things needlessly more complicated for the 300+ backers who did choose rewards. For future crowdfunding efforts, I&#39;d shy away from offering any rewards priced above $100.&lt;/p&gt;
&lt;h2&gt;4. Poor updates&lt;/h2&gt;
&lt;p&gt;I suck at updating. Even at this moment I can&#39;t tell you what kinds of updates gamers expect, or keeps people interested, or increases pledge amounts, or anything similarly valuable. I know now that there&#39;s no reason not to update &lt;em&gt;every single day&lt;/em&gt;, so that&#39;s what I&#39;d likely do in the future. The only problem is: I have no good ideas on how to deliver so many interesting updates!&lt;/p&gt;
&lt;p&gt;In this vein, I also forgot the final edit to direct traffic to our &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/posts/548656&quot;&gt;Humble Store widgets&lt;/a&gt;. I had intended to edit the top of the project description with a prominent link to our new landing page where gamers can still preorder Crypt Run. When a Kickstarter project ends, it can no longer be edited, so this ship has sailed.&lt;/p&gt;
&lt;p&gt;There will undoubtedly still be a trickle of traffic reaching &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/1362063494&quot;&gt;the Crypt Run Kickstarter page&lt;/a&gt;, and since there isn&#39;t a prominent call-to-action to preorder, I have essentially left money on the table.&lt;/p&gt;
&lt;h2&gt;5. Wiik stretch goals&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/official-nintendo-devs/&quot;&gt;
		&lt;img alt=&quot;Nintendo authorizes Lost Decade Games&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/crOnWiiU500.png&quot; width=&quot;500&quot; height=&quot;265&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Crypt Run had weak stretch goals. They were poorly thought out from the beginning and were doomed to suck the moment I hit the &amp;quot;Launch Project&amp;quot; button. Some potential backers thought it was weird that, for example, the Linux stretch goal ($5k) was just as much as the game itself. An understandable complaint! The reason for this is that we paid for the initial development out of pocket, but we didn&#39;t have Linux support in our tech stack, so we had to have more time to support it.&lt;/p&gt;
&lt;p&gt;Our addition of &lt;a href=&quot;https://www.lostdecadegames.com/official-nintendo-devs/&quot;&gt;Wii U support&lt;/a&gt; was handled particularly poorly. Based on severely incomplete information, we came up with an unrealistic goal of &lt;strong&gt;$13.5k&lt;/strong&gt; for Wii U support. This turned off many potential Wii U backers, and probably hurt our chances of getting better coverage on gaming sites. And in the end, we still promised to deliver Crypt Run on Wii U (albeit, at a completely unknown date).&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Crypt Run Kickstarter&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/ks/pm/linux.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;At the time, we felt that it would take $5k to make that happen, a number that we &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/posts/562113&quot;&gt;changed our minds&lt;/a&gt; about during the campaign. It wouldn&#39;t surprise me a bit if some people viewed our budgeting incompetence as some type of greed, or were simply turned off by our inconsistency.&lt;/p&gt;
&lt;p&gt;For a future project, I believe we&#39;d avoid this problem entirely by simply &lt;a href=&quot;http://www.kickstarter.com/blog/think-before-you-stretch&quot;&gt;not having any stretch goals&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Result&lt;/h1&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/cryptstarter-funded/&quot;&gt;
		&lt;img alt=&quot;Crypt Run Kickstarter&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/success.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Crypt Run reached its funding goal on &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/posts/556272&quot;&gt;July 31st&lt;/a&gt;, 19 days after the campaign began. When the campaign ended, it was &lt;strong&gt;180% funded at $9,013&lt;/strong&gt;. That&#39;s just &lt;a href=&quot;http://www.youtube.com/watch?v=SiMHTK15Pik&quot;&gt;over 9,000&lt;/a&gt; and I gotta say, I really love our fans for that. Especially our good friends &lt;a href=&quot;https://twitter.com/jhuckaby&quot;&gt;Joe&lt;/a&gt; and &lt;a href=&quot;http://www.photonstorm.com/&quot;&gt;Rich&lt;/a&gt;, who awesomely lobbed us over some important milestones.&lt;/p&gt;
&lt;p&gt;In my mind, the crowdfunding campaign was a complete success. On top of being able to spend more time developing Crypt Run, we also increased the size of our audience. I&#39;m kicking myself for not counting our followers across the various social networks before the campaign began. It would have been great to know the exact numbers, but I&#39;m pretty familiar with them, so I can provide a decent guess:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;~100 new &lt;a href=&quot;https://twitter.com/LostDecadeGames&quot;&gt;Twitter&lt;/a&gt; followers&lt;/li&gt;
&lt;li&gt;~50 new &lt;a href=&quot;https://www.facebook.com/LostDecadeGames&quot;&gt;Facebook&lt;/a&gt; likes&lt;/li&gt;
&lt;li&gt;~25 new &lt;a href=&quot;http://www.youtube.com/LostDecadeGames&quot;&gt;YouTube&lt;/a&gt; subscribers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These numbers may seem low to people at larger companies, but to a small indie studio like us, this is a healthy dose of new fans. It&#39;s clear that being noisy and focused for a solid month is beneficial not just as a funding tool, but also as a means to grow an audience.&lt;/p&gt;
&lt;p&gt;Overall we&#39;re very pleased with the results of our campaign, and quite humbled by the amazing support from our small but loyal fanbase. Crypt Run&#39;s successful crowdfunding almost certainly sets the stage for another campaign from Lost Decade Games, but before we can even think about that, we&#39;ve got a game to finish!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>The making of the Waveform 4 album cover</title>
		<link href="https://www.lostdecadegames.com/waveform-4-album-cover/"/>
		<updated>2013-08-25T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/waveform-4-album-cover/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/waveform-4&quot;&gt;
		&lt;img alt=&quot;Waveform 4&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/waveform4/prod.jpg&quot; width=&quot;512&quot; height=&quot;512&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Video game composer and arranger &lt;a href=&quot;http://jmflava.com/&quot;&gt;Joshua Morse&lt;/a&gt; just released his new album &lt;a href=&quot;http://joshuamorse.bandcamp.com/album/waveform-4&quot;&gt;Waveform 4&lt;/a&gt;. It features five awesome songs (including my favorite &lt;a href=&quot;http://joshuamorse.bandcamp.com/track/you-got-me&quot;&gt;You Got Me&lt;/a&gt;) for just $4. That&#39;s cheap folks, so go buy it!&lt;/p&gt;
&lt;p&gt;Joshua tapped me to do the album art. He had the idea of a Game Boy playing drums, which is obviously an awesome idea. So first I did a quick sketch:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/waveform-4&quot;&gt;
		&lt;img alt=&quot;Waveform 4&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/waveform4/sketch.jpg&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Once Joshua gave it the thumbs up, I started placing pixels. I typically start by drawing out the silhouettes to make sure each element has a good shape and is recognizeale even without detailing. Then I decide on light sources and start to lay down pixels to represent shadows and lighting. Then I just repeat this process until I&#39;m either happy or out of time!&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/waveform-4&quot;&gt;
		&lt;img alt=&quot;Waveform 4&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/waveform4/kick.gif&quot; width=&quot;400&quot; height=&quot;361&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Below is a near-complete work-in-progress. I took another few passes at some lighting and details, and then redid the typography from scratch (I almost always need to do that, as my first pass of text is usually terrible).&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://joshuamorse.bandcamp.com/album/waveform-4&quot;&gt;
		&lt;img alt=&quot;Waveform 4&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/waveform4/wip.jpg&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;In this case, I unfortunately ran out of time before I was happy. I don&#39;t think it&#39;s a bad piece that I&#39;m ashamed of (like some of my earlier work), but I know that I can do better so I&#39;m overall disappointed with the result. What do you think? Crappy? Pretty cool?&lt;/p&gt;
&lt;p&gt;Anyway, go buy &lt;a href=&quot;http://joshuamorse.bandcamp.com/album/waveform-4&quot;&gt;Waveform 4&lt;/a&gt;, it&#39;s awesome!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Understanding Canvas Rotation</title>
		<link href="https://www.lostdecadegames.com/understanding-canvas-rotation/"/>
		<updated>2013-08-30T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/understanding-canvas-rotation/</id>
		<content type="html">&lt;p&gt;&lt;em&gt;From time to time, we get reader or listener email asking about various aspects of developing games in HTML5. Instead of responding directly, we prefer to put the answers up on our blog in case the information can help other developers.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Transformations in canvas can be tricky to understand at first. Conceptually, most people tend to think about rotating and scaling individual images. They&#39;re often surprised and confused when the canvas API transforms their entire game when calling &lt;code&gt;.rotate&lt;/code&gt; or &lt;code&gt;.scale&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The only way to transform images in canvas is by modifying the entire canvas. The trick is that you need to modify the canvas context just before you draw a transformed image and reset it right after. This is where the &lt;code&gt;.save&lt;/code&gt; and &lt;code&gt;.restore&lt;/code&gt; methods come in.&lt;/p&gt;
&lt;p&gt;Saving a canvas context stores the current configuration, including transformations (or lack thereof). Restoring a canvas context does just the opposite, resetting the current configuration to the last saved state.&lt;/p&gt;
&lt;p&gt;Another gotcha for transformation is that by default, all transformations occur from the origin of 0, 0 on the canvas, which is the upper left. The most common use case for rotation and scaling is from the center of an individual image such as a game sprite. Luckily, there&#39;s another canvas method we can use to change the transformation origin, &lt;code&gt;.translate&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Let&#39;s take a look at how we&#39;d achieve a simple rotation of a rectangle. Inline comments in the code explain what&#39;s happening in more detail.&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Create our canvas&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// Append it to the document body&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; stage &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;canvas&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
stage&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;width &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;320&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
stage&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;height &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;240&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;body&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;appendChild&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;stage&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Grab a reference to the canvas&#39; 2D context&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; ctx &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; stage&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getContext&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;2d&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Paint a background color&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;fillStyle &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;cornflowerblue&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fillRect&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; stage&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;width&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; stage&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;height&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Draw a non-transformed red rectangle on the left&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;fillStyle &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;red&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fillRect&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Now, let&#39;s draw a rotated&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// yellow rectangle on the right&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// First, let&#39;s save our canvas context in order to&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// easily restore it after our transformations&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Next, we&#39;ll translate (move the origin) to the&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// center of where we&#39;ll be drawing the rectangle&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;translate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;240&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Any transformations applied from here on out&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// will be relative to the origin of 240, 120&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// Note that we&#39;re using radians to specify rotation&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;rotate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Math&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;PI&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// 45 degrees&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// If we desired to scale the rectangle&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// 1.5x normal size on both the x and y axis&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// ctx.scale(1.5, 1.5);&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Now we&#39;re ready to draw our rectangle&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// The difference this time is that our coordinates&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// are relative to the origin, just like .rotate&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;fillStyle &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;yellow&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;fillRect&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Finally, we restore our canvas context so&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// that subsequent draws are not transformed&lt;/span&gt;
ctx&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;restore&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Tada! A rotated rectangle without rotating the entire canvas.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;A simple example of a transformed rectangle in canvas&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/canvasTransform/simpleCanvasTransform.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Here&#39;s a &lt;a href=&quot;https://gist.github.com/geoffb/6392450&quot;&gt;gist of the entire sample code&lt;/a&gt;. Check out this &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/Guide/Graphics/Drawing_graphics_with_canvas#Graphics_State&quot;&gt;canvas graphics article on MDN&lt;/a&gt; for more information.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Wish Geoff a happy birthday by playing as him in the Crypt Run alpha</title>
		<link href="https://www.lostdecadegames.com/geoff-run/"/>
		<updated>2013-09-16T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/geoff-run/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;
		&lt;img alt=&quot;Crypt Run -- play as Geoff&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/geoffRunTitle.jpg&quot; width=&quot;500&quot; height=&quot;150&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;It&#39;s Geoff&#39;s birthday! He&#39;s 96 or something. Here at Lost Decade, it&#39;s kind of a tradition to give each other company-branded products (shirts, stickers, etc.), but we&#39;re especially poor at the moment, so instead I animated him and stuck him in Crypt Run. What fun!&lt;/p&gt;
&lt;p&gt;For Geoff&#39;s birthday last year, I &lt;a href=&quot;https://www.lostdecadegames.com/geoff-lava-bladed/&quot;&gt;added a sprite of him to Lava Blade&lt;/a&gt; (a graphic we didn&#39;t use until we &amp;quot;launched&amp;quot; &lt;a href=&quot;https://www.lostdecadegames.com/play-treasure-geoff/&quot;&gt;Treasure Geoff&lt;/a&gt;). We&#39;ve come a long way since then! At the time, &lt;a href=&quot;https://www.lostdecadegames.com/geoff-run/&quot;&gt;Lava Blade&lt;/a&gt; was being built as a side-scrolling platformer, and we now know how that went…&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/geoffRunScreenshot.png&quot;&gt;
		&lt;img alt=&quot;Crypt Run -- play as Geoff&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/geoffRunThumb.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;In the next build going out soon, &lt;a href=&quot;http://www.cryptrun.com/&quot;&gt;Crypt Run early alpha users&lt;/a&gt; can type &amp;quot;ldgeoff&amp;quot; and their player avatar will turn into Geoff. Good Geoff-related times are to be had by all. Will we introduce some secret that only Geoff can unlock?!&lt;/p&gt;
&lt;p&gt;Be sure to wish Geoff a happy birthday on &lt;a href=&quot;https://twitter.com/geoffblair&quot;&gt;Twitter&lt;/a&gt; or the LDG &lt;a href=&quot;https://forum.lostdecadegames.com/&quot;&gt;forum&lt;/a&gt;!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Crypt Run is now A Wizard&#39;s Lizard</title>
		<link href="https://www.lostdecadegames.com/crypt-run-is-now-a-wizards-lizard/"/>
		<updated>2013-10-21T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/crypt-run-is-now-a-wizards-lizard/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;
		&lt;img alt=&quot;A Wizard&#39;s Lizard&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/wizliz/boxart.png&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Big news! Our &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;Kickstarter-backed game Crypt Run&lt;/a&gt; is now called &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt;. Why change the name?&lt;/p&gt;
&lt;p&gt;This isn&#39;t a decision that we made lightly. We&#39;ve been pushing this game for some time, and it&#39;s not really resonating with the press. We&#39;re grateful for the coverage we&#39;ve been able to get, but the reality is that this game needs to find a big audience in order to be able to support us.&lt;/p&gt;
&lt;p&gt;Our feeling is that &amp;quot;A Wizard&#39;s Lizard&amp;quot; has more personality and is more memorable than &amp;quot;Crypt Run&amp;quot;. Additionally, it works great with our new narrative where players take on the role of a lizard transformed into a humanoid!&lt;/p&gt;
&lt;p&gt;Here&#39;s a teaser from the upcoming storyline:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You are Raga, the lizard familiar of a respected wizard in the town of Amberfall. When your master unlocks the magic of eternal life, Death is offended and takes him away. In the turmoil, a magical shape-changing potion spills on you, transforming your figure into a humanoid! In this action RPG, wield powerful weapons and battle monstrous beasts as you avenge your master and conquer Death!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;New release date&lt;/h2&gt;
&lt;p&gt;The bad news is that we&#39;re pushing the release date back. Why?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;We&#39;ve had the good fortune of being invited to participate in the &lt;a href=&quot;http://html5devconf.com/&quot;&gt;HTML5 Developer Conference&#39;s&lt;/a&gt; 2013 keynote. This is a great opportunity for Lost Decade Games but has had the unfortunate side effect of taking up a bunch of our dev time.&lt;/li&gt;
&lt;li&gt;Halloween seems like a great date to launch a grizzly game about death, but actually it&#39;s pretty bad from a marketing perspective. For one, a Thursday before an event-packed weekend is a lousy time to launch any game. Additionally, this date conflicts heavily with the gaming industry&#39;s launch of new consoles (including PS4, Xbone, and Steam Box).&lt;/li&gt;
&lt;li&gt;We&#39;re behind! Making games is hard, and we&#39;re terrible estimators of how long this stuff takes. Our apologies for not making this goal, and we plan to make it up to you in spades.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The good news is that we&#39;ll be working on the game longer, making it much better for you! Our hope is to do the big launch in &lt;strong&gt;Q1 2014&lt;/strong&gt;. Also, that means more updates for you wonderful Early Access gamers (both from Kickstarter and Humble).&lt;/p&gt;
&lt;h2&gt;Beta release coming early November&lt;/h2&gt;
&lt;p&gt;To make up for our slowness, we&#39;ll be pushing out a beta version of &lt;strong&gt;A Wizard&#39;s Lizard&lt;/strong&gt; in early November. This won&#39;t be a complete game of course, but will allow us to deliver a timely experience to those of you who are expecting it.&lt;/p&gt;
&lt;p&gt;Check out the &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;new website&lt;/a&gt; and let us know your thoughts!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>A Wizard&#39;s Lizard Art Asset Overview</title>
		<link href="https://www.lostdecadegames.com/awl-art-assets/"/>
		<updated>2013-11-16T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/awl-art-assets/</id>
		<content type="html">&lt;p&gt;We&#39;re working hard on finishing &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt; (previously &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;Crypt Run&lt;/a&gt;) and I thought it might be fun to visualize how much content this game has so far. Below are incomplete samplings of some of the monsters, objects, traps, weapons, and characters we&#39;ve added so far:&lt;/p&gt;
&lt;h2&gt;Monsters&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;
		&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/assets/monsters.png&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;There are currently over &lt;strong&gt;30 monsters&lt;/strong&gt; in A Wizard&#39;s Lizard, and we haven&#39;t even finished the boss encounters yet!&lt;/p&gt;
&lt;h2&gt;Objects&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;
		&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/assets/objects.png&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Objects include stuff like barrels, chests, treasure, tables, pots, jars… fun thematic stuff!&lt;/p&gt;
&lt;h2&gt;Traps&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;
		&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/assets/traps.png&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;These are the elements in the game that players might not be forced to deal with, but can be quite dangerous if they do!&lt;/p&gt;
&lt;h2&gt;Weapons&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;
		&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/assets/weapons.png&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Who doesn&#39;t love a good weapon?! A Wizard&#39;s Lizard has swords, axes, daggers, lances, boomerangs, shovels, tridents… you name it!&lt;/p&gt;
&lt;h2&gt;Characters&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;
		&lt;img alt=&quot;&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/assets/characters.png&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We&#39;re only just now starting to flesh out characters with actual stories and player interaction, but we frontloaded a bunch of the artwork for them.&lt;/p&gt;
&lt;p&gt;We&#39;ll be releasing a beta build of &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt; to ALL preorders next week, so be sure to &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;preorder&lt;/a&gt; if you haven&#39;t yet! This build will also include a bunch of &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;Kickstarter&lt;/a&gt; backer paintings, for which I&#39;ll probably make another post. Fun times ahead!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>What it was like making HTML5 games in 2013</title>
		<link href="https://www.lostdecadegames.com/what-2013-was-like-html5/"/>
		<updated>2013-12-20T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/what-2013-was-like-html5/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/&quot;&gt;
		&lt;img alt=&quot;What it was like making HTML5 games in 2013&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/2013/header.jpg&quot; width=&quot;500&quot; height=&quot;340&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;As the year comes to an end, we at &lt;a href=&quot;https://www.lostdecadegames.com/&quot;&gt;Lost Decade Games&lt;/a&gt; like to take a step back to see what kind of progress we&#39;ve made. One of the (few) unique aspects about our game studio is that we have chosen HTML5 as our development platform, a highly controversial technology. Let&#39;s take a look and see how HTML5 has served us this year.&lt;/p&gt;
&lt;h1&gt;How was HTML5 as a platform?&lt;/h1&gt;
&lt;p&gt;Technology is arguably the most important consideration when choosing a platform to develop on. If the tech is too hard to work with, it could compromise one&#39;s ability to ship a quality experience. If the tech isn&#39;t stable and robust, surely it&#39;ll crack under the pressure of a large gaming audience!&lt;/p&gt;
&lt;p&gt;The good news is that HTML5 on desktop is “ready” for prime time. Using the fantastic open source framework &lt;a href=&quot;https://github.com/rogerwang/node-webkit&quot;&gt;node-webkit&lt;/a&gt;, we&#39;ve been distributing desktop binaries on Windows, Mac OS X, and Linux for most of this year. All of our video, audio, input, and rendering demands have been met by HTML5. Performance is reasonable, development is fast, and our customers&#39; feedback has been overwhelmingly positive.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;
		&lt;img alt=&quot;A Wizard&#39;s Lizard running in its own desktop wrapper&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/2013/awl.png&quot; width=&quot;500&quot; height=&quot;345&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;I&#39;m happy to report that our current mountain of problems on desktop has nothing to do with the technology, and everything to do with design, marketing, and distribution. The same problems everyone has!&lt;/p&gt;
&lt;p&gt;To distribute our HTML5 games on Google Play and the iOS App Store, we use Ludei&#39;s &lt;a href=&quot;https://www.ludei.com/cocoonjs/&quot;&gt;CocoonJS&lt;/a&gt;, which is an impressive and powerful product. Our HTML5 games work great for the most part, but performance can be a problem if your game is doing tons of computing or image compositing (which games tend to do). Simple 2d HTML5 games can be made quickly and efficiently, and distributed on native mobile stores. We&#39;re very close to that “holy grail” of easy cross-platform development, and it&#39;s pretty great.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lava blade on iPhone?&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/2013/lavaBlade.png&quot; width=&quot;500&quot; height=&quot;258&quot; /&gt;
&lt;/div&gt;
&lt;h1&gt;How was the tooling?&lt;/h1&gt;
&lt;p&gt;HTML5 tooling has a long way to go. Flash developers are accustomed to having a rich IDE at their fingertips, and many of these developers making the move to HTML5 may be sorely disappointed by the lack of mature tools available.&lt;/p&gt;
&lt;p&gt;We&#39;ve been iterating on our own internal tools for about three years now, including a full-featured game engine, build scripts, and a skeletal animation editor. These things we&#39;ve built for ourselves are good enough for our specific purposes, but studios new to the HTML5 scene will likely want to use pre-existing tools.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://twitter.com/richtaur/status/391264175474757632/photo/1&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games&#39; Doll Animation Tool&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/2013/dat.png&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Regarding engines, &lt;a href=&quot;http://impactjs.com/&quot;&gt;ImpactJS&lt;/a&gt; was the leader of the pack in 2013, despite the $99 USD price tag. &lt;a href=&quot;http://phaser.io/&quot;&gt;Phaser&lt;/a&gt; has been picking up steam as an open source alternative, and there are many other solid choices. The tooling has a long way to go, but things are looking bright for the future, with offerings like Intel&#39;s &lt;a href=&quot;http://xdk-software.intel.com/&quot;&gt;XDK&lt;/a&gt; and PlayCanvas&#39;s &lt;a href=&quot;http://playcanvas.com/&quot;&gt;cloud-based IDE&lt;/a&gt; pushing forward every day.&lt;/p&gt;
&lt;h1&gt;How did we make money?&lt;/h1&gt;
&lt;p&gt;As with any technology, there are many different approaches to monetizing software. HTML5 doesn&#39;t really have any limitations here, as it&#39;s perfectly capable of supporting premium downloads, F2P with IAP, subscription models, or probably any other crazy scheme. That said, monetizing consumer products is hard, and this year it was worlds easier to make money with HTML5 games through B2B deals.&lt;/p&gt;
&lt;p&gt;Below is a pie chart breakdown of our revenue from 2013:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;Lost Decade Games 2013 revenue pie chart&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/2013/revenue.png&quot; width=&quot;500&quot; height=&quot;300&quot; /&gt;
&lt;/div&gt;
&lt;h2&gt;Development Contracts&lt;/h2&gt;
&lt;p&gt;Contracts are primarily what kept us afloat in 2013. This essentially equates to other companies that have either already figured out the best way to monetize HTML5 games or (more often) they are flush with capital and eager to experiment in the space. These contracts tend to pay similar to what we used to make as web developers in Silicon Valley, but they also take up the lion&#39;s share of our time. It&#39;s closer to “employment” than we&#39;d like to be, and probably where a lot of indies find themselves these days.&lt;/p&gt;
&lt;p&gt;There&#39;s lots of interest in HTML5 from companies with money, and from what we&#39;ve seen, they&#39;re spending more on contracts each year.&lt;/p&gt;
&lt;h2&gt;Licenses&lt;/h2&gt;
&lt;p&gt;HTML5 gaming portals are popping up everywhere. They typically pay a one-time non-exclusive licensing fee for a quality mobile HTML5 game, ranging drastically in price. From what we&#39;ve seen, an individual license could earn between $350-$2k USD, depending on the quality of the game and success of the partner. (These numbers will likely decrease as more developers saturate the market.) Many portals offer revenue split only, from which we&#39;ve never seen better pay than the one-time fee.&lt;/p&gt;
&lt;p&gt;These licenses seem like easy money on the surface, and once in a blue moon they are. The vast majority of licenses, however, end up being bloody time vampires. Portals usually want support for a dozen or more devices, going back as far as Android 2.1 and iOS 3 (these devices are slow and have pitiful audio support). Since many of these portals are brand new, they tend to be very volatile. We&#39;ve experienced companies switching contacts multiple times, pivoting away from HTML5, and even shutting down entirely during discussions.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.escapistmagazine.com/content/indie-speed-run/?game=250&quot;&gt;
		&lt;img alt=&quot;Lost Decade Games&#39; Doll Animation Tool&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/2013/rttj.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;These issues make it difficult to actually profit from licenses. Still, licenses were the easiest way to make money with HTML5 games in 2013.&lt;/p&gt;
&lt;h2&gt;Consumers&lt;/h2&gt;
&lt;p&gt;Developing and marketing HTML5 games directly to consumers? Good luck! You&#39;re in the same crowded market as the rest of the world. HTML5 has some advantages, such as being able to provide a demo instantly in the browser, but are &lt;a href=&quot;http://www.gamasutra.com/blogs/CaspianPrince/20130605/193709/The_Demo_Is_Dead_Part_2.php&quot;&gt;demos even worthwhile&lt;/a&gt; for developers? We got a big spike in this category by running our &lt;a href=&quot;http://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;Kickstarter&lt;/a&gt; for &lt;strike&gt;Crypt Run&lt;/strike&gt; &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt; earlier this year. Additional sales have all come through Humble widgets and &lt;a href=&quot;http://www.lunchbug.com/&quot;&gt;IAP&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;What games did we make?&lt;/h1&gt;
&lt;p&gt;One way to measure the effectiveness of a platform is to look at how productive its developers have been. So what was our output from 2013? Here is an incomplete list of the games we made:&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/&quot;&gt;
		&lt;img alt=&quot;LDG games in 2013&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/2013/games.jpg&quot; width=&quot;500&quot; height=&quot;611&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Lava Blade&lt;/strong&gt; (turn-based strategy RPG, launched via our own &lt;a href=&quot;http://www.lavablade.com/&quot;&gt;Humble widget&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rampart Rush&lt;/strong&gt; (unreleased, got tied up in publishing deals)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Retreat to the Jeep!&lt;/strong&gt; (&lt;a href=&quot;http://www.escapistmagazine.com/content/indie-speed-run/?game=250&quot;&gt;Indie Speed Run 2013 entry&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Midtown Mayhem&lt;/strong&gt; (unreleased, also tied up in publishing deals)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These games were developed while handling dozens of licenses and creating many &lt;a href=&quot;https://chrome.google.com/webstore/detail/treasure-goblin/jgjgnceamhgknelfkpbhebhnphaeefho?hl=en-US&quot;&gt;prototypes&lt;/a&gt; to sharpen our skills and tools. Additionally, throughout almost the entire year we were developing &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt; in one form or another. Any studio can always be more productive, but we&#39;re satisfied with what we were able to build on HTML5 this year.&lt;/p&gt;
&lt;h1&gt;Summary&lt;/h1&gt;
&lt;p&gt;I believe 2013 was the year we started to see the gradual transition from experimental HTML5 games to production-quality HTML5 games. The tooling has a long way to go, but the money is there if you do quality work. Overall, it was a good year for HTML5 gaming.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>A Wizard&#39;s Lizard 1.0.185</title>
		<link href="https://www.lostdecadegames.com/awl-1-0-185/"/>
		<updated>2014-02-02T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/awl-1-0-185/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;img alt=&quot;A Wizard&#39;s Lizard scene by Mike Hackett&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/scene500.jpg&quot; width=&quot;500&quot; height=&quot;323&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;It&#39;s been over a week since we launched &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt;, and it&#39;s been going fairly well! Our &lt;a href=&quot;http://steamcommunity.com/sharedfiles/filedetails/?id=205801629&quot;&gt;Steam Greenlight campaign&lt;/a&gt; is currently ranked #80 out of all the games on Greenlight, and we&#39;ve even seen a healthy dose of sales thanks to attention from &lt;a href=&quot;http://www.twitch.tv/cobaltstreak&quot;&gt;popular&lt;/a&gt; &lt;a href=&quot;http://www.twitch.tv/lethalfrag/b/499818127&quot;&gt;streamers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We&#39;ve been hard at work zapping bugs and adding new features to keep up with player demand. The latest version has over &lt;strong&gt;50 incremental changes&lt;/strong&gt;, including:&lt;/p&gt;
&lt;h2&gt;Items&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Be Your Best (book)&lt;/li&gt;
&lt;li&gt;Demon Spear&lt;/li&gt;
&lt;li&gt;Demon Sword&lt;/li&gt;
&lt;li&gt;Detox Potion&lt;/li&gt;
&lt;li&gt;Elvish Tunic&lt;/li&gt;
&lt;li&gt;Heat Axe&lt;/li&gt;
&lt;li&gt;Magic Book&lt;/li&gt;
&lt;li&gt;Mithril Mail&lt;/li&gt;
&lt;li&gt;Scythe&lt;/li&gt;
&lt;li&gt;Self Improvement (book)&lt;/li&gt;
&lt;li&gt;Spiked Lantern&lt;/li&gt;
&lt;li&gt;Spiked armor (5 piece set)&lt;/li&gt;
&lt;li&gt;Vampire Crown&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot;Otter trap&amp;quot;&lt;/li&gt;
&lt;li&gt;Clearer/better stats in menu&lt;/li&gt;
&lt;li&gt;Display total wins/deaths&lt;/li&gt;
&lt;li&gt;Key pentacle health restoration amount off of player magic&lt;/li&gt;
&lt;li&gt;Magic property&lt;/li&gt;
&lt;li&gt;Pick a random character&lt;/li&gt;
&lt;li&gt;Random Zombie Warlord room layouts&lt;/li&gt;
&lt;li&gt;Redesign access to Den of Thieves&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;…and LOTS of bug fixes/general improvements. Have a request? Please let us know on the &lt;a href=&quot;https://forum.lostdecadegames.com/category/1/a-wizards-lizard&quot;&gt;AWL forum&lt;/a&gt;. GAME ON!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Asylum Night graphics are now free to use</title>
		<link href="https://www.lostdecadegames.com/asylum-night-graphics/"/>
		<updated>2014-04-16T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/asylum-night-graphics/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://opengameart.org/content/asylum-night&quot;&gt;
		&lt;img alt=&quot;Asylum Night on Open Game Art&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/asylumNight/banner.jpg&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Remember &lt;a href=&quot;https://asylumnight.lostdecadegames.com/&quot;&gt;Asylum Night&lt;/a&gt;? We made it a while ago as part of &lt;a href=&quot;https://twitter.com/IndieSpeedRun&quot;&gt;Indie Speed Run&lt;/a&gt;, a 48-hour game jam. We were randomly given the theme &amp;quot;telepathy&amp;quot; and the element &amp;quot;booby-traps&amp;quot; which we had to use in the game. (It also needed to be mobile-friendly so we could license it to portal companies, an internal requirement.)&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://opengameart.org/content/asylum-night&quot;&gt;
		&lt;img alt=&quot;Asylum Night sprite&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/asylumNight/sprite.png&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;What we came up with is a weird riff on a game Geoff and I both love: Plants VS Zombies. And now the graphics in &lt;strong&gt;Asylum Night&lt;/strong&gt; are free for anyone to use! The &lt;a href=&quot;https://creativecommons.org/licenses/by/4.0/&quot;&gt;license&lt;/a&gt; is straight-forward: you can display, distribute, remix, profit, whatever you wanna do, please just attribute &amp;quot;Original artwork by Lost Decade Games&amp;quot; and we&#39;re solid.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://opengameart.org/content/asylum-night&quot;&gt;Get the graphics on Open Game Art&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>A Wizard&#39;s Lizard: Immortal Edition launches June 16</title>
		<link href="https://www.lostdecadegames.com/awl-immortal-edition/"/>
		<updated>2014-06-04T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/awl-immortal-edition/</id>
		<content type="html">&lt;p&gt;You knew &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt; was coming to Steam because it was &lt;a href=&quot;http://steamcommunity.com/sharedfiles/filedetails/?id=205801629&quot;&gt;greenlit&lt;/a&gt; back in February. However! Did you know that there have since been &lt;strong&gt;four additional months&lt;/strong&gt; of hardcore development? New content, features, abilities... there&#39;s so much stuff we decided to call this update...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A Wizard&#39;s Lizard: Immortal Edition&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;Seriously, look at all this great new stuff:&lt;/p&gt;
&lt;h2&gt;Meaner Bosses&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/fullsize/bosses.jpg&quot;&gt;
		&lt;img alt=&quot;A Wizard&#39;s Lizard: Immortal Edition&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/thumbs/bosses.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
	&lt;p&gt;
		The Zombie Warlord, Sewer Hag, Death, two crystal bosses and others have all seen improvements. Their behavior is more varied and less repetitive.
	&lt;/p&gt;
&lt;/div&gt;
---
&lt;h2&gt;Puzzles and Mini-Games&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/fullsize/secrets.jpg&quot;&gt;
		&lt;img alt=&quot;A Wizard&#39;s Lizard: Immortal Edition&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/thumbs/secrets.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
	&lt;p&gt;
		Pressure plates, puzzle rooms, gravity fans, and bear traps now guarantee chaotic good times.
	&lt;/p&gt;
&lt;/div&gt;
---
&lt;h2&gt;Quality-of-Life Settings&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/fullsize/settings.jpg&quot;&gt;
		&lt;img alt=&quot;A Wizard&#39;s Lizard: Immortal Edition&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/thumbs/settings.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
	&lt;p&gt;
		You spoke, we listened! Custom keyboard configuration, gamepad sensitivity, mouse support, volume sliders, and more will make your dungeon crawling life easier.
	&lt;/p&gt;
&lt;/div&gt;
---
&lt;h2&gt;New Monsters&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/fullsize/monsters.jpg&quot;&gt;
		&lt;img alt=&quot;A Wizard&#39;s Lizard: Immortal Edition&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/thumbs/monsters.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
	&lt;p&gt;
		Giant Flaming Skulls, Green Slimes, exploding mushrooms, and [spoiler alert]!
	&lt;/p&gt;
&lt;/div&gt;
---
&lt;h2&gt;Soul Blast Ability&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/fullsize/soulBlast.jpg&quot;&gt;
		&lt;img alt=&quot;A Wizard&#39;s Lizard: Immortal Edition&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/thumbs/soulBlast.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
	&lt;p&gt;
		The new Soul Blast ability fires soul energy from the player, damaging nearby monsters. Power it up with magic items!
	&lt;/p&gt;
&lt;/div&gt;
---
&lt;h2&gt;Totems&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/fullsize/totems.jpg&quot;&gt;
		&lt;img alt=&quot;A Wizard&#39;s Lizard: Immortal Edition&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/thumbs/totems.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
	&lt;p&gt;
		Totems can be stuck in the ground, after which they&#39;ll blast fire, freeze monsters, poison baddies, and more!
	&lt;/p&gt;
&lt;/div&gt;
---
&lt;h2&gt;Big Explosions&lt;/h2&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/fullsize/explosions.jpg&quot;&gt;
		&lt;img alt=&quot;A Wizard&#39;s Lizard: Immortal Edition&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/immortal/thumbs/explosions.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
	&lt;p&gt;
		If you like blowing stuff up, we&#39;ve got you covered. &quot;Boom Barrel&quot; rooms abound in &lt;em&gt;A Wizard&#39;s Lizard: Immortal Edition&lt;/em&gt;!
	&lt;/p&gt;
&lt;/div&gt;
&lt;h2&gt;On Humble and Steam June 16&lt;/h2&gt;
&lt;p&gt;That&#39;s a lot of stuff! So even if you&#39;ve been enjoying wizards and lizards for a few months now, you&#39;re certain to have fun new adventures with this big update. Look for it on both &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;Humble&lt;/a&gt; and &lt;a href=&quot;http://store.steampowered.com/app/280040/&quot;&gt;Steam&lt;/a&gt; on &lt;strong&gt;June 16, 2014&lt;/strong&gt;.&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>Celebrate independence with a Skyrocket</title>
		<link href="https://www.lostdecadegames.com/awl-skyrocket/"/>
		<updated>2014-07-04T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/awl-skyrocket/</id>
		<content type="html">&lt;p&gt;Whether you celebrate July 4th or not, independence is a grand thing. We here at Lost Decade Games care deeply about independence, and indie games are a fun way to express that.&lt;/p&gt;
&lt;p&gt;To celebrate properly, we&#39;ve added a new Skyrocket weapon to &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt;. It&#39;s available for purchase in town. If you can&#39;t afford it yet, you might need to explore the dungeons to see if any grateful hostages might contribute to your cause…&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;
		&lt;img alt=&quot;Skyrocket in AWL&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/skyrocket.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;
	&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Happy 4th, happy gaming, and thanks for all your incredible support!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>A Wizard&#39;s Lizard by the numbers: our HTML5 game on Steam</title>
		<link href="https://www.lostdecadegames.com/awl-numbers/"/>
		<updated>2014-10-08T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/awl-numbers/</id>
		<content type="html">&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;&lt;img alt=&quot;A Wizard&#39;s Lizard&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/numbers/awl.jpg&quot; width=&quot;500&quot; height=&quot;299&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;A Wizard&#39;s Lizard&lt;/a&gt; is an action roguelike where players control a pet lizard, made by a small, independent game studio in California called &lt;a href=&quot;https://www.lostdecadegames.com/about/&quot;&gt;Lost Decade Games&lt;/a&gt;. Our mission was to make a solid desktop game that would pave the way for our next project, and help our studio thrive. Let&#39;s examine the numbers to see how we did.&lt;/p&gt;
&lt;h2&gt;Kickstarter&lt;/h2&gt;
&lt;p&gt;We first &lt;a href=&quot;https://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning&quot;&gt;Kickstarted the project as Crypt Run&lt;/a&gt; in July 2013, earning $9,013 during its 30-day funding period. Part of the campaign&#39;s success is likely due to our &lt;a href=&quot;https://www.lostdecadegames.com/cax-2013-photos/&quot;&gt;live demo at California Extreme&lt;/a&gt;, an annual arcade and pinball expo.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.lostdecadegames.com/cax-2013-photos/&quot;&gt;&lt;img alt=&quot;CAX 2013&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/cryptRun/cax/thumbs/2013.07.14..18.50.25.jpg&quot; width=&quot;500&quot; height=&quot;333&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;During the funding campaign, we met Greg Love of &lt;a href=&quot;http://whippering.com/&quot;&gt;Whippering&lt;/a&gt; and started working together on marketing and business development. Greg has been a huge help with marketing, press and &lt;a href=&quot;https://www.youtube.com/user/lostdecadegames&quot;&gt;YouTube&lt;/a&gt; outreach, as well as general consultation. (He even &lt;a href=&quot;http://blog.whippering.com/post/89985226380/the-launch-of-a-wizards-lizard&quot;&gt;presented a talk&lt;/a&gt; about the business behind the launch, with even more lovely charts and numbers!)&lt;/p&gt;
&lt;p&gt;Around this time we also decided to &lt;a href=&quot;https://www.kickstarter.com/projects/richtaur/crypt-run-death-is-just-the-beginning/posts/636785&quot;&gt;change the name&lt;/a&gt; of the game from Crypt Run to A Wizard&#39;s Lizard. We agonized over this decision, but ultimately felt it was best, as it made the game much more &lt;a href=&quot;https://twitter.com/SusanArendt/status/421697245021765632&quot;&gt;memorable&lt;/a&gt; and helped introduce a compelling main character.&lt;/p&gt;
&lt;h2&gt;Steam Greenlight and Humble&lt;/h2&gt;
&lt;p&gt;On January 8th we launched our &lt;a href=&quot;http://steamcommunity.com/sharedfiles/filedetails/?id=205801629&quot;&gt;Steam Greenlight campaign&lt;/a&gt;, which was successful on February 19th. Some of our developer friends have had games on Greenlight for more than a year, so we feel really grateful that we were able to move through this painful process quickly. Many votes came from the gaming communities of Twitch streamers &lt;a href=&quot;http://www.twitch.tv/cobaltstreak&quot;&gt;CobaltStreak&lt;/a&gt; and &lt;a href=&quot;http://www.twitch.tv/lethalfrag&quot;&gt;Lethalfrag&lt;/a&gt;. If not for them, who knows? Maybe we&#39;d still be slowly crawling up the Greenlight charts.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://blog.whippering.com/post/89985226380/the-launch-of-a-wizards-lizard&quot;&gt;&lt;img alt=&quot;AWL sales&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/numbers/greenlightChart.jpg&quot; width=&quot;500&quot; height=&quot;259&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;On January 22nd, we launched A Wizard&#39;s Lizard on our own &lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;website&lt;/a&gt; with a Humble widget, selling 516 copies in the first month. From the Humble launch up until the Steam launch, we sold 859 copies.&lt;/p&gt;
&lt;h2&gt;Steam launch&lt;/h2&gt;
&lt;p&gt;A Wizard&#39;s Lizard &lt;a href=&quot;http://steamcommunity.com/games/280040/announcements/detail/1516899696886115886&quot;&gt;launched on Steam&lt;/a&gt; June 16th, at $14.99, but this time with a 34% launch discount (actual price: $9.89). As does any new game on Steam, we received homepage placement, a valuable and coveted position. Fortunately, we were able to stay above the average conversion rate, so our time on the homepage was extended by about 40x what we would have received if our game was not performing well.&lt;/p&gt;
&lt;p&gt;A large part of our initial launch success is due to the wonderful YouTuber and Twitch communities, especially Northernlion who did a &lt;a href=&quot;https://www.youtube.com/playlist?list=PL1bauNEiHIgzILSj4Z4yECli8SUyjaiRv&quot;&gt;series on A Wizard&#39;s Lizard&lt;/a&gt;. Video content creators are probably the primary way games discover our game, so we&#39;re really grateful for coverage. In the first 72 hours on Steam, we sold 6,340 copies. And then...&lt;/p&gt;
&lt;h2&gt;Steam Summer Sale&lt;/h2&gt;
&lt;p&gt;The Steam Summer Sale made us really nervous: would our new, small game disappear in the vast ocean of prolific games with deep discounts? The massive Steam sale began Thursday, June 19th, just three days after our launch.&lt;/p&gt;
&lt;p&gt;Immediately we started off on the wrong foot -- we set &amp;quot;34%&amp;quot; for our Steam Summer Sale discount, the same as our launch sale. Our thinking was we&#39;d just continue with the launch sale through the SSS. But nope! The discounts stack, and so A Wizard&#39;s Lizard was 68% off for a short period, causing some unhappy tweets from early supporters.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;https://www.facebook.com/Allgro/photos/pb.496019213768032.-2207520000.1412794943./713686848667933/&quot;&gt;&lt;img alt=&quot;AWL art by Allan Ohr&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/numbers/death.jpg&quot; width=&quot;500&quot; height=&quot;364&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;We brought the discount back down to 34% as intended within one hour, during which we moved 528 units. Previous to that spike, our hourly high was 428 units right at launch!&lt;/p&gt;
&lt;p&gt;During the Steam Summer Sale we sold 5,834 copies in total. It&#39;s tough to say if we would have moved more units if SSS hadn&#39;t taken place so soon after our launch, but our conversion rate was slipping, so we likely wouldn&#39;t have had homepage placement for much longer anyway.&lt;/p&gt;
&lt;p&gt;In our first week on Steam, we sold 8,344 units. The excitement over the Steam launch also brought in additional Humble interest, netting another 541 sales during that week on Humble.&lt;/p&gt;
&lt;h2&gt;Our own Steam sale&lt;/h2&gt;
&lt;p&gt;Well before launch we had plans to update AWL with bug fixes and additional Steam features (trading cards are in the works!). We also wanted to add new content, which we used to couple with a sale. With this new content and another 34% discount, we brought in another 615 sales in one week.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;&lt;img alt=&quot;Skyrocket&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/numbers/skyrocket.jpg&quot; width=&quot;500&quot; height=&quot;280&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;As you can see, our ability to drive our own traffic is minimal compared to Steam&#39;s massive audience. It took us a week to drive a few more sales than our 68% discount during SSS made in just one hour!&lt;/p&gt;
&lt;h2&gt;Totals&lt;/h2&gt;
&lt;p&gt;From January 22nd to the writing of this article, we&#39;ve sold a grand total of 14,719 copies of A Wizard&#39;s Lizard. Here is a breakdown of where those sales came from.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;a href=&quot;http://www.wizardslizard.com/&quot;&gt;&lt;img alt=&quot;AWL sales&quot; src=&quot;https://www.lostdecadegames.com/media/images/posts/awl/numbers/awlPieChart.jpg&quot; width=&quot;500&quot; height=&quot;360&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Steam: 12,671&lt;/li&gt;
&lt;li&gt;Humble: 1,739&lt;/li&gt;
&lt;li&gt;Kickstarter: 309&lt;/li&gt;
&lt;li&gt;Total: 14,719&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What&#39;s next?&lt;/h2&gt;
&lt;p&gt;There will probably be another Steam Winter Sale, and as you saw above, Steam accounts for 86% of our sales, so you bet we&#39;ll participate if we can! We also hope to drive more interest with even more content, such as a Halloween-themed boss encounter, but our ability to continue work on the game depends on how it performs in the market.&lt;/p&gt;
&lt;p&gt;I believe if nothing else our experience confirms what we&#39;ve heard from other indies, which is that &lt;a href=&quot;http://store.steampowered.com/app/280040/&quot;&gt;Steam&lt;/a&gt; is the place for desktop games to be. Hopefully this information will help other developers out there. We also share this kind of information on our &lt;a href=&quot;https://www.lostdecadegames.com/lostcast/&quot;&gt;podcast&lt;/a&gt; and on &lt;a href=&quot;https://twitter.com/LostDecadeGames&quot;&gt;Twitter&lt;/a&gt;, if those sorts of things interest you. Game on!&lt;/p&gt;
</content>
	</entry>
	
	
	<entry>
		<title>How to Make a Video Game All By Yourself</title>
		<link href="https://www.lostdecadegames.com/how-to-make-a-video-game-all-by-yourself/"/>
		<updated>2022-03-15T00:00:00Z</updated>
		<id>http://www.lostdecadegames.com/how-to-make-a-video-game-all-by-yourself/</id>
		<content type="html">&lt;p&gt;Hey it&#39;s Matt. I wrote a &lt;a href=&quot;https://www.valadria.com/how-to-make-a-video-game-all-by-yourself/&quot;&gt;book&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;It&#39;s called &lt;a href=&quot;https://www.valadria.com/how-to-make-a-video-game-all-by-yourself/&quot;&gt;How to Make a Video Game All By Yourself&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I wrote and illustrated it over about 2 years. You should totally check it out.&lt;/p&gt;
&lt;div class=&quot;full-frame&quot;&gt;
	&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/aUoSpbe-2wk&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Read all about it &lt;a href=&quot;https://www.valadria.com/how-to-make-a-video-game-all-by-yourself/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Buy the physical version &lt;a href=&quot;https://www.amazon.com/dp/1736576208&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can also buy it digitally on &lt;a href=&quot;https://www.amazon.com/dp/B09SJ3VPFL/&quot;&gt;Kindle&lt;/a&gt;, &lt;a href=&quot;https://valadria.itch.io/how-to-make-a-video-game-all-by-yourself&quot;&gt;Itch.io&lt;/a&gt;, or &lt;a href=&quot;https://valadria.gumroad.com/l/how-to-make-a-video-game-all-by-yourself&quot;&gt;Gumroad&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks for checking it out! I hope you like it and I hope it helps you make video games.&lt;/p&gt;
</content>
	</entry>
</feed>
