<?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>Emergent Game Design Blog &#187; Uncategorized</title>
	<atom:link href="http://www.emergentgamedesign.com/wordpress/?cat=1&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.emergentgamedesign.com/wordpress</link>
	<description>Creating fun and complex games from simple principles...</description>
	<lastBuildDate>Tue, 27 Nov 2012 14:16:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Octree Overhead</title>
		<link>http://www.emergentgamedesign.com/wordpress/?p=97</link>
		<comments>http://www.emergentgamedesign.com/wordpress/?p=97#comments</comments>
		<pubDate>Thu, 19 Apr 2012 00:52:45 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emergentgamedesign.com/wordpress/?p=97</guid>
		<description><![CDATA[A quick look at the amount of memory overhead in a simple octree structure like: struct blockinfo_t {       byte Type;       byte Flags;       byte Extra1;       byte Extra2; }; //sizeof() &#8230; <a href="http://www.emergentgamedesign.com/wordpress/?p=97">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A quick look at the amount of memory overhead in a simple octree structure like:</p>
<pre style="padding-left: 30px;">struct blockinfo_t
{
      byte Type;
      byte Flags;
      byte Extra1;
      byte Extra2;
}; //sizeof() = 4 bytes</pre>
<pre style="padding-left: 30px;">struct octreenode_t
{
       octreenode_t *pNodes[8];
       int Size;
       blockinfo_t* pBlockInfo;
}; //sizeof() = 44 bytes + 4 * NumBlocks</pre>
<p>Taking a 1024x1024x1024 block world we get the following amount of memory required for each level of the octree (this does not include the actual block data):</p>
<ol>
<li>44 bytes</li>
<li>352 bytes</li>
<li>2.8 kb</li>
<li>22.5 kb</li>
<li>180 kb</li>
<li>1.4 Mb</li>
<li>11.5 Mb</li>
<li>92 Mb</li>
<li>738 Mb</li>
<li>5.9 Gb</li>
<li>47 Gb</li>
</ol>
<p>Now, a real octree won&#8217;t be completely full at all levels so the above numbers are a worst-case scenario but we can clearly see that the overhead of the octree itself gets worse at the higher levels of detail. For example, at the second highest (10) each there is 40 bytes of octree for every 32 bytes of actual block data. This actually gets much worse if we consider a 64-bit system.</p>
<p>One way of combating the high memory overhead at the high details levels in the octree is to combine it with the concept of block chunks. The octree will be used until it reaches the chunk size at which point the octree subdivision ends and all blocks in the chunk are stored at once. This also helps combat the extreme non-locality of adjacent blocks if we use the octree structure down to the individual block.</p>
<p>As a specific example let us take the previous case and use a chunk size of 16x16x16. At this size the octree ends after #7 in the list meaning we have less than 15 Mb of total octree data compared to 4 Tb of possible block data. This is a much more manageable overhead level to a point where we probably don&#8217;t need to be too worried about it, so long as the chunk size doesn&#8217;t get too small, which it likely can&#8217;t for a variety of other reasons.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emergentgamedesign.com/wordpress/?feed=rss2&#038;p=97</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Corel PaintShopPro X4 Rant</title>
		<link>http://www.emergentgamedesign.com/wordpress/?p=74</link>
		<comments>http://www.emergentgamedesign.com/wordpress/?p=74#comments</comments>
		<pubDate>Wed, 07 Mar 2012 16:55:12 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.emergentgamedesign.com/wordpress/?p=74</guid>
		<description><![CDATA[Another review/rant of a piece of software I&#8217;ve used a lot, or tried to use: Corel PaintShopPro X4 which was previously better known as Jasc PaintShopPro. I&#8217;ve used PSP for a long time, since v3 or earlier and have always &#8230; <a href="http://www.emergentgamedesign.com/wordpress/?p=74">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Another review/rant of a piece of software I&#8217;ve used a lot, or tried to use: Corel PaintShopPro X4 which was previously better known as Jasc PaintShopPro. I&#8217;ve used PSP for a long time, since v3 or earlier and have always been impressed with its usefulness. While it is not as feature packed as PhotoShop it has everything I need and is significantly cheaper.</p>
<p>A few months ago I was setting up my new desktop computer at home in preparation for Skyrim and couldn&#8217;t find the PSP v8 installation disc I had purchased. I&#8217;ve always tried to support the applications I like and use frequently so didn&#8217;t really hesitate to purchase X4. In hindsight this ended up being the worst $50 software purchase I&#8217;ve ever made.</p>
<p><strong>Ad/Nag-Ware</strong></p>
<p style="padding-left: 30px;">The worst, and most in-excusable offense, in my books is the ad/nag-ware that pops up when you close X4. If I was using the free or trial version I could understand but I&#8217;ve already bought the application and the last place I want or expect unrequested advertising to show up is in a desktop application. You can turn it off but the option is almost completely undiscoverable by itself without having to search for how to do it. A tip to companies that would like to sell me things: the fastest way to get me to never buy anything from you again is to annoy me with pop-up ads.</p>
<p><strong>Black UI Theme</strong></p>
<p style="padding-left: 30px;">I&#8217;ve always been a UI minimalist and the first thing I always do after installing Windows is to revert to the classic interface theme. I want an interface that lets me get to work quickly/efficiently and without getting in the way although I also understand that other people like different themes which why Windows letting you choose and tweak the UI theme is great and necessary feature. Unfortunately, X4 completely bypasses the current Windows theme and uses their own apparently hard-coded &#8220;black&#8221; theme. I don&#8217;t like the black theme but could live with it although the bigger offense is not letting the user change it, something that I believe could be done in previous versions. I seem to remember PSP v8 had a black theme by default but you could revert to the standard Windows theme if desired. Another tip to UI developers: the quickest way to turn me off your design is to force your arbitrary conventions on me while ignoring all standards and conventions.</p>
<p><strong>Slow Speed</strong></p>
<p style="padding-left: 30px;">In past versions PSP has always pretty much been the same speed, i.e., there was no noticeable speed difference when upgrading. X4, however, is terribly slow in both startup and general use. Changing between editing &#8220;modes&#8221; takes a few seconds when there&#8217;s really no reason for it to be instant, especially considering how often you have to do it. When doing things like selecting and cropping images there is a very noticeable lag when dragging the mouse cursor. This *should* be a solved issue&#8230;I&#8217;ve never had previous issues in the past 10 years of using PSP or other editors and I&#8217;m not editing huge GB resolution pictures. Strangely, the <a href="http://en.wikipedia.org/wiki/Paint_Shop_Pro">PSP Wiki article</a> says that &#8220;X4 is up to two times faster than X3&#8243; which I suppose makes me fortunate for skipping the X3 release. Developer Tip: make sure application upgrades don&#8217;t degrade the overall performance of the program, especially in critical or noticeable areas.</p>
<p><span style="color: #000000;"><strong>Overall UI Change</strong></span></p>
<p style="padding-left: 30px;">Previous PSP versions operated like a standard multi-window dialog which worked perfectly fine in my opinion. For some reason X4 introduced three &#8220;modes&#8221; which change the working feature set: manage, adjust, and edit. The edit mode is almost the same as the previous PSP versions with the exception of the &#8220;browse&#8221; window being moved entirely to the &#8220;manage&#8221; mode. I can guess this was done to open the application to a less experienced user base but does so at the great expense of overall usability for the experienced user. The separation of browse and edit into different modes is frustrating as you cannot do both at the same time, like in previous versions, and the cost of switching is high (4 seconds at the moment with no images open). You can open one image from the &#8220;manage&#8221; mode, switch back to manage to open another image and the first one is gone (unless not saved). Where did it go and why is the application closing documents by itself? The original premise of them trying to attract a less experienced user base doesn&#8217;t make sense as the overall application is more complex than previous versions&#8230;I would hate to try to explain to my mother how to use this program over the phone but I would suspect it would start with telling her to use something else. Designer Tip: Changing &#8220;old&#8221; design conventions is not always a bad thing but you may end up losing more than you gain, both in usability and users.</p>
<p><strong>Loss of Browsability</strong></p>
<p style="padding-left: 30px;">One of the great things I liked about prior versions of PSP was the browse function. It was very quick and easy to display a 2D grid of images, select, open, and edit images as needed or even do batch operations. X4 appears to completely throw out this great feature and replaces it with something far inferior. The browse, now replaced with the &#8220;manage&#8221; mode, only appears to display a 1D line of images now instead of a grid which makes it much more difficult to browse through 100s or 1000s of images quickly to find the one you&#8217;re looking for. Separating the manage and edit modes just makes everything harder, discontinuous, and just plain slower.</p>
<p>The way I see X4 now is that it is a completely unrelated application to the original Jasc PaintShopPro save for parts of its name. I&#8217;ll be &#8220;returning&#8221; my purchased copy of X4 if not for the monetary gain, which I don&#8217;t expect to receive back, at least for a small gain in satisfaction. I&#8217;ll then either have to find my missing PSP v8 discs, download an &#8220;unauthorized&#8221; release, or perhaps consider purchasing PhotoShop although with its $700 price tag I fear I&#8217;ll never be able to make enough use of it to be worth while.</p>
<p>This is my second experience with Corel products hitting a productivity peak and then having significant changes reducing their usefulness drastically. In a former life I used CorelDraw and PhotoPaint extensively and v4 of both products were close to ideal in terms of feature sets and efficiency. v5 of both products, however, introduced notable changes which made everything more difficult to a point that I simply stopped using them altogether. I was unable to find a good replacement to CorelDraw v4 until I found <a href="http://inkscape.org">Inkscape </a>a few years ago which more than satisfies all my 2D vector drawing desires.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emergentgamedesign.com/wordpress/?feed=rss2&#038;p=74</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
