<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>selene tan &#187; game design</title>
	<atom:link href="http://selenetan.com/tag/game-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://selenetan.com</link>
	<description>reaching for the moon and sky</description>
	<lastBuildDate>Wed, 16 Feb 2011 06:22:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>SEEK*TOR</title>
		<link>http://selenetan.com/2010/01/seektor/</link>
		<comments>http://selenetan.com/2010/01/seektor/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 08:50:05 +0000</pubDate>
		<dc:creator>selene</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[ludumdare]]></category>
		<category><![CDATA[seektor]]></category>

		<guid isPermaLink="false">http://selenetan.com/?p=113</guid>
		<description><![CDATA[SEEK*TOR is a puzzle game about revealing the single enemy turret on an obscured map. It was created for the 16th Ludum Dare competition, a 48-hour long solo game development challenge. The theme of the competition was &#8220;Explore.&#8221; SEEK*TOR was ranked 5th overall of the 121 entries. Play it below: 
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_seektor_902920482"
			class="flashmovie"
			width="480"
			height="300">
	<param name="movie" value="http://selenetan.com/uploads/Games/seektor.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://selenetan.com/uploads/Games/seektor.swf"
			name="fm_seektor_902920482"
			width="480"
			height="300">
	<!--<![endif]-->
		]]></description>
			<content:encoded><![CDATA[<p>SEEK*TOR is a puzzle game about revealing the single enemy turret on   an obscured map. It was created for the <a rel="nofollow" href="http://www.ludumdare.com/compo/">16th Ludum Dare  competition</a>,  a 48-hour long solo game development challenge. The  theme of the  competition was &#8220;Explore.&#8221;</p>
<p>SEEK*TOR was ranked 5th overall of the 121 entries. Play it below:</p>
<p><span>[kml_flashembed publishmethod="static" fversion="9.0.0" movie="<a class="linkifyplus" href="http://selenetan.com/uploads/Games/seektor.swf">http://selenetan.com/uploads/Games/seektor.swf</a>" width="480" height="360" targetclass="flashmovie"]</span><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Other links:</p>
<ul>
<li><a rel="nofollow" href="http://www.ludumdare.com/compo/ludum-dare-16/?uid=1550">Ludum  Dare entry page</a></li>
<li><a rel="nofollow" href="http://selenetan.com/dump/ludumdare16/">Original  competition  entry</a> (the version above contains some bugs I fixed after the  end of the  competition)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://selenetan.com/2010/01/seektor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Post-Mortem: SEEK*TOR</title>
		<link>http://selenetan.com/2009/12/post-mortem-seektor/</link>
		<comments>http://selenetan.com/2009/12/post-mortem-seektor/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 03:12:00 +0000</pubDate>
		<dc:creator>selene</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[ludumdare]]></category>
		<category><![CDATA[postmortem]]></category>
		<category><![CDATA[seektor]]></category>

		<guid isPermaLink="false">http://selenetan.com/?p=58</guid>
		<description><![CDATA[So this was my first Ludum Dare. I did the Global Game Jam back in February, so I had some idea of what to expect, although the GGJ was teams rather than solo. One thing I do regret is not interacting more with the community–IRC, Twitter, etc. I could have used more feedback than I [...]]]></description>
			<content:encoded><![CDATA[<p>So this was my first Ludum Dare. I did the Global Game Jam back in  February, so I had some idea of what to expect, although the GGJ was  teams rather than solo. One thing I do regret is not interacting more  with the community–IRC, Twitter, etc. I could have used more feedback  than I got, instead of relying almost entirely on my husband’s comments.<br />
Friday night I spent brainstorming ideas and thinking over mechanics.  Saturday morning I started coding. By late afternoon / early evening, I  had the major mechanics implemented, but it wasn’t fun. At that point  the turrets were just yellow diamonds (and they were warp portals which  your cyan circle teleported between), and the hint circle always  disappeared before you could fire again.</p>
<p><img src="http://www.ludumdare.com/compo/wp-content/uploads/2009/12/screen_old01-300x225.jpg" alt="Screenshot of older version of SEEK*TOR" width="300" height="225" /><br />
Screenshot of older version of SEEK*TOR</p>
<p>The best thing that happened for the game occurred when I sent my  Saturday prototype to a friend for feedback. He told me two very  important things:</p>
<ol>
<li> He had the most fun figuring out where the hint circles intersected</li>
<li>He wanted to know why you had to aim and fire to reveal the map  instead of just placing light bulbs around the “platforms” (yellow  diamonds)</li>
</ol>
<p>So I made the hints persist but fade over time. That means you can  see the hint circle intersections, but the screen doesn’t become  overly-cluttered with old hint circles. It also means the aiming  mechanic is important, since if you take too long, the previous hint  will have faded away. I also changed the theming of the game so that the  portals became turrets and you selected a turret to fire from, rather  than teleporting between them.<br />
Sunday was mostly a day of polish. The big feature changes were  implementing multiple levels, scoring, and flare limits. I also added  the start, game over, and between-level screens, made the graphics,  (such as they are–hooray for GlowFilter!) composed a background track,  and created the sound effects.<br />
In the end, I was successful in terms of having a pretty-much  finished game at the end. On the other hand, seeing some of the other  entries, I kind of wish I’d done something a little more ambitious…<br />
Things that worked out:</p>
<ol>
<li>Using abstract glow-y vector graphics instead of trying to draw. (I  spent about 20 minutes attempting to draw a single turret before  deciding my time was better spent elsewhere.)</li>
<li>The game selects from 4 (hand-crafted) turret layouts and randomizes  the enemy and player locations. That turned out to be enough  randomization that I didn’t need to make a turret layout generator. In  fact, I only just realized that I left the game in debug mode where it  always chooses the same turret layout.</li>
</ol>
<p>Things that didn’t work out:</p>
<ol>
<li>When I started, I implemented everything in one file just to see if  the core mechanic would work. I made such a mess of my code that I spent  hours late Saturday night moving code around so I could add levels.  Spending hours working on code without actually adding new  functionality–even regressing at times–was very hard on my morale.</li>
<li>I spent too long trying to make my git history tidy. I’d keep  forgetting to add a file to the commit or not commit for a while and  wind up with a gigantic commit that involved 3 features and all the  source files. Then I’d try to figure out how to break up or revise the  commits. (And how to use vim, since that’s the default git editor…)  Given that I never had to revert to a previous version, it was kind of  silly of me.</li>
</ol>
<p>Tools and Libraries Used:</p>
<ol>
<li>FlashDevelop</li>
<li>TweenLite</li>
<li>git</li>
<li>ACID Music Studio</li>
<li>Free VSTi soft synths: <a href="http://www.greenoak.com/crystal/">Crystal</a>,  <a href="http://www.bostreammail.net/ers/lazysnake.html">LazySnake</a>,  and <a href="http://www.bostreammail.net/ers/ersdrums.html">ErsDrums</a></li>
<li>Audacity</li>
<li>sfxr</li>
</ol>
<p>(cross-posted from <a href="http://www.ludumdare.com/compo/2009/12/14/post-mortem-seektor/">Ludum Dare</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://selenetan.com/2009/12/post-mortem-seektor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrambling Words for Maximum Fun</title>
		<link>http://selenetan.com/2009/09/scrambling-words-for-maximum-fun/</link>
		<comments>http://selenetan.com/2009/09/scrambling-words-for-maximum-fun/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 13:07:00 +0000</pubDate>
		<dc:creator>selene</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[puzzle]]></category>
		<category><![CDATA[word scrambling]]></category>

		<guid isPermaLink="false">http://selenetan.com/?p=50</guid>
		<description><![CDATA[A while back, I worked on an online Flash version of the game show Don&#8217;t Forget the Lyrics. It&#8217;s a game show where contestants get up and sing along to some music until the music stops dead and they have to fill in the rest of the line. They have three lifelines (a la Who [...]]]></description>
			<content:encoded><![CDATA[<p>A while back, I worked on an online Flash version of the game show Don&#8217;t Forget the Lyrics. It&#8217;s a game show where contestants get up and sing along to some music until the music stops dead and they have to fill in the rest of the line. They have three lifelines (a la Who Wants to be a Millionaire) they can use: show the first three words, turn the question into a multiple-choice question, or get their pre-appointed friend to answer for them. The first two are easy to code up, the third not so much. We didn&#8217;t have the budget to record people singing the missing lyrics, so it had to be text-based. We thought of randomly selecting one of the multiple choice answers, but realized that people would probably feel cheated at being given a wrong answer. And it would be too easy to just always give them the right answer.</p>
<p>At some point, I came up with the idea of showing the player a scrambled version of the correct answer. That would leave it up to the player&#8217;s skill to get the correct answer from it, so it wasn&#8217;t a guaranteed success but would still seem fair. Then I had to come up with an algorithm for scrambling words that wasn&#8217;t too easy, but wasn&#8217;t too hard for anyone to solve in the time limit.</p>
<p><span id="more-50"></span><strong>Try 1:</strong> Scramble the whole string, including spaces.<br />
<strong>Sample:</strong> UM  LOYDE L AYEYO HHIAS LSRT MNP OTIM NOPKATSFOHA EEFEN</p>
<p>This was dead easy to code and incredibly hard to solve. Scrambling the spaces in with the rest of the letters made it especially hard, since people automatically read them as word boundaries.</p>
<p><strong>Try 2:</strong> Split the string into words, then scramble each word<br />
<strong>Sample:</strong> I DEAM ITSH AHFL YPNO LAFH MENYKO MTOENSR TO SEAEPL UOY</p>
<p>This was much better, but still pretty hard. The time limit on answering meant that people often ran out of time while trying to unscramble the string. But then I remembered an e-mail forward I&#8217;d seen which claimed that if you leave the first and last letters of a word intact but scramble the rest, people can still pretty much read it.</p>
<p><strong>Try 3:</strong> Split the string into words, freeze the first and last letters, and scramble the middle ones. (For 2-letter words, give a 50% chance of swapping the order.)<br />
<strong>Sample:</strong> I MDAE THIS HALF PONY HLAF MEKONY MSOETNR TO PAESLE YOU</p>
<p>This was too easy. 3-letter words were always in order, since freezing the first and last letters left a 1-letter string to scramble. 4-letter words would stay in order half the time since their inner length-2 string got scrambled.</p>
<p><strong>Try 4:</strong> This had a lot of special cases.</p>
<ol>
<li>Split the string into words. For each word longer than 1 letter:</li>
<li>If the word is 2 letters long, 50% chance of swapping the letters</li>
<li>If the word is 3 letters long, scramble it</li>
<li>If the word is 4 letters long, freeze the first letter and scramble the rest</li>
<li>If the word is 5 or more letters, freeze the first and last letter and scramble the inner letters</li>
</ol>
<p><strong>Sample:</strong> I MEAD THSI HFLA PYON HLFA MEONKY MOESNTR OT PAESLE OUY</p>
<p>The results were really good! Easy enough to solve within the time limit most of the time, and just hard enough to feel good about solving. The computer science geek in me wishes there were some way to do it with fewer special cases and a continuous difficulty scale, but short words really need to be treated differently because of their length. Still, it was a pretty interesting problem. Who knew an e-mail forward would come in so handy?</p>
<p>(Incidentally, the phrase is &#8220;I made this half-pony half-monkey monster to please you&#8221;, which is from the song <a href="http://www.jonathancoulton.com/songdetails/Skullcrusher%20Mountain">Skullcrusher Mountain</a> by Jonathan Coulton. Check it out!)</p>
]]></content:encoded>
			<wfw:commentRss>http://selenetan.com/2009/09/scrambling-words-for-maximum-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eFusjon RAD Game</title>
		<link>http://selenetan.com/2009/07/efusjon-rad-game/</link>
		<comments>http://selenetan.com/2009/07/efusjon-rad-game/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 01:21:03 +0000</pubDate>
		<dc:creator>selene</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[game development]]></category>

		<guid isPermaLink="false">http://selenetan.com/?p=128</guid>
		<description><![CDATA[eFusjon RAD is a game promoting the eFusjon energy drink, launched in July 2009. In RAD you control the Efusjonaut, and must absorb eFusjon to neutralize free radicals while avoiding toxins. The Efusjonaut is controlled with the mouse, and can switch between an offensive toxin-eliminating mode and a passive free radical-neutralizing mode. I came up [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" href="http://www.efusjongaming.com/games/">eFusjon  RAD</a> is a game promoting the eFusjon energy  drink, launched in July  2009.</p>
<p>In RAD you control the Efusjonaut, and must absorb  eFusjon to  neutralize free radicals while avoiding toxins. The  Efusjonaut is  controlled with the mouse, and can switch between an  offensive  toxin-eliminating mode and a passive free radical-neutralizing  mode.</p>
<p>I came up with the gameplay concept and led  the  project. A graphic designer came up with the look and feel for the  menus  and an animator/artist created the main game art and sprites. I   incorporated everything into Flash, set up the overarching code   structure, and programmed the gameplay and scoring. Other developers   worked on the leaderboard score submission, some of the menus, and the   instructions. After some testing showed that people were confused about   how to play, I came up with and implemented the idea of adding pop-up   tutorial messages in-game explaining things.</p>
<p>Links:</p>
<ul>
<li> <a rel="nofollow" href="http://www.efusjongaming.com/">eFusjon  Gaming</a> is the official game website,  including details about the  promotion</li>
<li><a rel="nofollow" href="http://www.efusjongaming.com/games/">eFusjon  RAD</a> is the page where you can play the game.  Registration is  required because the game is part of a contest.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://selenetan.com/2009/07/efusjon-rad-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s Shooting Love</title>
		<link>http://selenetan.com/2009/02/lets-shooting-love/</link>
		<comments>http://selenetan.com/2009/02/lets-shooting-love/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 01:23:22 +0000</pubDate>
		<dc:creator>selene</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[enemy behavior]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[global game jam]]></category>

		<guid isPermaLink="false">http://selenetan.com/?p=136</guid>
		<description><![CDATA[I participated in the first Global Game Jam in February 2009, a challenge where the goal was to produce a playable game in 48 hours. The theme was &#8220;As long as we&#8217;re together, we&#8217;ll never run out of problems. Let&#8217;s Shooting Love is a Geometry-Wars-style arena shooter about a lonely robot looking for a girlfriend. [...]]]></description>
			<content:encoded><![CDATA[<p>I participated in the first <a rel="nofollow" href="http://globalgamejam.org/">Global Game Jam</a> in  February 2009, a challenge where the goal was to produce a playable game  in 48 hours. The theme was &#8220;As long as we&#8217;re together, we&#8217;ll never run  out of problems.</p>
<p>Let&#8217;s Shooting Love is a Geometry-Wars-style  arena shooter about a lonely robot looking for a girlfriend. It was  created in <a rel="nofollow" href="http://www.clickteam.com/website/usa/multimediafusion2dev.html">Multimedia Fusion</a>, which we decided to use since one  of the team members (<a rel="nofollow" href="http://ultimatewalrus.com/">Sebastian Jansiz</a>) was an expert in it and promised  even faster prototyping than Flash.</p>
<p>I was responsible for designing  and implementing the enemy behaviors. I brainstormed a lot of  potentially interesting behaviors and played other arena shooters for  inspiration. Then I had to figure out how to implement them in  Multimedia Fusion, which I had never used before the Game Jam.</p>
<p>I  created both enemies and enemy generators, setting them up so that  Sebastian could easily adjust parameters such as speed, hit points, and  generation frequency. I made a wide variety of enemies, including ones  that travel in V formation, ones that circle-strafe the player while  firing shotgun bursts, and ones that break apart into smaller enemies  when defeated.</p>
<p>Links:</p>
<ul>
<li><a rel="nofollow" href="http://www.youtube.com/watch?v=tcmtrtyxG9M">Gameplay Video</a></li>
<li><a rel="nofollow" href="http://ultimatewalrus.com/GAMES/lsl/">Official  Website</a></li>
<li><a rel="nofollow" href="http://ultimatewalrus.com/GAMES/lsl/?dl=13">Download</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://selenetan.com/2009/02/lets-shooting-love/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snowfall</title>
		<link>http://selenetan.com/2008/10/snowfall/</link>
		<comments>http://selenetan.com/2008/10/snowfall/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 09:05:03 +0000</pubDate>
		<dc:creator>selene</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://selenetan.com/?p=120</guid>
		<description><![CDATA[Snowfall is a game I originally thought of for a weekly game-making challenge at The Sims Carnival where the theme was &#8220;music&#8221;. After struggling with the limitations of the Sims Carnival game maker, I decided to take my idea and make it in Flash. I also used the opportunity to learn Actionscript 3. 
<p>Move the mouse to move the sun anywhere on screen. Avoid  touching snowflakes. Click to release a burst of warmth that melts  snowflakes and earns points, but uses up a life. Play the game with sound turned on!</p>
]]></content:encoded>
			<wfw:commentRss>http://selenetan.com/2008/10/snowfall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Astral Schism Design Notes</title>
		<link>http://selenetan.com/2006/06/astral-schism-design-notes/</link>
		<comments>http://selenetan.com/2006/06/astral-schism-design-notes/#comments</comments>
		<pubDate>Wed, 07 Jun 2006 01:59:43 +0000</pubDate>
		<dc:creator>selene</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[astral schism]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[game design]]></category>
		<category><![CDATA[game development]]></category>

		<guid isPermaLink="false">http://selenetan.com/?p=153</guid>
		<description><![CDATA[Some notes about the design and development of Astral Schism. I had two main goals when adjusting the game difficulty: The two modes must have similar difficulty levels Both modes must be winnable by people who don&#8217;t play games that often I adjusted difficulty by changing the spawn rates of enemies, asteroids, and ore/hulls, and [...]]]></description>
			<content:encoded><![CDATA[<p>Some notes about the design and development of <a title="Astral Schism" href="http://selenetan.com/2005/04/astral-schism/">Astral Schism</a>.</p>
<p>I had two main goals when adjusting the game  difficulty:</p>
<ol>
<li> The two modes must have similar difficulty levels</li>
<li> Both modes must be winnable by people who don&#8217;t play games that  often</li>
</ol>
<p>I adjusted difficulty by changing the spawn rates of enemies,  asteroids, and ore/hulls, and by changing the number of starting  shields.</p>
<p>While I managed to strike a fairly good balance for the  project deadline, I feel that it could still use some work. However,  there are some more fundamental design issues that need to be addressed  first:</p>
<h3>It&#8217;s possible to get stuck in the game</h3>
<p>The way the  game works, level advancement is based on how many ship upgrades you  have. When you run out of shields, you restart the level with the same  number of shields and the same upgrades. This means that it is possible  to get to a level that is too hard for your skill with few lives. Unless  you can collect enough ore or hulls to return to base, you cannot gain  enough lives to clear the level.</p>
<p>One possibility is to always grant  a minimum number of shields to the player on starting a new level.  e.g., if we have determined that the third level should be beatable with  6 shields, then the level-change code will also set the player&#8217;s  shields to 6 if the player has fewer than 6 shields. Any other fixes to this problem will probably require a change to the current level  mechanic.</p>
<h3>Level advancement uses an unusual mechanic</h3>
<p>I got  comments from several people that the level mechanic &#8220;seems a bit  weird.&#8221; It has the bonus that at a given level, you always know the ship  has a minimum number of upgrades and should therefore be able to handle  things. It&#8217;s just not what most people expect.</p>
<h3>The &#8220;boss&#8221; for  the ambassador mode doesn&#8217;t fit in</h3>
<p>The &#8220;boss asteroid&#8221; requires a  method to defeat it that never shows up elsewhere in the game. I&#8217;d like  to change that, although it might &#8220;spoil the surprise&#8221;. On the other  hand, there&#8217;s no such surprise for the Exterminator mode.</p>
<h3>I want  a scoring mode but don&#8217;t know how to do it</h3>
<p>Scoring for the  Exterminator mode is pretty straightforward. Just count shots fired,  enemies extinguished, that kind of thing. But what&#8217;s the equivalent for  the Ambassador mode?</p>
<p>There are some statistics I could keep score  on: number of times levels are played, total time spent on a level, amount of ore picked up. For all of these, lower numbers suggest more player skill, which can result in slightly weird scores.</p>
]]></content:encoded>
			<wfw:commentRss>http://selenetan.com/2006/06/astral-schism-design-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

