<?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>Gravec.at &#187; Programming</title>
	<atom:link href="http://gravec.at/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://gravec.at</link>
	<description>Blogging Like It&#039;s 1999</description>
	<lastBuildDate>Sat, 28 Aug 2010 16:29:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Couldn&#8217;t have said it better myself</title>
		<link>http://gravec.at/2010/couldnt-have-said-it-better-myself/</link>
		<comments>http://gravec.at/2010/couldnt-have-said-it-better-myself/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 16:28:14 +0000</pubDate>
		<dc:creator>Gravecat</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://gravec.at/?p=434</guid>
		<description><![CDATA[&#8220;When you were born you shit yourself all the time, couldn’t talk and your hands were too small to shoryuken. in other words you really sucked at being a person, but thats ok, when you start out at anything you will suck, the same is true for making games.&#8221; &#8212; Sophie Houlden, via Ascii Dreams [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;When you were born you shit yourself all the time, couldn’t talk and  your hands were too small to shoryuken. in other words you really sucked  at being a person, but thats ok, when you start out at anything you  will suck, the same is true for making games.&#8221; &#8212; <a href="http://www.sophiehoulden.com/blog/?p=84">Sophie Houlden</a>, via <a href="http://roguelikedeveloper.blogspot.com/2010/07/true-dat.html">Ascii Dreams</a></p>
<p>So very true. And that&#8217;s why, despite some setbacks and poor decisions early on, my days of crazy and impractical projects are <em>far</em> from over.</p>
<p><small>Also: I couldn&#8217;t even shoryuken until a couple of years ago.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://gravec.at/2010/couldnt-have-said-it-better-myself/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Life, such that it is</title>
		<link>http://gravec.at/2010/life-such-that-it-is/</link>
		<comments>http://gravec.at/2010/life-such-that-it-is/#comments</comments>
		<pubDate>Sun, 23 May 2010 15:04:49 +0000</pubDate>
		<dc:creator>Gravecat</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://gravec.at/?p=399</guid>
		<description><![CDATA[Well, it seems that I don&#8217;t often write about life in general unless things are grim, so here&#8217;s a somewhat more upbeat summary of life as a whole lately: Life&#8217;s been interesting, which is to say, it&#8217;s been up and down like a rollercoaster but never fails to beat the tedious drudgery that I&#8217;d experience [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it seems that I don&#8217;t often write about <em>life</em> in general unless things are grim, so here&#8217;s a somewhat more upbeat summary of life as a whole lately:</p>
<p>Life&#8217;s been <em>interesting</em>, which is to say, it&#8217;s been up and down like a rollercoaster but never fails to beat the tedious drudgery that I&#8217;d experience without the chaos. My programming projects have been put on temporary hold lately as I&#8217;ve been focusing on <em>World of Warcraft</em> and my electronics project, suffering the relentless and thoroughly unwelcome, oppressive heat of the summer and other associated annoyances that come with this most loathesome of seasons, and both pondering and happily resolving a few confusions and points of contention regarding relationship-related matters. I don&#8217;t usually mention much related to my love-life on this blog for a number of reasons, but let me assure those of you who care about my mental stability that things could not be better right now on that front.</p>
<p>Oh, and I walked face-first into a street sign that was far too low yesterday, because the sun was in my eyes and making it hard to see where the hell I was going. Normally I wouldn&#8217;t admit this at all, but I know for a <em>fact</em> that people are going to ask what&#8217;s with the cuts and bruises, and I&#8217;m not <em>nearly</em> manly enough to be able to lie and say it was the result of a bar-fight, <em>and you should have seen the other guy</em>.</p>
<p>In conclusion: Life rocks, and my face is pretty much okay. That is all.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravec.at/2010/life-such-that-it-is/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remnant Core moved!</title>
		<link>http://gravec.at/2010/remnant-core-moved/</link>
		<comments>http://gravec.at/2010/remnant-core-moved/#comments</comments>
		<pubDate>Sat, 08 May 2010 13:25:19 +0000</pubDate>
		<dc:creator>Gravecat</dc:creator>
				<category><![CDATA[Mini-posts]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Remnant Core]]></category>

		<guid isPermaLink="false">http://gravec.at/2010/remnant-core-moved/</guid>
		<description><![CDATA[Just a quick post to mention that Remnant Core is no longer hosted on this site. I&#8217;ve created a separate site for my current and future programming projects, so my rambling doesn&#8217;t have to get mixed up with code nerdery and vice-versa. For current and future information about Remnant Core and other endeavours, check out [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick post to mention that Remnant Core is no longer hosted on this site. I&#8217;ve created a separate site for my current and future programming projects, so my rambling doesn&#8217;t have to get mixed up with code nerdery and vice-versa. For current and future information about Remnant Core and other endeavours, check out my project site at <a href="http://www.bitloaf.com/">BitLoaf</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravec.at/2010/remnant-core-moved/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Remnant Core: Mostly working</title>
		<link>http://gravec.at/2010/mostly-working/</link>
		<comments>http://gravec.at/2010/mostly-working/#comments</comments>
		<pubDate>Sun, 02 May 2010 12:31:04 +0000</pubDate>
		<dc:creator>Gravecat</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Remnant Core]]></category>

		<guid isPermaLink="false">http://gravec.at/?p=370</guid>
		<description><![CDATA[Well, it&#8217;s been a pretty crazy 24 hours since I decided to implement my plans for a pseudo-3D engine in Remnant Core, but I&#8217;m happy to say things are mostly working. In the process I&#8217;ve crushed some old bugs &#8212; including one that&#8217;s been around since the very first version, 0.0.1! &#8212; and struggled with [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s been a pretty crazy 24 hours since I decided to implement my plans for a pseudo-3D engine in Remnant Core, but I&#8217;m happy to say things are <em>mostly</em> working. In the process I&#8217;ve crushed some old bugs &#8212; including one that&#8217;s been around since the very first version, 0.0.1! &#8212; and struggled with some new ones that have cropped up, while inadvertently changing the data storage structures in such a way that they literally take a quarter of the space they did before (despite the addition of 3D space). It&#8217;s been a long, strange trip, but the engine is now well on the way to fully supporting this new 3D environment. And did I not say I&#8217;d post proof-of-concept screens when I got it working?</p>
<p>First, we start off on the street at ground level (<a href="http://gravec.at/view/?3d-1.gif">fig.A</a>). This is nothing special. But let&#8217;s go up to the second floor (<a href="http://gravec.at/view/?3d-2.gif">fig.B</a>). Suddenly things get interesting; the dark blue is the street below, we&#8217;ve already seen it at ground level so it&#8217;s &#8220;remembered&#8221; at this level up too. Now we blow a hole in the wall (<a href="http://gravec.at/view/?3d-3.gif">fig.C</a>) and have a clearer view &#8212; if we hadn&#8217;t already seen the street below, it&#8217;d be seen and remembered by this point, vision extends one Z-level above and below the player. Blowing a hole in the wall of the opposite building (<a href="http://gravec.at/view/?3d-4.gif">fig.D</a>) lets us take a look in there too, but dropping back down to street level (<a href="http://gravec.at/view/?3d-5.gif">fig.E</a>) we can only see ground level again; the destruction is not visible, as it happened on the second floor.</p>
<p>Of course, that&#8217;s just the tip of the iceberg as far as the potential of this 3D engine goes, but it should give a fairly decent example of how the game handles multi-storey buildings, without separating them into completely individual spaces. Not bad for a day&#8217;s work, huh?</p>
]]></content:encoded>
			<wfw:commentRss>http://gravec.at/2010/mostly-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remnant Core: The third dimension</title>
		<link>http://gravec.at/2010/the-third-dimension/</link>
		<comments>http://gravec.at/2010/the-third-dimension/#comments</comments>
		<pubDate>Sat, 01 May 2010 12:14:53 +0000</pubDate>
		<dc:creator>Gravecat</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Remnant Core]]></category>

		<guid isPermaLink="false">http://gravec.at/?p=368</guid>
		<description><![CDATA[I know I said I wasn&#8217;t going to do any more major code re-writes, that Remnant Core was getting to the stage where I was really happy with its internal workings and had no particular urge to rebuild its core functions further. But like Archimedes discovering the displacement of water in his bathtub, I was [...]]]></description>
			<content:encoded><![CDATA[<p>I know I said I wasn&#8217;t going to do any more major code re-writes, that Remnant Core was getting to the stage where I was really happy with its internal workings and had no particular urge to rebuild its core functions further. But like Archimedes discovering the displacement of water in his bathtub, I was suddenly struck with possibly the greatest idea I&#8217;ve had so far &#8212; and, more importantly, the <em>method</em> in which to implement this insane plan.</p>
<p>I&#8217;m talking, of course, about the <em>third dimension</em>. While I&#8217;d already planned on expanding the city-building algorithm to create buildings with multiple floors, I was struck by some fundamental flaws in that design: Could the player not simply run up a flight of stairs and be instantly safe from whatever horrors lurked below? Would time <em>stop</em> on anything but the current layer of building? None of this seemed terribly adequate for my grand designs, until suddenly the idea and method of execution popped into my head.</p>
<p>Now, I don&#8217;t want to explain how I&#8217;d implement this &#8212; something I believe I can reliably work into the existing 2D code in a matter of hours &#8212; but the plan would allow for some truly unique mechanics, such as explosions that not only damage the structure of the current level <em>but the levels above and below</em>, or perhaps a scenario I regaled a friend with while elaborating on the plan &#8212; the player could run up a flight of stairs and set a trap at the top for the following hordes of demonic horrors to run into, or perhaps destroy an outer wall with a grenade and jump out of the second floor, landing (and taking minor damage from the fall) on the street outside, having time to flee before the horrors catch up.</p>
<p>I think this&#8217;d add an extra dimension &#8212; if you&#8217;ll pardon the pun &#8212; of strategy and depth to the game, something which I honestly haven&#8217;t seen outside of <em>Dwarf Fortress</em>; most roguelikes treat each two-dimensional &#8220;floor&#8221; as a separate entity entirely. And let it not be said that I&#8217;m all talk; if this plan works out as well as I&#8217;ve imagined it in my head, I&#8217;ll be posting proof-of-concept screenshots the very moment I&#8217;ve got it working.</p>
<p>Keep your eyes peeled. Shit is about to get <em>real</em>.</p>
<p><strong>Edit @ 2:58pm:</strong> Terrain data structures modified, three-dimensional world is now <em>partially</em> working. There&#8217;s a lot of things (e.g. dropping items) that are going to need work, monster AI still doesn&#8217;t work in 3D, LoS is broken but not difficult to fix.  Gravity is going to be a bitch.<br />
<strong>Edit @ 3:35pm:</strong> Line-of-sight, terrain flags and visibility fixed, &#8220;copypasta&#8221; routine used in area generation now 3D-compatible. Taking a break!<br />
<strong>Edit @ 9:43pm:</strong> Things are more or less working great, including visibility to lower levels (standing on a rooftop looking down at the city, etc.), though it&#8217;s introduced a slew of new bugs and brought some obscure old ones to light which have been floating around since around 0.17 or so. This&#8217;ll take a few days to clean up. Screenshots soon!<br />
<strong>Edit @ 11.00am:</strong> Oh dear god <em>what</em>. One of the bugs that&#8217;s surfaced could easily have been a part of the code since the very first version of the game. We&#8217;re talking 0.0.1 here. It&#8217;s become pretty ingrained and will take some effort to budge.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravec.at/2010/the-third-dimension/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Remnant Core: Three six six</title>
		<link>http://gravec.at/2010/three-six-six/</link>
		<comments>http://gravec.at/2010/three-six-six/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 18:16:49 +0000</pubDate>
		<dc:creator>Gravecat</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Remnant Core]]></category>

		<guid isPermaLink="false">http://gravec.at/?p=366</guid>
		<description><![CDATA[For those who may or may not be wondering where the hell I&#8217;ve been lately, the answer is mostly along the lines of being up to my ears in code. I&#8217;ve been working pretty hard on Remnant Core, the roguelike project I started in October and put on the bench for a couple of months [...]]]></description>
			<content:encoded><![CDATA[<p>For those who may or may not be wondering where the hell I&#8217;ve been lately, the answer is mostly along the lines of being up to my ears in code. I&#8217;ve been working pretty hard on Remnant Core, the roguelike project I started in October and put on the bench for a couple of months before digging out again. While there isn&#8217;t anything to show off to the public yet, all I can do is assure those who have shown an interest in the project that things are coming along nicely, and I&#8217;ve got some screenshots in the Remnant Core section of the site if you want a peek, though it&#8217;s early days yet.</p>
<p>Truth be told, most of the work so far has been going into the engine and the <em>structure</em> of the game; I admit I&#8217;ve made a lot of mistakes in the early days and more or less had to scrap and re-build everything from scratch around December, and it was largely put on hold aside from a little tinkering until March, but it&#8217;s been coming in leaps and bounds over the last month. Debugging has also become less of a pain in the ass, as I&#8217;ve got some nicely integrated code to output a more helpful message during segfaults, and recently solved an infinite-loop problem with the city generator which had been baffling me for a good hour before I finally broke down, wrote extra code to output logs to a text file, and sifted through the several megs of output.</p>
<p><code>19:02 building_a(): Mapping out secondary rooms.<br />
19:02 building_a(): Second sweep for secondary rooms.<br />
19:02 building_a(): Viable green areas found: 0. Cutting out corridors.</code></p>
<p>Oops. That&#8217;s what I get for making assumptions: The secondary corridor routine <em>requires</em> at least one green area (a colour-coded identifier for a certain shape and type of generated rooms), preferably a dozen or more. At least now that&#8217;s nailed down, I can see about re-implementing the limited-tries system (which will grudgingly accept below-average quality constructions after trying more than a hundred or so times &#8212; with a little luck it won&#8217;t segfault this time), and start work on the second building generator. Complicated stuff, but it&#8217;ll all be worth it in the end, I guarantee it.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravec.at/2010/three-six-six/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wouldn&#8217;t you like to be a Pepper too?</title>
		<link>http://gravec.at/2010/be-a-pepper-too/</link>
		<comments>http://gravec.at/2010/be-a-pepper-too/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 12:07:31 +0000</pubDate>
		<dc:creator>Gravecat</dc:creator>
				<category><![CDATA[Braindump]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://gravec.at/?p=194</guid>
		<description><![CDATA[Sometimes I wish it was possible to insert images into compiled C code, in a way that&#8217;d make them pop up on the screen &#8212; 90s hacker movie style &#8212; when anyone tried to tamper with my precious creation. Mostly, I wish this was possible because then I&#8217;d have this pop up inside a large, [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I wish it was possible to insert images into compiled C code, in a way that&#8217;d make them pop up on the screen &#8212; 90s hacker movie style &#8212; when anyone tried to tamper with my precious creation.</p>
<p>Mostly, I wish this was possible because then I&#8217;d have this pop up inside a large, angry, hazard-line box.</p>
<p><img class="size-full wp-image-193  alignnone" title="Johnny 5" src="http://gravec.at/wp-content/uploads/2010/03/johnny_5.jpg" alt="" width="250" height="332" /></p>
<p>Oh, c&#8217;mon. You know that&#8217;d be <em>awesome</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gravec.at/2010/be-a-pepper-too/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
