<?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>Full of BS &#187; Game Design</title>
	<atom:link href="http://fullof.bs/category/gaming/game-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://fullof.bs</link>
	<description>He just never stops talking</description>
	<lastBuildDate>Wed, 21 Mar 2012 05:14:07 +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>Timeout?</title>
		<link>http://fullof.bs/timeout/</link>
		<comments>http://fullof.bs/timeout/#comments</comments>
		<pubDate>Sat, 13 Jan 2007 04:29:48 +0000</pubDate>
		<dc:creator>John Haugeland</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[My Games]]></category>
		<category><![CDATA[Polls]]></category>

		<guid isPermaLink="false">http://blog.sc.tri-bit.com/archives/197</guid>
		<description><![CDATA[So, I&#8217;m writing a web-based game, and I would like to know how people feel about timing out people who have disconnected. The game is a turn-based strategy game with moderately fast play, on the order of every 30 seconds to 1 minute, comparable to Reversi/Othello (Havannah, to be specific.) In particular, I&#8217;m not sure [...]]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;m writing a web-based game, and I would like to know how people feel about timing out people who have disconnected.  The game is a turn-based strategy game with moderately fast play, on the order of every 30 seconds to 1 minute, comparable to Reversi/Othello (<a href="http://en.wikipedia.org/wiki/Havannah">Havannah</a>, to be specific.)  In particular, I&#8217;m not sure where to set the threshholds for a given person timing out.</p>
<p>My plan is to have three threshholds.  If you&#8217;re playing a game, and someone disconnects, it&#8217;s generally for one of two reasons: their connection failed, or they&#8217;re quitting to avoid losing.  On the one hand, I have spotty wifi at home, and I frequently lose connection for several minutes at a time, and I wouldn&#8217;t want to be counted a loser and a poor sport while I waited on my DSL modem to stop sucking.  On the other hand, sitting around waiting for someone you don&#8217;t know is frequently the suck, and many people do quit to get out of a loss.</p>
<p>So, I&#8217;m setting the upper threshhold at 20 minutes.  No matter what, if they log off and stay gone for 20 minutes, the game is discarded, and called in favor of the person still online.  However, obviously I don&#8217;t want people to have to wait around for 20 minutes, so I need to set a lower threshhold.  That threshhold will be the point at which someone gets to choose what to do.  If I&#8217;m gone a little over the lower threshhold, the system will say to the other player &#8220;do you want to call it a tie, save it for later, or claim a disconnect win?&#8221;  If it&#8217;s someone who doesn&#8217;t know me, they shouldn&#8217;t be forced to wait, and should have the option of calling it a tie if the game isn&#8217;t very far in, or if I&#8217;ve obviously been having connection trouble.  However, they should also be able to claim a disconnect win if they smell a jerk.</p>
<p>It would be nice if they could call a tie or a save very early, much earlier than would be appropriate for calling a quitter loss, so the other two threshholds are those two issues seperately.  The lowest threshhold is the &#8220;save or tie&#8221; threshhold, and it should be fairly fast.  Someone can choose to ignore it if they want.  The next threshhold is the &#8220;you quit to cheat&#8221; threshhold, and it should be at least somewhat patient.  At the 20 minute line, the system will call it, no matter what.<br />
So, the question is, how long should those two lower timeouts be?  Twenty minutes is obviously far too long for either.  On the balance, ten seconds obviously isn&#8217;t long enough; most people can&#8217;t reconnect that fast, and we need to be accomodating of people&#8217;s computers rebooting, of modem reconnect cycles, of DSL reconnect cycles, and so on.</p>
<p>I&#8217;m going to set a range of options.  If you don&#8217;t see the time you want, feel free to add it; I&#8217;ll be using the distribution of answers, not just the most popular, so it&#8217;ll still count.<br />
[?php jal_democracy(6); ?]</p>
<p>[?php jal_democracy(7); ?]</p>
]]></content:encoded>
			<wfw:commentRss>http://fullof.bs/timeout/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sorry I&#8217;ve Been Gone; Also Yay Blog Spam</title>
		<link>http://fullof.bs/sorry-ive-been-gone-also-yay-blog-spam/</link>
		<comments>http://fullof.bs/sorry-ive-been-gone-also-yay-blog-spam/#comments</comments>
		<pubDate>Fri, 14 Apr 2006 05:24:28 +0000</pubDate>
		<dc:creator>John Haugeland</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[General Interest]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[My Games]]></category>
		<category><![CDATA[Nintendo DS]]></category>
		<category><![CDATA[Sudoku]]></category>

		<guid isPermaLink="false">http://blog.sc.tri-bit.com/?p=104</guid>
		<description><![CDATA[Blog content&#8217;s gonna be thin over the next few weeks. E3&#8242;s coming up and I have work to do. That&#8217;s also why I haven&#8217;t filled the daily image queue in a while. However, I&#8217;ll put up a big chunk of images tonight and post-date them, so that they&#8217;ll still spill out daily like they&#8217;re spota. [...]]]></description>
			<content:encoded><![CDATA[<p>Blog content&#8217;s gonna be thin over the next few weeks.  E3&#8242;s coming up and I have work to do.</p>
<p><span id="more-113"></span><br />
That&#8217;s also why I haven&#8217;t filled the daily image queue in a while.  However, I&#8217;ll put up a big chunk of images tonight and post-date them, so that they&#8217;ll still spill out daily like they&#8217;re spota.  Huhuh.</p>
<p>At any rate, right now I&#8217;m throwing together a few quick demo games, because they&#8217;re still higher quality than the commercial things they&#8217;re positioned against.  Hopefully I can get a publisher to buy one of the games from me at fire sale prices (you hear that?  Dead cheap!) so that I can dump the money back into my new corporation, but we&#8217;ll see.</p>
<p>Things I&#8217;m gonna try to bring to E3:</p>
<ul>
<li>One of my crappy NDS well games, probably RoffleBlox</li>
<li>The Nintendo DS PDA application</li>
<li>The Nintendo DS VoIP client</li>
<li>My sudoku client and a few thousand abnormal puzzles (with in-place handwriting if time allows, natch)</li>
<li>Some BulletML machine demo, not sure what yet</li>
<li>The Nintendo DS eBook Reader, with some already-attached books</li>
<li>Two things I&#8217;m not talking about in public</li>
<li>Maybe a drawing program, depending on how much free time I don&#8217;t have.</li>
</ul>
<p>Maybe other stuff too.  Dunno.</p>
<p>In other news, I&#8217;m now getting four blog spam comments a day.  Whee.</p>
]]></content:encoded>
			<wfw:commentRss>http://fullof.bs/sorry-ive-been-gone-also-yay-blog-spam/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>On Shadowcasting</title>
		<link>http://fullof.bs/on-shadowcasting/</link>
		<comments>http://fullof.bs/on-shadowcasting/#comments</comments>
		<pubDate>Sun, 02 Apr 2006 06:09:18 +0000</pubDate>
		<dc:creator>John Haugeland</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Game Algorithms]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Nintendo DS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Southgate]]></category>

		<guid isPermaLink="false">http://blog.sc.tri-bit.com/?p=83</guid>
		<description><![CDATA[I haven&#8217;t written a roguelike in a long, long time. Last time, I used the traditional light-per-room model for lighting from the original Rogue; these days, I don&#8217;t find that at all satisfactory. It&#8217;s time for a proper shadowcaster. And, to be plain, I&#8217;d forgotten how much of a hassle a shadowcaster actually is. I [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t written a roguelike in a long, long time.  Last time, I used the traditional light-per-room model for lighting from the original Rogue; these days, I don&#8217;t find that at all satisfactory.  It&#8217;s time for a proper shadowcaster.<br />
<span id="more-107"></span></p>
<p>And, to be plain, I&#8217;d forgotten how much of a hassle a shadowcaster actually is.  I went to dig up maybe some example code, but the good answers were few and far between; there are several each at various roguelike sites like <a title="Dungeondweller's development section" href="http://roguelikedevelopment.org/development/">Dungeondweller</a>, but the articles are written to widely varying levels of quality, most without source, and with no apparent method to compare between methods.  Most of them an experienced programmer can ignore out of hand, but one of the algorithms up there is just repeated line of sight, which is dead slow.  It&#8217;s enough to make a man think about writing another <a title="My empty-ish tutorial page" href="http://sc.tri-bit.com/Category:Tutorials">tutorial</a>&#8230;</p>
<p>Luckily, I know what&#8217;s up, so I&#8217;m going to implement recursive shadowcasting.  There&#8217;s a not-half-bad implementation in this tutorial by <a title="Gordon Lipford's LOS tutorial" href="http://sc.tri-bit.com/Computing_LOS_for_Large_Areas">Gordon Lipford</a>, but in several places he sacrifices efficiency or power for readability.  Right thing to do for a tutorial.  Wrong thing to do for production code.  (He also has several unexplained actions here and there, writes pseudocode where interactions aren&#8217;t clear, and requires the reader to reimplement several structures from explanations, but whatever.)  At any rate, his method is efficient, flexible, and less painful to implement than some of its competition, so I&#8217;m running with it.</p>
<p>One of the very cool things about Lipford&#8217;s method is that it&#8217;s arc-angle based.  As a result, objects don&#8217;t actually have to fit a tile; rays are radiated.  That means that anti-aliasing one&#8217;s shadows is in fact realistic; I&#8217;m halfway done with that in my shadowcaster now.  Other things could be added, but I&#8217;ve decided to skip them for now.  One of the <strong>really</strong> neat things about this modified method, though, which uprises from the line of sight algorithm is that I have accurate overhead cover rules and a good set of premise data to work in the notion of &#8220;perception.&#8221;</p>
<p>Simulating perception accurately is traditionally a problem for AI behavior, but in a Roguelike it&#8217;s a bigger problem than usual.  Because roguelikes offer such complex tactical situations, and because speed in varying environments is such an issue, players often want to &#8220;lose&#8221; the predators by hiding.  Lots of the common methods for handling roguelike behavior involve simple distance calculations, meaning monsters can semi-effectively follow you through visual obstacles which otherwise should confuse them, such as walls.  Sometimes this is of great tactical advantage to the player; s/he can use slight speed or distance advantages to get around a wall with a u-turn, then rely on the monster keeping the nearest mathematical distance and walk the other way down the wall, acquiring some safety.</p>
<p>Now, I&#8217;m all for cheating on the player&#8217;s behalf; one of these days I&#8217;ll blog about it at length.  However, there&#8217;s cheating and there&#8217;s cheating.  Some of it keeps little nagging things from ruining gameplay; that&#8217;s good cheating.  Being lax on player bullet collision, and being overstrict on player personal collision, means that the player &#8220;just barely gets by&#8221; when oftentimes they shouldn&#8217;t, and &#8220;just barely makes the shot&#8221; when oftentimes they shouldn&#8217;t.  You can just crank the game difficulty to compensate, and it leads to a player never feeling like they were ripped off or cheated.  The Japanese game company <a title="Treasure" href="http://www.treasure-inc.co.jp/index01.html">Treasure</a> are absolute masters of this careful balance (sorry, AFAIK they don&#8217;t have an English-language page.  Just pretend you can read it.)  But, there&#8217;s another kind of cheating that game programmers do.  Actually, there are several others; I&#8217;m gonna skip stuff like giving opponent AI information it shouldn&#8217;t have to keep it competitive.  Right now, what I&#8217;m going to talk about is sacrificing realism for computation time.</p>
<p>There are several problems with cheating to save computation time.  Some of them are reconcilable; others aren&#8217;t.  Generally the least controllable issue here is that oftentimes you just can&#8217;t afford the raw horsepower to do what you want to do correctly.  First person shooters in the 286/386 era are a prime example; Wolfenstein and DooM got by just fine with blitting, but given modern standards they look positively silly.  The important bit here, though, is that Wolfenstein and DooM&#8217;s approximations were good enough™ they did not adversely impact the game, and until they were made outdated by the horsepower required for a more accurate solution, the impositions their techniques created generally didn&#8217;t impact the game.  (There are a few exceptions, notably the 2d+height map preventing truly 3d maps, but that was more of an engine issue than an issue of approach, so whatever.)</p>
<p>Horsepower aside, though, there are also issues of sloth or ignorance.  In fact, field of view algorithms provide an excellent example even compounded above the previous example.  Gee, can you guess what I&#8217;m gonna start going on about?</p>
<p>The fact of the matter is that on a complex 2d planar map, even implemented well, field of vision code is moderately expensive.  <a title="Hansjörg Malthaner" href="http://www.simugraph.com/en/aboutme.html">Hansjörg  Malthaner</a> brags, and rightfully so, that his <a title="FOV in H-World" href="http://h-world.simugraph.com/docs/fov.html">field of view implementation</a> can crank out a 59&#215;59 area in under 2ms on a 400mHz k6/2.  Whereas that may sound like hopelessly antiquated equipment by today&#8217;s standards, please remember that that&#8217;s talking about the field of view for just one creature; even dealing with a machine that can push 16x what that does, when you&#8217;re dealing with (say) 256 creatures &#8211; and that&#8217;s not terribly unlikely in a Roguelike at deeper levels &#8211; you&#8217;re still looking at around 32ms, just to figure out what monsters can see what.  That&#8217;s before you consider anything like, say, what the monsters&#8217; responses would be.  And, to put that in perspective, we&#8217;re talking about a full two frames at 60fps (the rate at which most console hardware runs) &#8211; that&#8217;s slow enough to see a stutter, even on modern hardware.</p>
<p>And &#8211; <em>I cannot emphasize this enough</em> &#8211; Hansjörg&#8217;s implementation is <u>good</u>.  This is not the upshot of some naïve bumbling.  This is what kind of speeds one should expect.</p>
<p>Now, granted, this is a fairly severe situation.  For one, 59&#215;59 implies sight radius 29, which is big by anyone&#8217;s standards, and since we&#8217;re talking about area which is exponential and a workload tied to a surface unit instead of an edge, and since that workload is also exponential, then having an area that big is pretty serious.  Also, games other than roguelikes don&#8217;t usually have low to middling hundreds of active, thinking opponents at a time (well, inasfar as roguelike creatures think, really, but that&#8217;s beside the point.)  But, as we all know, I&#8217;m working on the Nintendo DS, which is a 67mHz ARM9; when we&#8217;re there, we&#8217;re just not talking about cutting edge computational power, and therefore speed seriously matters to me.  Granted that the field of view in my game is much smaller, it&#8217;s still a pretty big issue.</p>
<p>This is where the kung-fu comes in.  See, there are other repurcussions to choosing a field of vision mechanism other than speed.  Granted speed is what we&#8217;re interested in here, but there are other things to be considered.  That is, for example, why I&#8217;m not implementing the <a title="It's honestly kinda slick, despite being kinda sick" href="http://jwelton.v-space.org/discuss/LOSSpaghetti.html">giant goto map generator</a> of Jesse Welton&#8217;s.  Instead, what I&#8217;m doing is going to give me view regions for specific tiles; that information will be enough to implement a much, much stronger perception algorithm, by gauging what fraction of a tile is visible.  That way I can have monsters with very long sight who won&#8217;t notice you sneaking up on them around corners, or monsters who only see six or seven tiles away, but who notice absolutely everything in range.  It should make far more satisfactory AI chase behavior, especially since I&#8217;m going to be tracking actual creature knowledge.</p>
<p>Anyway, that&#8217;s just what I&#8217;m working on in Southgate at the moment.  New topics soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://fullof.bs/on-shadowcasting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What a Beautiful Game Concept.  Pity It&#8217;s So Broken.</title>
		<link>http://fullof.bs/what-a-beautiful-game-concept-pity-its-so-broken/</link>
		<comments>http://fullof.bs/what-a-beautiful-game-concept-pity-its-so-broken/#comments</comments>
		<pubDate>Mon, 13 Mar 2006 02:16:10 +0000</pubDate>
		<dc:creator>John Haugeland</dc:creator>
				<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://blog.sc.tri-bit.com/?p=39</guid>
		<description><![CDATA[You know, fundamentally this is just the Snake game which people remember from FastTracker and their Nokia cell phones. But, there are some differences. Read on, diligent viewer, to see purty screen shots, and also to find out what the hell I&#8217;m talking about. Flow is deeper than its ancestor Snake, even though it doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>You know, fundamentally this is just the Snake game which people remember from <a title="Almost as cool as ScreamTracker" href="http://www.fasttracker2.com/">FastTracker</a> and their <a title="Nokia" href="http://nokia.com/">Nokia</a> cell phones.  But, there are some differences.  Read on, diligent viewer, to see purty screen shots, and also to find out what the hell I&#8217;m talking about.</p>
<p><span id="more-74"></span></p>
<p><img align="right" alt="My First Bugfish" src="http://blog.sc.tri-bit.com/wp-content/uploads/2006/03/Bug.png" /><a title="Flow, by Jenova Chen" href="http://intihuatani.usc.edu/cloud/flowing/">Flow</a> is deeper than its ancestor Snake, even though it doesn&#8217;t add much by way of game mechanics.  Flow is Jenova Chen&#8217;s thesis for a Master of Fine Arts degree.  The <a title="Jenova Chen's Thesis" href="http://www.jenovachen.com/flowingames/missionstatement.htm">thesis itself</a> seems to be largely about applying  <a title="A profile of Mihaly Csikszentmihalyi" href="http://www.brainchannels.com/thinker/mihaly.html">Mihaly Csikszentmihalyi&#8217;s</a> notion of flow &#8211; that is to say, the critical area between boredom and anxiety &#8211; to gaming.  The application of direct principle &#8211; especially the self mitigated difficulty factor &#8211; is in many ways impressive.  It&#8217;s a shame that Chen is such a painfully obvious game design novice; there are simple critical flaws at the time of this writing which make this game suddenly turn frustrating about twenty minutes in.  That said, until those problems hit, the design is positively exhilerating, which is weird, because it&#8217;s just Snake, for chrissakes.</p>
<p>The germane differences are as follows:</p>
<ol>
<li>Boundless game world, with a camera which (badly) follows the player.</li>
<li>The things you&#8217;re eating are alive, and some of them fight back, using the same rules you use to eat them to in turn eat you.</li>
<li>There is a distinctly <a title="Rogue, arguably the first graphical video game" href="http://en.wikipedia.org/wiki/Roguelike">Rogue</a>-like mechanism of depth, wherein as the player ascends or descends, new opponent creatures are added, which are progressively more difficult to handle.  Some of these opponent creatures are in fact great fun to fight.</li>
<li><img align="right" src="http://blog.sc.tri-bit.com/wp-content/uploads/2006/03/Bug-4.png" />There&#8217;s a froody newage soundtrack which is complimented by atmospheric noises when things happen, such as competitive eating.</li>
<li>The credits are actually rendered as inline positioned non-elements within the game world, which is quite pretty once it stops being confusing.  They also disappear after the first two levels, meaning they&#8217;re not obnoxious.</li>
<li>The game is rendered in a very attractive fashion using geometric creatures, yourself included, drawn in a way which makes me want to call them bug-fish.  The layer immediately below you is rendered at a shrunken size, and blurred, which though not entirely a convincing visual effect, is positively gorgeous.</li>
<li>Entities on the current layer have a very faint aura effect, which is subtle enough that it took me a while to even notice it.  However, once I noticed it, I realized that not only does it make the rendering easier on the eyes, but it also makes it easier to keep track of on-screen objects.  I don&#8217;t understand why just yet.</li>
<li>As you grow, not only do you get longer, but you start developing somewhat bacteria-esque flagellae which speed you up.</li>
<li>Things frequently vary subtly in size or shape, which makes the visuals consistantly attractive and which staves off the visual feel of repetition ad nauseum so common in other games.</li>
<li>Fighting several enemies simultaneously is nearly impossible, so you have to use tactics to drag one enemy away from the herds that they tend to cluster in, and then kill it.</li>
<li>Some of the other animals eat the same things you do, and when they&#8217;re around, they scavenge your kills, introducing some strategy into fighting.</li>
<li>In the tradition of one-on-everyone combat games like sidescrollers and first person shooters, killing something gives you a direct reward.  Since there&#8217;s nothing like ammo, corpses turn into food, meaning you can partially just up and eat your enemy.</li>
</ol>
<p>Amazingly &#8211; at least to me &#8211; this makes for a very, very playable game.   In fact, I found it borderline addictive within several minutes of play, something which is very rare for someone as jaded about games as I am.  Unfortunately, there are a few problems so serious that I have a hard time playing it for long.</p>
<ol>
<li>The game partially silently fails on Flash 7 or earlier, rendering none of the player and fractions of enemies.  <img align="right" src="http://blog.sc.tri-bit.com/wp-content/uploads/2006/03/Bug-5.png" />However, the failure isn&#8217;t obvious unless you&#8217;ve seen screenshots of the game in action.  I almost gave up on this game before I started playing it, because I only had Flash 7 installed in Firefox; I tried it in IE out of curiosity, and since IE didn&#8217;t have flash installed at all I got the up to date plugin, which worked.  This is a miserable design flaw, which people on the game&#8217;s forums repeatedly attribute to their browser or operating system.  What&#8217;s worse is that version checking in Flash is trivially easy, and the authors are aware of the problem.  This could be fixed, and needs to be.</li>
<li>Food sources are not replenished.  Ever.  After 20-30 minutes, you just get stuck.  The first time I played I wandered around for almost an hour before realizing I was just screwed.  Food should probably replenish on the layer to either side of you, not on the current level, so that new additions aren&#8217;t distracting (in fact, maybe two layers below, so that it doesn&#8217;t show up in the blurred layer either.)</li>
<li>The death food balance isn&#8217;t even.  Instead, killing a creature releases less food than it consumed.  The game is smart enough not to allow enemies to eat or to fight one another until you&#8217;re actually on the level they&#8217;re on, so showing the blurred layer doesn&#8217;t ruin the upcoming level.  However, that blurred layer also gives you information, like how much food to expect when you get there.  When you get down there, the enemies start snapping up food, only a small fraction of which is released when you get into murder mode.  As a result, the player perpetually feels ripped off by a level that promised more food than it delivered.  Rather than reducing the number of food given, as an encouragement to kill early and often, the value of the food released should be reduced.  This is less an issue of actual food points gained and more an issue of &#8220;I saw fifty things and I only got to eat ten.&#8221;  If the game balance is served by constantly reducing a level&#8217;s food quotient, it should be done by value instead of by count, so that the player&#8217;s brain doesn&#8217;t insist that 80% of the food it saw is missing.</li>
<li>As you wander away from the center of the map, things start to disappear.  However, combat happens at very high speed and usually involves a chase; if the combat isn&#8217;t brief, it&#8217;s easy to get lost.  There is no indicator of the direction back to the center, so either you wander around until you get lucky &#8211; often making it worse &#8211; or you start over.</li>
<li><img align="right" src="http://blog.sc.tri-bit.com/wp-content/uploads/2006/03/Bug-6.png" />The path between depths are special creatures which don&#8217;t serve as food, marked either red to move down or blue to move up.  This in itself actually works very well, and confusingly, they are restocked, though the food supply isn&#8217;t.  Unfortunately, it&#8217;s easy to trim that count down to one of each kind, and it often takes a few minutes just to find one.  Especially when the food supply on a level is emptied and you can see a ton of food below you, this is extremely frustrating.  A mechanism like John Sensebe&#8217;s <a title="Space Loonies, one of the more playable GBA homebrew games" href="http://www.gbax.com/gbax2004/spaceloonies.zip">Space Loonies</a>, wherein things you&#8217;re looking for are indicated in location by an arrow at the edge of the screen, would be a god-send &#8211; two of them, one for up and the other for down.  (If there are several, just point to the nearest one.)</li>
<li>There is an &#8220;eat time&#8221; involved when you consume something &#8211; you have to wait for the food point to get used before you can eat again.  This time increases as you get bigger, and quickly becomes much too long.  I&#8217;ve been in situations where I&#8217;m just swimming around a pile of food created by a destroyed enemy for three minutes or more, eating then waiting to be allowed to eat again.  I could see a uniform flat pause of no more than a second, probably better around 2/3 of a second.  I could even see an extended lag for the special food marked with a plus, which just instantly gives you a segment.  But, this is just too long.  It&#8217;s boring.  By the time you&#8217;re done collecting your reward from combat, the rush is gone.</li>
<li>The player and creatures are &#8220;stunned&#8221; when a piece of them is eaten.  When the player gets very long, it&#8217;s nearly impossible to fight certain kinds of enemy without losing a piece in the process.  If the player loses two pieces concurrently, the stun becomes longer than an enemy&#8217;s eat time, and then you just can&#8217;t move, and have to watch your otherwise gigantic and healthy creature get eaten piece by piece.  This is reminiscent of the Ice Monster problem in early versions of <a title="Multi-player Angband" href="http://mangband.org/">MAngband</a>, wherein it took longer to recover from freeze than for the monster to freeze you again and wherein once frozen you have no resistance being re-frozen, leaving you unable to act until you died.</li>
<li>The camera routine attempts to lag behind the player&#8217;s movement, to make for a &#8220;natural&#8221; feeling of the window trying to keep up.  Unfortunately, the implementation is low quality, and frequently leaves the player entirely off screen.  This means either you have to blindly run, or you have to stop running to see yourself.</li>
<li>The player moves by putting the mouse in the line the creature should go.  However, due to camera lag, there&#8217;s a wobble effect like putting a vase on a Lazy Susan &#8211; if the vase is sitting still, spinning the Lazy Susan has no effect, but if there&#8217;s any wobble it&#8217;s exaggerated until it falls over.  The camera lags behind the creature, so the path of follow between the creature and the mouse cursor is altered, and changes in a direction which proceeds to do it again and again.  This could be called an issue of skill, but that the camera frequently leaves the creature right up on the edge it&#8217;s trying to reach, it often makes it impossible to send the creature in the direction you want to go, because there is no location on screen which actually creates that line.</li>
<li><img align="right" src="http://blog.sc.tri-bit.com/wp-content/uploads/2006/03/Bug-8.png" />Combat with creatures of your own kind is nearly impossible unless there&#8217;s a serious difference in power between the two creatures, because of the follow effect &#8211; no matter where you hit the opponent, there is no way to get away efore your tail is in his strike range.  This means that any attack you make at an opponent hurts you equally, and the only way to take out an enemy is a series of long distance sneak attacks, all of whom take forever and make it easy to lose your opponent.  This is <strong>extremely</strong> not-fun.  However, all other creature types have no such problem.</li>
<li>Creatures can hurt you whether or not they&#8217;ve been recently hurt.  This makes the previous problem much worse.  If there was a question of equianimity between player and enemy, then it should be both the player and the enemy who have to lag after getting hit.  However, the enemies are temporarily invincible after being hit, because they essentially don&#8217;t fight each other, and you&#8217;ve got that eat time lag; no such protection is afforded to the player.  An ideal repair would be to introduce a half second lag similar to the kind one expects of 8-bit era games while a creature is flashing, wherein the creature can neither hurt anything nor be hurt itself.</li>
<li>The screen is just too damned small, especially vertically.  You can&#8217;t see where you&#8217;re going.  There&#8217;s no mini-map or radar.  You can&#8217;t find the stuff you&#8217;re supposed to be playing with.  Frequently, you just accidentally hit a layer up or layer down creature, sending you out of the thing you were trying to do, because you just can&#8217;t see them in time.  This problem is exacerbated by that the player tends to approach the side they&#8217;re moving towards, instead of the side they&#8217;re moving away from, meaning essentially your entire field of view is the stuff behind you.  This is frustrating, unfair, and just amazingly bad design.</li>
<li>Creatures change color &#8211; white if they&#8217;re bored, orange if they&#8217;re attacking, or black if they&#8217;re being hurt.  That on its own is actually very cool, and effective in the earlier layers.  However, as the game progresses, the background turns from blue to black; this means that creatures being hurt get progressively more difficult to see.  Though this can be argued as a game<img align="right" src="http://blog.sc.tri-bit.com/wp-content/uploads/2006/03/Bug-7.png" /> design facet, the problem is that there is no lag inbetween your hurting a creature and its ability to hurt you, even when it&#8217;s effectively disappeared, meaning any time you hit something you have to immediately run away, because the enemy&#8217;s mouth is god-knows-where. This is very frustrating, and impedes the prospect of constant combat.  The aforementioned lag between taking a hit and being allowed to hit back would fix this, while allowing the disappear to continue &#8211; in fact, it would make the disappear a <em>desirable</em> thing, because then you wouldn&#8217;t have to sort out the visuals for non-active creatures.  Because all creatures have the same base color, when creatures overlap you pretty much can&#8217;t see anything.  A similar and complimentary repair would be to subtly vary creatures&#8217; base colors, to the tune of things like #fcfffc instead of perfect white, so that they can be seen apart when overlapping but otherwise look roughly the same.</li>
<li>There is an infuriating camera bug after long combat when you just barely win, where the player wanders offscreen and never comes back.  I&#8217;ve lost several creatures that were perfectly healthy this way.  There is the appearance of the camera&#8217;s position polarity being reversed; it just goes the wrong direction.  However, moving the mouse the wrong direction to compensate doesn&#8217;t seem to fix anything.</li>
<li>The eat radius at the mouth is too small.  Sometimes you&#8217;ll pass 4/5 over a creature and not get it.</li>
<li>The presentation of the game involves a lot of border space, and the nature of the game involves lots of clicking.  This means that hitting outside of the edges of the screen &#8211; especially common because of the camera bugs &#8211; loses you control of your bug.</li>
<li>Hello?  Pause?</li>
</ol>
<p>It&#8217;s a beautiful game, and has an obvious artist&#8217;s touch each to its appearance and its audio.  The gameplay is designed by a talented academic amateur, who has the big picture issues dead-on, but who is missing virtually every possible subtle detail.  The result is just heartbreaking: a game you really, really want to play, but just can&#8217;t.</p>
<p>Luckily, Jenova Chen says it&#8217;s a work in progress, and seems to be directly amenable to game repair issues, especially as presented in the forum.  Moreover, the game release was on the day of this post, so this may just be alpha game syndrome.  This work shows real promise, and if the various serious gameplay flaws are repaired, I see a long term coffee break addiction in the making.</p>
<p>Kudos, Jenova &#8211; you&#8217;ve done a damned good job on the <a title="Jenova Chen's Game Again" href="http://intihuatani.usc.edu/cloud/flowing/">game&#8217;s framework</a>.  Time to break out the brass polish.</p>
]]></content:encoded>
			<wfw:commentRss>http://fullof.bs/what-a-beautiful-game-concept-pity-its-so-broken/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

