<?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>Terraflubb</title>
	<atom:link href="http://veggies.lonelyfridge.com/feed" rel="self" type="application/rss+xml" />
	<link>http://veggies.lonelyfridge.com</link>
	<description>A Game Development Blog</description>
	<lastBuildDate>Fri, 03 Jul 2009 04:54:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Crazy few months</title>
		<link>http://veggies.lonelyfridge.com/archives/157</link>
		<comments>http://veggies.lonelyfridge.com/archives/157#comments</comments>
		<pubDate>Fri, 03 Jul 2009 04:54:36 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Excuses]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=157</guid>
		<description><![CDATA[It has been a crazy few months, but I&#8217;m back (kind of)! I was pretty sick for a while, I left the Ph.D. program, and then Em and I moved up to Ottawa. Thanks to Ian being awesome, I start my first grown-up job on Monday. The timing could not have been any better here, [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a crazy few months, but I&#8217;m back (kind of)! I was pretty sick for a while, I left the Ph.D. program, and then Em and I moved up to Ottawa. Thanks to <a title="Scrimisms" href="http://www.scrimisms.com" target="_blank">Ian</a> being awesome, I start my first grown-up job on Monday. The timing could not have been any better here, a week or two sooner and I wouldn&#8217;t have thought that I&#8217;d be well enough to pull off a 9-5 week, but things are finally sorted out and I&#8217;m feeling increasingly better each day. When you&#8217;ve been sick for a while, you forget what it&#8217;s like to be normal. Normal is incredible!</p>
<p>So, feeling better means more inclination to work on my games. <em>But</em>, brand new job means I have a crazy couple of months ahead trying to learn the ropes. I&#8217;m going to break even at &#8220;not committing to too much blog&#8221; for a little longer. I&#8217;ve resurrected another project I had once been kicking around. This one is simpler with more recyclable components, including some skimmed from Space Fortress. I&#8217;ll throw up some pictures of that one later.</p>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/157/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I got sick</title>
		<link>http://veggies.lonelyfridge.com/archives/154</link>
		<comments>http://veggies.lonelyfridge.com/archives/154#comments</comments>
		<pubDate>Wed, 22 Apr 2009 13:12:05 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Excuses]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=154</guid>
		<description><![CDATA[Latest excuse: I got sick again and it&#8217;s cramping my style. I&#8217;m off to Ottawa on June 1st, and that&#8217;s about when the new fancy cure should kick in. So I&#8217;m declaring this a sabbatical.
]]></description>
			<content:encoded><![CDATA[<p>Latest excuse: I got sick again and it&#8217;s cramping my style. I&#8217;m off to Ottawa on June 1st, and that&#8217;s about when the new fancy cure should kick in. So I&#8217;m declaring this a sabbatical.</p>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/154/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nothing Yet!</title>
		<link>http://veggies.lonelyfridge.com/archives/151</link>
		<comments>http://veggies.lonelyfridge.com/archives/151#comments</comments>
		<pubDate>Sun, 25 Jan 2009 16:11:20 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Excuses]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=151</guid>
		<description><![CDATA[This is another excuse post. I blame the new school year, having good sleeps, and a particularly meaty surge of work on my lack of productivity on the ol&#8217; Space Fortress. It seems like I haven&#8217;t had any good coding time all month.
I remember that it was this overcomplicating of the sprite definition that got [...]]]></description>
			<content:encoded><![CDATA[<p>This is another excuse post. I blame the new school year, having good sleeps, and a particularly meaty surge of work on my lack of productivity on the ol&#8217; Space Fortress. It seems like I haven&#8217;t had any good coding time all month.</p>
<p>I remember that it was this overcomplicating of the sprite definition that got me into trouble last time. This seems to be my issue. I started working on hardcoding some behaviour, that will do!</p>
<p>I think it&#8217;s time to define a milestone where it is okay for me to park this project. I think the first one will be &#8220;in game units&#8221;, and I&#8217;ll break that down into some individual requirements, then knock them off.</p>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/151/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Defining Entities: Feedback</title>
		<link>http://veggies.lonelyfridge.com/archives/147</link>
		<comments>http://veggies.lonelyfridge.com/archives/147#comments</comments>
		<pubDate>Thu, 15 Jan 2009 00:08:31 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Space Fortress]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=147</guid>
		<description><![CDATA[I love getting feedback! Thank you!
Jamie kicked things off talking about priority queues. I like the idea of using priority queues for tasks. It makes the most sense. I had something similar set up in the old space fortress, which allowed the player to dig holes in the ground. When the order came in, a [...]]]></description>
			<content:encoded><![CDATA[<p>I love getting feedback! Thank you!</p>
<p>Jamie kicked things off talking about priority queues. I like the idea of using priority queues for tasks. It makes the most sense. I had something similar set up in the old space fortress, which allowed the player to dig holes in the ground. When the order came in, a job was created (&#8221;dig this hole&#8221;), the workers would then subscribe to the job and would be fed tasks like &#8220;dig this square&#8221;, which in turn became &#8220;move next to this square&#8221;, &#8220;now dig this square&#8221;. It allowed for interruptions, such as &#8220;square is unreachable&#8221;, which tragically happened too often as rubble accumulated.</p>
<p>For the lower-level actions*. I think Ian has it with the hierarchically (a word I cannot pronounce) built FSMs. I&#8217;m going to take another crack at defining the worker with that in mind. I think I&#8217;ll let &#8220;falling&#8221; be a moving task, it seems counter-intuitive to suggest it is &#8220;idling without anything underneath you&#8221;. Especially since falling is a proven technique to move from up to down.</p>
<p>Regarding my obsession with those Booleans, I think Jamie has got it right by suggesting putting it into code. I&#8217;ll worry about XML expandability later. I figure a handful of hard-coded superclasses alongside some attributes can handle just about every type of entity in the game. That way I can still have my directory full of PNG and XML files for unit definitions.</p>
<p>Thanks again!</p>
<p><span style="color: #808080;">* Which are motivated by tasks, which are created by jobs, which are created from orders, which are created by the GUI based on user input (!) untangling that will be a future blog <img src='http://veggies.lonelyfridge.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/147/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defining Entities</title>
		<link>http://veggies.lonelyfridge.com/archives/142</link>
		<comments>http://veggies.lonelyfridge.com/archives/142#comments</comments>
		<pubDate>Tue, 13 Jan 2009 05:15:03 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Space Fortress]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=142</guid>
		<description><![CDATA[I&#8217;m having trouble coming up with a way to define an Entity in the game. I know it&#8217;s going to be some kind of finite state machine. I tried to come up with one for my sample unit, a worker unit, the peon, the bread-and-butter of your team, and didn&#8217;t conclude much at all. All [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m having trouble coming up with a way to define an Entity in the game. I know it&#8217;s going to be some kind of finite state machine. I tried to come up with one for my sample unit, a worker unit, the peon, the bread-and-butter of your team, and didn&#8217;t conclude much at all. All this and more after the break. There is a figure.</p>
<p><span id="more-142"></span></p>
<div id="attachment_143" class="wp-caption alignright" style="width: 340px"><img class="size-full wp-image-143" title="Entity Definition" src="http://veggies.lonelyfridge.com/wp-content/uploads/2009/01/entity_def_00.png" alt="Struggling with Structure" width="330" height="312" /><p class="wp-caption-text">Struggling with Structure</p></div>
<p>So, I think about what I want this generic worker to be able to do. When you start, it just stands there. When you order it to work, it moves to the work-site then works. By my reckoning, there are three states. <strong>Idle</strong>, <strong>moving</strong>, and <strong>working</strong>. I come up with the little DFA, and realize that the worker can move among these states fairly freely. In the figure, I didn&#8217;t connect moving and working, because I had already drawn it as a DFA, even though it could just be an array since transitions aren&#8217;t needed.</p>
<p>Then I started thinking &#8220;well, what does <strong>idle</strong> mean?&#8221; it means not-working. But what if the worker is idle but recharging, then it&#8217;s resting. What if it was wounded and is sparking about waiting for ro-bot repair? It could also just be waiting since it has no job. So idle just got more complex. Same deal with working (workers can do many things). Movement becomes interesting, too. Because if the worker has to walk half a mile, jump over a hole, climb down a ladder, then there are many types of &#8216;movement&#8217;. We need a little hierarchy!</p>
<p>So, suddenly, should there be states, substates? That seems a little nuts. But it also seems better organized than having all those actions on the top level. My other thought is that maybe in an RTS-style game, this is just how things look. When I brainstormed Tinyroidvania, I was also thinking along the lines of using FSMs to define player abilities. I noticed there was kind of a problem defining &#8220;state&#8221; that made good sense to me. I need to iron that out before I can go any further.</p>
<p>I think my problem is that I need to mix two different sources of state updates (environmental and input) and I worry that this will explode the complexity of my DFAs. Maybe I just need a new way to describe the capabilities. I&#8217;m sure it exists. First, I&#8217;ll try to explain what makes me confused:</p>
<p>I think my protagonist from Tinyroidvania should have very simple states: &#8220;Walk&#8221;, &#8220;Jump&#8221;, &#8220;Idle&#8221;. I convinced myself that the proper thing to do would be to expand that to be more specific. So I now have &#8220;Walk-Left&#8221;, &#8220;walk-right&#8221;, &#8220;jump-left&#8221;, etc&#8230; I somehow thought that not having a &#8216;left/right&#8217; variable was a virtue. It would be complex, but pure!</p>
<p>Now I can define the character very easily in terms of a DFA. I can add transitions to &#8220;walk-right&#8221; from &#8220;walk-left&#8221; and the &#8220;idle&#8221; states on the input &#8220;PUSH RIGHT ARROW&#8221;. <em>Beautiful,</em> I think, <em>I am so clever!</em></p>
<p>Now I start thinking &#8220;Well, any system worth its salt can support wall-jumping&#8221;. Meaning, when the player is against a wall, in mid-air, they can kick the wall and get a little hop. But, oh no! I don&#8217;t have a state called &#8220;mid-air-against-wall-on-left&#8221;. Nevermind the distinction between &#8220;falling-against-wall-on-left&#8221; and &#8220;jumping-against-wall-on-left&#8221;. I need a zillion bubbles in my FSM.</p>
<p>Writing this out makes the solution seem quite obvious to me. But since I can&#8217;t type it succinctly, I must not yet understand have it.</p>
<p>The FSM should only have nodes refering to the <strong>behaviour</strong> of the entity. Stuff the entity might control. Like what I have above &#8220;idle&#8221; (it doesn&#8217;t want to work), &#8220;working&#8221; (it is doing something), and &#8220;moving&#8221; (it wants to get there). The multitude of states I&#8217;ll never name should be a suite of variables, which are used to define transitions. All the fiddly bits (like, environmental cues including &#8220;feet on ground&#8221;, &#8220;underwater&#8221;, &#8220;against a wall&#8221;) can be worked into transitions, which become&#8230; boolean expressions?</p>
<pre>if ((state == idle) &amp;&amp; (  !feet_on_ground &amp;&amp; against_wall )) state = wall_jump;</pre>
<p>I think my brain stopped working. That doesn&#8217;t seem like the most elegant solution. And it doesn&#8217;t take into account all the different ways you can be idle. Unless&#8230; all those different ways are <em>really</em> just aliases for a set of those environmental booleans? Ugh, not for all of them. Should sub-state &#8216;falling&#8217; really be &#8216;idle without ground under you if you aren&#8217;t floating&#8217;? There must be a better way!</p>
<p>Having proofread this, I realize some parts make no sense. When I revise it tomorrow on a juicy, well-rested brain I hope I&#8217;ll see the conceptual hole I&#8217;m falling into.</p>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/142/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hapax legomena</title>
		<link>http://veggies.lonelyfridge.com/archives/140</link>
		<comments>http://veggies.lonelyfridge.com/archives/140#comments</comments>
		<pubDate>Sun, 04 Jan 2009 05:38:36 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Excuses]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Space Fortress]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=140</guid>
		<description><![CDATA[When I can&#8217;t sleep, and don&#8217;t code, I go on these Wikipedia safaris. Today something awesome happened and I learned about hapax legomena. I totally have one and you&#8217;re staring at it.
Space Fortress wise, I have been getting some boring-to-discuss sloggage into a sprite system done. I now have:

An entity system (to be discussed later) [...]]]></description>
			<content:encoded><![CDATA[<p>When I can&#8217;t sleep, and don&#8217;t code, I go on these Wikipedia safaris. Today something awesome happened and I learned about <a href="http://en.wikipedia.org/wiki/Hapax_legomenon">hapax legomena</a>. I totally have one and you&#8217;re staring at it.</p>
<p>Space Fortress wise, I have been getting some boring-to-discuss sloggage into a sprite system done. I now have:</p>
<ol>
<li>An <em>entity</em> system (to be discussed later) for loading definitions of in-game entities from XML files, entities being the things in the game world that aren&#8217;t dirt.</li>
<li>A <em>sprite</em> system, which manages those animated little bitmaps drawn onto the screen. The Artist class responsible for drawing entities creates a sprite for each entity. The &#8216;front end&#8217; of an entity, also xmelly</li>
<li>Used an ordered list on Terraflubb</li>
</ol>
<p>These things are very crude at the moment but will eventually be one of the most feature-rich aspects of the game engine. Hopefully, once it&#8217;s in place, I will be able to convince myself that it is not a ridiculous introduction of complexity but something useful. My goal is to have a worker-drone and a building entity defined and set up in the game soon. Fun stuff comes after that.</p>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/140/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Christmas Break</title>
		<link>http://veggies.lonelyfridge.com/archives/138</link>
		<comments>http://veggies.lonelyfridge.com/archives/138#comments</comments>
		<pubDate>Sat, 27 Dec 2008 03:10:16 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Excuses]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=138</guid>
		<description><![CDATA[I&#8217;m taking a little no-computer time this Christmas break. I broke some code intentionally and the things I have to do are straightforward and will facilitate the creation of good, recyclable, chunks of game for me. I&#8217;m pleased that I can recycle little things now, and that I&#8217;m sure these new bits will be very [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m taking a little no-computer time this Christmas break. I broke some code intentionally and the things I have to do are straightforward and will facilitate the creation of good, recyclable, chunks of game for me. I&#8217;m pleased that I can recycle little things now, and that I&#8217;m sure these new bits will be very recyclable in the future.</p>
<p>I am not getting distracted, but I know that the old Horror Mansion will be able to use most of the things I&#8217;m building now. If I keep on plowing ahead this way, I think I can revisit most of my ideas in the future and at least get to the prototype phase. If they&#8217;re not fun at that point, I can be satisfied knowing that I tried.</p>
<p>Meanwhile! I&#8217;m <em>so</em> close to finally doing the whole Model &#8211; View dichotomy neatly arranged in my brain. I think it is all set at the moment, but until I get it animated, I won&#8217;t be pleased.</p>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/138/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MVC Obsession Woes: Part One</title>
		<link>http://veggies.lonelyfridge.com/archives/130</link>
		<comments>http://veggies.lonelyfridge.com/archives/130#comments</comments>
		<pubDate>Sat, 20 Dec 2008 06:13:27 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Space Fortress]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=130</guid>
		<description><![CDATA[Due to a wee bit of trouble falling asleep, I started hacking in some better &#8216;entity&#8217; stuff into Space Fortress. I ran into some issues which resulted in me not finishing what I had hoped for tonight. I find blogging helps make my brain work. This post explains my tragic obsession with MVC, an architectural [...]]]></description>
			<content:encoded><![CDATA[<p>Due to a wee bit of trouble falling asleep, I started hacking in some better &#8216;entity&#8217; stuff into Space Fortress. I ran into some issues which resulted in me not finishing what I had hoped for tonight. I find blogging helps make my brain work. This post explains my tragic obsession with MVC, an architectural pattern I might not even understand.</p>
<p><span id="more-130"></span></p>
<h2>Why Worry? Because you might be a poseur.</h2>
<p>As I have expressed before, I love to say I am a game-development hobbyist, but I do not have any artifacts that show as much. I <em>know</em> how to code and how to create passable programmer-art, but for all my years of experience, I have nothing! This resulted in me telling myself &#8220;Make your stuff recyclable! How many times will you fail at collision detection?&#8221;. So I adopted a strict Model-View-Controller approach to game development. I figured that I would eventually collect enough Model and View bits to be able to throw games together quickly. I did this with a few failed projects, and I&#8217;m pleased to say it&#8217;s working well!</p>
<h2>How Rob does MVC in games</h2>
<p>Since I never really <em>learned</em> MVC in an academic or professional setting, only from reading little things about it. I probably have it wrong. I also read the Gang of Four&#8217;s book, but I should really have chatted about it with an expert. But this is how I&#8217;m doing it. I appreciate corrections and comments, I respect the software engineering skills of at least 2 of my known audience.</p>
<h3>Model</h3>
<p>The &#8216;game world&#8217; lives in the model classes, which are the ones that represent the game world. In Space Fortress, that means the 2D-array of dirt which makes up the planet (a tile-based level) and a set of <em>entities</em> (I&#8217;m defining that now) which are all the &#8216;things in the game which aren&#8217;t the level&#8217;. So, buildings, robots, monsters, and pomegranates. My model classes are laced with accessors so that all the important (observable) parts can be reviewed by public methods.</p>
<h3>View</h3>
<p>Then I have my <em>view</em> classes, which are made up of persistent, <em>Artist</em> classes. I have a <em>WorldArtist</em> which knows how to read the level data out of the model classes (read only!) and an <em>EntityArtist</em> which knows how to draw the entities (I should say &#8216;knew&#8217; how). The EntityArtist will have to keep track of the animations and all that. It also does the GUI (with what I would have named <em>GUIArtist</em>, but instead I used <em>Thingle</em> so I won&#8217;t complain). It collects input and burps output. It does not touch the model directly, that&#8217;s done through the controller classes.</p>
<h3>Controller</h3>
<p>I currently have no controller classes anymore. But since I&#8217;m doing an RTS, they will be probably presented in some kind of <em>UserDesire</em> Interface, so the view sees my clicks, boils them down to a desire, then tells the model what I wanted. So &#8220;Click on a robot&#8221;, &#8220;right-click on spaceship&#8221;, &#8220;select dismantle&#8221;, gets turned into &#8220;new UserDesire(&#8221;robot_1&#8243;, &#8220;spaceship_12&#8243;, &#8220;dismantle&#8221;)&#8221; and gets interpreted by the model.</p>
<h2>Why that hurts</h2>
<p>Sticking to that makes me seem anal (believe me, I am not!) and it feels quick awkard at fist. Maybe this won&#8217;t work with an action game, it might only work with an RTS, since they are effectively spreadsheets with the data scooting all over the place. Oh, it probably would, I just don&#8217;t want to think about it right now.</p>
<p>It&#8217;s nice to be able to do this:</p>
<pre>guy.jump(); // model
guy.draw(); // view</pre>
<p>But now I do:</p>
<pre>guy.jump(); // model
entityArtist.draw( guy ); // view</pre>
<p>This makes animation a pain! But as you figure it out, you feel better for it. At least I did! We should all thank electrical engineers for making processors so fast we can software engineer the hell out of our games. I suddenly really have to consider what is <em>game-affecting</em> and what is <em>cosmetic</em>. Animation is purely cosmetic, until the animation is of a guy rolling, and when he is in the somersault position, the bounding box becomes half-height!</p>
<p>This is where my brain dislodged itself a bit, because something obvious became apparent to me tonight, and I have some coding to do as a result:</p>
<p>Pixels mean <em>nothing at all</em> to the model. They become &#8220;world units&#8221; or something that has nothing to do with lovely little squares of light. In 2D games, particularily pixellated ones, apparently my favourite kind to attempt, they map perfectly onto one another. But I must break that bond! I want to be able to do a full 3D rendered version of my game by only changing the view classes. A &#8216;world unit&#8217; of OpenGL has nothing to do with a pixel! It&#8217;s up to the view to map them that way.</p>
<h2>Model-view mapping</h2>
<p>So now, I have my fancy recycled<em> Entity</em> management system for the model. It contains bounding boxes for collisions with the environment and fellow entities. However, I also need a <em>Sprite</em> management system, for the view. Entities map to Sprites. I think I&#8217;ll cheat and create both out of the same XML definition for now. But as it stands, I have a bit of code that does both right now (since the mapping is perfectly 1:1) and it&#8217;s time to diverge.</p>
<p>Moral of the story, Rob now believes the following: <strong></strong></p>
<ul>
<li><strong>Model</strong> is to <strong>View</strong> <em>as</em></li>
<li><strong>World Unit </strong>is to <strong>Pixel</strong> <em>as</em></li>
<li> <strong>Entity</strong> is to <strong>Sprite</strong></li>
</ul>
<p>And with that, the last shackles of pre-MVC is shed, and I delve into awesome. Until the next shackle is revealed. It&#8217;s late now, but I think the ol&#8217; noggin will sleep now. Apologies for the typos and adorable grammatical issues.</p>
<h2>OMG Another one</h2>
<p>The following morning I realize there is another in the series:</p>
<ul>
<li><strong>Tick</strong> is to <strong>Millisecond</strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/130/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two Week Vacation? Lame.</title>
		<link>http://veggies.lonelyfridge.com/archives/128</link>
		<comments>http://veggies.lonelyfridge.com/archives/128#comments</comments>
		<pubDate>Fri, 19 Dec 2008 22:47:08 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Excuses]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=128</guid>
		<description><![CDATA[So, the last two weeks have been tragically uneventful. The ol&#8217; wisdom teeth became a bigger pain than I thought a few days later, and I didn&#8217;t do much of anything. This was followed up by a week of visitors, and we all know how rude it is to code when company is over!
Today was [...]]]></description>
			<content:encoded><![CDATA[<p>So, the last two weeks have been tragically uneventful. The ol&#8217; wisdom teeth became a bigger pain than I thought a few days later, and I didn&#8217;t do much of anything. This was followed up by a week of visitors, and we all know how rude it is to code when company is over!</p>
<p>Today was my last day of school for the year, so I expect that I&#8217;ll start updating again shortly. The whole point of this blog was to post to it frequently, so that&#8217;s what I&#8217;ll do!</p>
<p>My next step is to move the old Tinyroidvania sprite-animation system (with XML loader!) into the game so the sprites will no longer be integers for an array of Textures. Once they know how to be animated, then we&#8217;ll have more interesting videos.</p>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/128/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Space Fortress: Showcase!</title>
		<link>http://veggies.lonelyfridge.com/archives/116</link>
		<comments>http://veggies.lonelyfridge.com/archives/116#comments</comments>
		<pubDate>Fri, 05 Dec 2008 02:10:07 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Space Fortress]]></category>

		<guid isPermaLink="false">http://veggies.lonelyfridge.com/?p=116</guid>
		<description><![CDATA[Things are now at the point and the GUI stuff seems squared away. It&#8217;s not finished or anything, but it&#8217;s ready for future expansion. Lots of the older code has been gutted out, it is becoming more manageable.
There was also a great big overhaul of the scene drawing code. Right now there are two drawing [...]]]></description>
			<content:encoded><![CDATA[<p>Things are now at the point and the GUI stuff seems squared away. It&#8217;s not finished or anything, but it&#8217;s ready for future expansion. Lots of the older code has been gutted out, it is becoming more manageable.</p>
<p>There was also a great big overhaul of the scene drawing code. Right now there are two drawing sweeps. First the tiles are drawn (the environment) then the entities (the things). Both of these sweeps are very crude at the moment, but their logic is pretty sound. It was a bit harder than I thought to get the entities to wrap around the x-axis. There are a few neat little special cases that had to be resolved.</p>
<p>In fact, I&#8217;m so proud of this, I&#8217;m going to stick up my first video!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="601" height="339" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=2432941&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=dddddd&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="601" height="339" src="http://vimeo.com/moogaloop.swf?clip_id=2432941&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=dddddd&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Geek stuff after the break!</p>
<p><span id="more-116"></span></p>
<p>Nerds can see in the &#8220;sprites&#8221; section of the debug window, there are three little letters that explain how the entity drawing/culling/wrapping works. <strong>A</strong> is the primary drawing box. It&#8217;s usually the only one used in sufficiently big worlds. Then there is <strong>W</strong> which is the wrapping box, with an optional <strong>P</strong> box for awkward cases right at the axis&#8230; oh geez. I need a diagram to describe this. Nevermind, just know that it&#8217;s kind of clever!</p>
]]></content:encoded>
			<wfw:commentRss>http://veggies.lonelyfridge.com/archives/116/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
