<?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>VectorStorm Blog &#187; VectorStorm</title>
	<atom:link href="http://www.vectorstorm.org/category/vectorstorm/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.vectorstorm.org</link>
	<description>Creating games, one brightly glowing line at a time.</description>
	<lastBuildDate>Tue, 27 Jul 2010 13:12:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Everywhere I look, Matrices!</title>
		<link>http://www.vectorstorm.org/2010/07/06/matrices/</link>
		<comments>http://www.vectorstorm.org/2010/07/06/matrices/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 12:28:05 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1413</guid>
		<description><![CDATA[Warning:  technical brain-dump post.  I&#8217;ll try to have something more interesting to non-techies tomorrow.  :) So there&#8217;s a major VectorStorm engine update that&#8217;ll be happening sometime in the near future;  it&#8217;s really needed for MMORPG Tycoon 2 (and any other 3D games I might feel like doing in the future). Here&#8217;s the thing.  VectorStorm was [...]]]></description>
			<content:encoded><![CDATA[<p>Warning:  technical brain-dump post.  I&#8217;ll try to have something more interesting to non-techies tomorrow.  :)</p>
<p>So there&#8217;s a major VectorStorm engine update that&#8217;ll be happening sometime in the near future;  it&#8217;s really needed for MMORPG Tycoon 2 (and any other 3D games I might feel like doing in the future).</p>
<p>Here&#8217;s the thing.  VectorStorm was written to be a 2D game engine, and so some of the things in it aren&#8217;t exactly what you&#8217;d want for a full 3D engine.  One example is its render management.  VectorStorm organises a game into a series of &#8220;layers&#8221;.  Each layer is drawn in front of the previous layer.  Now, in a game like MMORPG Tycoon 1 where your game was entirely 2D, and you wanted to make sure that your UI was being drawn in front of your game map, and tooltips were being drawn in front of the UI, and the cursor was being drawn in front of the tooltips, &#8220;layers&#8221; is a really sensible way to arrange things.  Within a layer, you couldn&#8217;t really predict how things would overlap.  So if it was important that object &#8220;A&#8221; draw in front of object &#8220;B&#8221;, you need to put object A in a higher layer than B.</p>
<p>However, in the world of 3D, we have depth buffers which handle this whole &#8220;what goes in front of what&#8221; thing for us more or less automatically.  Since MMORPG Tycoon 2 is a 3D game with a depth buffer, I mostly don&#8217;t need to draw things according to how they will overlap on screen;  the video card handles that for me.  Instead, I really want to draw according to whatever will allow the 3D card to render the game the most quickly.</p>
<p>(...)<br/>Read the rest of <a href="http://www.vectorstorm.org/2010/07/06/matrices/">Everywhere I look, Matrices!</a> (783 words)</p>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/07/06/matrices/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/07/06/matrices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VectorStorm trunk updated</title>
		<link>http://www.vectorstorm.org/2010/07/02/vectorstorm-trunk-updated/</link>
		<comments>http://www.vectorstorm.org/2010/07/02/vectorstorm-trunk-updated/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 12:50:53 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1409</guid>
		<description><![CDATA[Latest engine stuff from MMORPG Tycoon 2 development has now been brought into the VectorStorm library development trunk, and the testbed games have been adjusted to work with those changes. I&#8217;ve also uploaded the first new binary builds of those testbeds for the first time in ages.  The last build was of version 164 &#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>Latest engine stuff from MMORPG Tycoon 2 development has now been brought into the VectorStorm library development trunk, and the testbed games have been adjusted to work with those changes.</p>
<p>I&#8217;ve also uploaded the first new binary builds of those testbeds for the first time in ages.  The last build was of version 164 &#8212; this new one is version 1175.  The games themselves aren&#8217;t any different, but this now has the &#8220;ATI shader&#8221; fix which should have modern ATI cards able to use bloom and other shaders.  If you want to have a look, the link is in the sidebar, under &#8220;VectorStorm testbed games.&#8221;</p>
<p>If you&#8217;re interested in seeing the source code for the game library that I&#8217;ve written and use for all my games on this site, the source is publicly available under the terms of the GPL.  Details are on the page for the testbed games.</p>
<p>Now, back to MMORPG Tycoon 2 development!</p>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/07/02/vectorstorm-trunk-updated/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/07/02/vectorstorm-trunk-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Today</title>
		<link>http://www.vectorstorm.org/2010/07/01/today-4/</link>
		<comments>http://www.vectorstorm.org/2010/07/01/today-4/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 13:18:03 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1404</guid>
		<description><![CDATA[So it&#8217;s been a day of maintenance.  I&#8217;ve been merging all the VectorStorm library changes back into the public library trunk.  I&#8217;m about halfway through;  I&#8217;ve got the Mac build working, I&#8217;ll get the Win32 build going tomorrow.  The screenshot here is the original 3D sample that you may remember from ages back. Notable changes: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vectorstorm.org/wp-content/uploads/2010/07/VectorStormTestbed.jpg"><img class="alignnone size-medium wp-image-1405" title="VectorStormTestbed" src="http://www.vectorstorm.org/wp-content/uploads/2010/07/VectorStormTestbed-300x193.jpg" alt="" width="300" height="193" /></a>So it&#8217;s been a day of maintenance.  I&#8217;ve been merging all the VectorStorm library changes back into the public library trunk.  I&#8217;m about halfway through;  I&#8217;ve got the Mac build working, I&#8217;ll get the Win32 build going tomorrow.  The screenshot here is the original 3D sample that you may remember from ages back.</p>
<p>Notable changes:</p>
<ul>
<li>vsMaterials are now very important.  Previously, they were a novelty, now they&#8217;re a core concept in the VectorStorm library, completely replacing the old &#8220;DrawMode&#8221;, and mostly supplanting direct setting of colors in display lists.  Materials are now loaded from data, instead of being specified in code.</li>
<li>The bloom effect is much more subdued than previously.  This is largely because of work I&#8217;ve done in MMORPG2 to make there be a smaller visual difference between bloom-enabled and bloom-disabled builds.</li>
<li>Added full lighting/fog/etc shaders &#8212; the same ones (currently) being used in MMORPG Tycoon 2.</li>
<li>vsOverlays are no longer supported.  They were cool and quirky, but they really don&#8217;t fit in with the new focus on performance.</li>
</ul>
<div>All this isn&#8217;t checked in yet.  I&#8217;ll put it in tomorrow, along with updated binaries for Win32 and OS X.</div>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/07/01/today-4/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/07/01/today-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The score so far&#8230;</title>
		<link>http://www.vectorstorm.org/2010/05/17/the-score-so-far/</link>
		<comments>http://www.vectorstorm.org/2010/05/17/the-score-so-far/#comments</comments>
		<pubDate>Mon, 17 May 2010 09:06:20 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1269</guid>
		<description><![CDATA[From a quick investigation of the current MMORPG Tycoon 2 codebase, I discovered: hilite : 189 instances hilight:  103 instances highlight (the correct spelling):  3 instances One of which was this:  &#8221;float m_hilightLength; // how long is my highlight?&#8221; And to think that I thought I was a stickler for spelling in my codebases!  Fixing [...]]]></description>
			<content:encoded><![CDATA[<p>From a quick investigation of the current MMORPG Tycoon 2 codebase, I discovered:</p>
<ul>
<li>hilite : 189 instances</li>
<li>hilight:  103 instances</li>
<li>highlight (the correct spelling):  3 instances</li>
</ul>
<p>One of which was this:  &#8221;float			m_hilightLength;	// how long is my highlight?&#8221;</p>
<p>And to think that I thought I was a stickler for spelling in my codebases!  Fixing it now.  :)</p>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/05/17/the-score-so-far/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/05/17/the-score-so-far/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VectorStorm engine improvements</title>
		<link>http://www.vectorstorm.org/2010/05/01/vectorstorm-engine-improvements/</link>
		<comments>http://www.vectorstorm.org/2010/05/01/vectorstorm-engine-improvements/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 14:21:51 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Engine]]></category>
		<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1247</guid>
		<description><![CDATA[I&#8217;ve spent a day working on VectorStorm engine improvements, today.  Those who aren&#8217;t interested in technical details should probably skip the rest of this post;  sorry, guys! Here&#8217;s the list of improvements: 2D Display lists now correctly calculate their bounding boxes, even if there are transforms applied within the display list.  (previously, transforms within a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent a day working on VectorStorm engine improvements, today.  Those who aren&#8217;t interested in technical details should probably skip the rest of this post;  sorry, guys!</p>
<p>Here&#8217;s the list of improvements:</p>
<p>2D Display lists now correctly calculate their bounding boxes, even if there are transforms applied within the display list.  (previously, transforms within a display list were ignored for the purposes of calculating their visible size.  This probably wouldn&#8217;t have affected anyone;  it&#8217;s pretty unusual for a transform to be explicitly placed inside a display list that cares about its bounding box.</p>
<p>Bitmap font rendering now uses a vsBuffer to store each font glyph, so their data is stored on the GPU persistently, instead of needing to push explicit vertex positions and texture coordinates into the display list to draw text to the screen.  As a result, font rendering commands now only take up about a third as much system memory as they used to.  (My MMORPG Tycoon example was the string &#8220;Monster Type&#8221;, which dropped from requiring 1232 bytes of display list data to draw under the old system, to requiring only 352 bytes of display list data now that it&#8217;s using vsBuffers to store its vertex data.)</p>
<p>As a quick reminder, vsBuffer is my wrapper around OpenGL&#8217;s concept of VBOs (&#8220;Vertex Buffer Objects&#8221;), which are designed to store blobs of frequently-used data on the GPU.  The vsBuffer will also transparently fall-back to OpenGL&#8217;s older &#8220;array&#8221; functionality, for folks whose 3D cards or drivers don&#8217;t support VBOs.   Today, I have implemented interleaved VBOs within vsBuffer.</p>
<p>The old way of using vsBuffer was to give it an array of positions or colors or some other data type, and then put a command onto a display list telling the renderer what to do with the buffer.  (For example, you might tell it to use one buffer as a vertex position buffer, and another one as a normal buffer, and yet another as a texture coordinate buffer, each storing one type of data about each vertex to be drawn.)  That old code will all still work.  However, you can now use the explicit vertex formats exposed by the vsBuffer, such as &#8220;PNT&#8221;, for vertices which specify a position, a normal, and a texture coordinate.  The vsBuffer places all these bits of data together into a single OpenGL VBO, interleaved for fast access.  You bind these interleaved buffers by giving a &#8220;BindBuffer&#8221; command to the display list.  When finished, you can either give an &#8220;UnbindBuffer&#8221;, or &#8220;ClearAllArrays&#8221; command.</p>
<p>I&#8217;ve also converted the vsMesh utility class to automatically use its internal vsBuffers in interleaved mode, when it can.  So if you were already using the vsMesh or the vsMeshMaker (as I do in MMORPG Tycoon 2), you&#8217;ll automatically get this improvement.</p>
<p>With that said, I only see a moderate performance improvement on my laptop, but every little bit helps.  And I&#8217;m reliably informed that on embedded systems (such as mobile phones) that having interleaved VBOs gives substantially improved performance.  And someday I might want to look into things like that, I suppose.</p>
<p>Anyhow, as is often the case with these sorts of improvements, I&#8217;ve done this in my MMORPG Tycoon 2 development branch;  these changes haven&#8217;t yet been migrated back into the main publicly accessible VectorStorm trunk.  But I&#8217;ll get to that eventually.  :)</p>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/05/01/vectorstorm-engine-improvements/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/05/01/vectorstorm-engine-improvements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New this week:</title>
		<link>http://www.vectorstorm.org/2010/04/19/new-this-week/</link>
		<comments>http://www.vectorstorm.org/2010/04/19/new-this-week/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 13:21:35 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1215</guid>
		<description><![CDATA[Further UI improvements, working on improving general usability.  I&#8217;m trying to expand on the existing features, making them more powerful and easier to use.  This has required a fair amount of &#8220;under the hood&#8221; work.  Right now, the UI is using both the old and new systems, with the old systems taking priority (that is, [...]]]></description>
			<content:encoded><![CDATA[<p>Further UI improvements, working on improving general usability.  I&#8217;m trying to expand on the existing features, making them more powerful and easier to use.  This has required a fair amount of &#8220;under the hood&#8221; work.  Right now, the UI is using both the old and new systems, with the old systems taking priority (that is, the new systems are only in operation when you&#8217;re not using the old systems).  Hopefully, over the next few days the old system will be phased out entirely.</p>
<p>Most notable new visible change is that you can now move any object around the MMO world just by clicking on and dragging it.  This includes buildings, PCs, NPCs, and monsters.  (Previously, you could only move buildings, and you had to activate a specific tool button to do it;  now it happens by default when you try to drag an object in the world).</p>
<p>This means that you can (for example) grab any PC and drop him into a field of monsters, or into the middle of a wide lake, or etc.  It also means that you&#8217;re no longer completely reliant on the your AI devs to place monsters for you;  you can now manually move monsters around to wherever you want, whenever you want.  If you don&#8217;t want to, though, the AI devs will still do it for you automatically.  (TODO:  devs don&#8217;t currently like it if you grab a monster out of their grip;  they&#8217;ll fight you for control of it.  Need to make the devs gracefully release a monster if you grab it from them)</p>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/04/19/new-this-week/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/04/19/new-this-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Look, up in the sky!</title>
		<link>http://www.vectorstorm.org/2010/04/06/look-up-in-the-sky/</link>
		<comments>http://www.vectorstorm.org/2010/04/06/look-up-in-the-sky/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 12:08:54 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1209</guid>
		<description><![CDATA[So the thing I&#8217;m most excited about today is that I finally cracked the nut of how to get the developers up above the ground (and, for that matter, how to handle flight in general).  I was really annoyed to always have those developer cursors crawling along the ground, half-hidden under the ground!  Here you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vectorstorm.org/wp-content/uploads/2010/04/FlyingDevs.jpg"><img class="alignnone size-medium wp-image-1210" title="FlyingDevs" src="http://www.vectorstorm.org/wp-content/uploads/2010/04/FlyingDevs-300x193.jpg" alt="" width="300" height="193" /></a>So the thing I&#8217;m most excited about today is that I finally cracked the nut of how to get the developers up above the ground (and, for that matter, how to handle flight in general).  I was really annoyed to always have those developer cursors crawling along the ground, half-hidden under the ground!  Here you can see a group of developers that are in the process of placing some monsters (currently displayed as red boxes)</p>
<p>I&#8217;m also thrilled to have the mountainous region boundaries back.  I lost them for a bit after converting to the &#8220;paint-on&#8221; terrain interface, but I&#8217;ve got them back again now!  The player can use the brush tools to make the mountainous areas at the borders of each region wider, but cannot actually remove the mountain borders;  they&#8217;re permanent fixtures of the world.  Eventually, there&#8217;ll be a type of building you can place to make a small pass through the mountains, to allow subscribers to travel from one region to another.</p>
<p>But neither of those were really important fixes;  just little visual touches that I was glad to get in.  I also got a good start on some more game mechanics.</p>
<p>In the screenshot here, the big pillar in the background marks what I&#8217;m currently calling a &#8220;Grinding Zone&#8221; (suggestions for better names are welcome!)  Basically, you place one of these to tell your developers that you want there to be monsters to fight in that general area.  You will be able to (but cannot yet) specify how big the area is, what type of monsters should be there, what levels they should be, and how many you want.  Once you have &#8220;Grinding Zones&#8221; placed, subscribers will go to them when they want to fight monsters.  Alternately, you can use them as destinations for hunting quests, to force your poor subscribers to defeat twenty spiders and then return.</p>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/04/06/look-up-in-the-sky/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/04/06/look-up-in-the-sky/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Editing quests</title>
		<link>http://www.vectorstorm.org/2010/04/05/editing-quests/</link>
		<comments>http://www.vectorstorm.org/2010/04/05/editing-quests/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 13:19:22 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1206</guid>
		<description><![CDATA[Starting on an interface for editing quests today.  As you can see, it&#8217;s still really early;  not very much there yet. Also today, massive changes and bugfixes to lots of things under the hood.  Notably, fixes to rendering of text-edit-buttons, fixes to text entry (you can enter punctuation, now!  And more than 32 characters!), added [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vectorstorm.org/wp-content/uploads/2010/04/QuestEditing.jpg"><img class="alignnone size-medium wp-image-1207" title="QuestEditing" src="http://www.vectorstorm.org/wp-content/uploads/2010/04/QuestEditing-300x193.jpg" alt="" width="300" height="193" /></a>Starting on an interface for editing quests today.  As you can see, it&#8217;s still really early;  not very much there yet.</p>
<p>Also today, massive changes and bugfixes to lots of things under the hood.  Notably, fixes to rendering of text-edit-buttons, fixes to text entry (you can enter punctuation, now!  And more than 32 characters!), added functionality to the vsBox2D and vsFont, and a couple other minor bits and bobs that will eventually find their way back into the trunk VectorStorm library.</p>
<p>But the fun stuff is that I made it so that the action bars can be placed either vertically or horizontally;  I&#8217;m thinking about using them instead of the old-style build toolbars that you&#8217;ll remember from earlier screenshots and versions of MMORPG Tycoon.  In this screenshot, I&#8217;ve selected a quest giver, which has opened up a quest editing action bar on the left, where I can select any of his five current quests.  Right now, I&#8217;m looking at the one labelled &#8220;Q4&#8243;, which is a fetch quest.  So far, the player can edit the quest name and description, and add quests to the QuestGiver&#8217;s list (by clicking the little &#8216;+&#8217; button).  All of these new functions are being performed via the (relatively) new scripting system;  each button in the actionbars just sends a text command into the scripting system, which takes whatever action is required.  This approach really is an awful lot nicer to to write and maintain than the &#8220;every button is a different class which holds its own game logic&#8221; approach which I was using in previous versions!</p>
<p>But I&#8217;ve derailed myself;  I was talking about quest editing.  Right now, the actual tasks which must be performed to complete each quest are still being procedurally generated, rather than actually being settable by the player.  But I&#8217;ll get to that tomorrow.  :)</p>
<p>Also on the radar: I&#8217;ve been thinking about getting rid of the &#8220;context matrix&#8221; in the top right corner of the screen, which shows actions you can take on a selected object.  It just uses up too much screen space, and I think it would work every bit as well (and without intruding into the screen nearly as much!) as a simple action bar.</p>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/04/05/editing-quests/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/04/05/editing-quests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quest Givers</title>
		<link>http://www.vectorstorm.org/2010/02/23/quest-givers/</link>
		<comments>http://www.vectorstorm.org/2010/02/23/quest-givers/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 11:04:29 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1175</guid>
		<description><![CDATA[Not much development time tonight.  But I did set it up so that you can buy and place quest givers.  And I told the procedural model building code how to make a big yellow exclamation point above the quest giver. Also today, I noticed that I was frequently getting crashes after placing a few buildings [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vectorstorm.org/wp-content/uploads/2010/02/QuestGiver.jpg"><img class="alignnone size-medium wp-image-1176" title="QuestGiver" src="http://www.vectorstorm.org/wp-content/uploads/2010/02/QuestGiver-300x193.jpg" alt="" width="300" height="193" /></a>Not much development time tonight.  But I did set it up so that you can buy and place quest givers.  And I told the procedural model building code how to make a big yellow exclamation point above the quest giver.</p>
<p>Also today, I noticed that I was frequently getting crashes after placing a few buildings and roads.  I eventually discovered that the problem was the monsters &#8211; they were noticing when they were placed too close to a road, and were registering jobs for developers to move them into better positions.  This was old code left over from v1.1, and I was thrilled to see it still working.  Well, mostly working.  They were registering the position they wanted to be moved to in world-space, whereas everything is now running relative to the region it&#8217;s currently in, and so they were giving the developers bad positions to move to.  (It&#8217;s a bit like telling someone where you are by telling them how far you are from the edges of your map, when you&#8217;re looking at world map, and the person you&#8217;re talking to is looking at a city map &#8212; the positions on the map aren&#8217;t going to line up properly!)  Once I fixed that problem, they&#8217;re working again.  Place a road, and developers automatically move any nearby monsters away, to keep the roads relatively safe.</p>
<p>Not bad for code that was originally written back when the game was entirely made of 2D vector graphics.</p>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/02/23/quest-givers/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/02/23/quest-givers/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Today&#8217;s stuff</title>
		<link>http://www.vectorstorm.org/2010/02/22/todays-stuff/</link>
		<comments>http://www.vectorstorm.org/2010/02/22/todays-stuff/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 10:38:49 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[VectorStorm]]></category>

		<guid isPermaLink="false">http://www.vectorstorm.org/?p=1171</guid>
		<description><![CDATA[So today I&#8217;ve done a bunch of things.  First, I&#8217;ve made the regions slightly smaller.  This has had a lot of positive effects.  Previously they averaged about 1km by 1km;  now they&#8217;re about 700m by 700m;  small enough that you can comfortably stand in the middle and see all the way to the region boundaries [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vectorstorm.org/wp-content/uploads/2010/02/BetterClumping.jpg"><img class="alignnone size-medium wp-image-1172" title="BetterClumping" src="http://www.vectorstorm.org/wp-content/uploads/2010/02/BetterClumping-300x193.jpg" alt="" width="300" height="193" /></a>So today I&#8217;ve done a bunch of things.  First, I&#8217;ve made the regions slightly smaller.  This has had a lot of positive effects.  Previously they averaged about 1km by 1km;  now they&#8217;re about 700m by 700m;  small enough that you can comfortably stand in the middle and see all the way to the region boundaries in each direction.  But better, the same number of monsters in the world (about 650) looks just about right, now that they&#8217;re crammed into a smaller space!</p>
<p>Second, I brought back the &#8220;subregions&#8221; concept, where each region is divided into lots of smaller regions.  Last time I tried this, those smaller regions had full terrain definitions, and blending between those terrain definitions was painfully slow while building the terrain.  I&#8217;ve simplified that a lot, so now the subregions only specify a height, and that height is blended between the subregions.  It gives the terrain a nice non-uniformity, I think.  (If you view the full-size screenshot, you&#8217;ll see some blue vector lines;  those are showing the borders of the subregions)  But more than that, I&#8217;m wanting to try using these subregions as quest zones;  the player doesn&#8217;t actually create the quest zones &#8212; instead, he merely configures what should be in them and then has quests send subscribers into them.</p>
<p>Third, I fixed a number of terrain bugs, the worst of which was causing subtle incorrect behaviour at the north ends of regions, and some wasted CPU time everywhere else.  I also fixed a problem where a region boundary passed within 100 meters of a heightmap border, but didn&#8217;t cross that border;  it left a nasty gap in the mountains.  That&#8217;s now fixed as well.</p>
<p>Next step is going to be placing NPCs, and then the quest-making interface.  Hope to get most of that done tomorrow.  Crossing fingers!</p>
<hr />
<p><small>© Trevor for <a href="http://www.vectorstorm.org">VectorStorm Blog</a>, 2010. |
<a href="http://www.vectorstorm.org/2010/02/22/todays-stuff/">Permalink</a> 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.vectorstorm.org/2010/02/22/todays-stuff/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
