<?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; game</title>
	<atom:link href="http://www.emergentgamedesign.com/wordpress/?feed=rss2&#038;tag=game" 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>What&#8217;s in a Game? part II, MineCraft</title>
		<link>http://www.emergentgamedesign.com/wordpress/?p=93</link>
		<comments>http://www.emergentgamedesign.com/wordpress/?p=93#comments</comments>
		<pubDate>Sun, 22 Apr 2012 13:30:27 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[minecraft]]></category>

		<guid isPermaLink="false">http://www.emergentgamedesign.com/wordpress/?p=93</guid>
		<description><![CDATA[In part I we introduced 5 general game play categories: Creation, Competition, Collaboration, Collecting, and Exploration (I couldn&#8217;t find a suitable synonym beginning with &#8216;C&#8217;). We&#8217;ll apply these to MineCraft and see how it fares in each. Note that I&#8217;ll &#8230; <a href="http://www.emergentgamedesign.com/wordpress/?p=93">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In part I we introduced 5 general game play categories: Creation, Competition, Collaboration, Collecting, and Exploration (I couldn&#8217;t find a suitable synonym beginning with &#8216;C&#8217;). We&#8217;ll apply these to MineCraft and see how it fares in each. Note that I&#8217;ll be looking at the vanilla unmodded game since pretty much anything is possible if mods are included.</p>
<p><strong>Exploration</strong></p>
<p style="padding-left: 30px;">Since MineCraft&#8217;s land area is virtually infinite exploration plays a large part in the game, not only for resource gathering but sometimes just for seeing the pretty views. As big as a part that exploration plays there are some possible improvements that could be made. While there are some things to find in the MineCraft world in the latest releases, such as abandoned mines, the world is relatively empty and pure above ground exploration itself has little purpose other than to find a nice place to build a cabin. In this sense MineCraft suffers from a similar issue as Daggerfall did: huge procedural landscape but little to nothing to find or do in it. Thinking back of my many MineCraft worlds I can&#8217;t think of any that ever expanded past around 1000&#215;1000 blocks in size, if that large. We shouldn&#8217;t force world exploration on the player (in general anyways) but providing an option for the player to be rewarded from exploration would be a good thing.</p>
<p><strong>Creation </strong></p>
<p style="padding-left: 30px;">This is MineCraft&#8217;s obvious strength as creation is only limited by your imagination and amount of free time. While the in-game creation affords little possible improvement, the out-of-game modding can use some improvement. As I understand it there is really no built-in support for modding in MineCraft: people have just decompiled the Java source and started adding their own code. Since there is no &#8220;official&#8221; modding support the usage of mods is relatively haphazard, even after considerable effort from the modding community as a whole. I shouldn&#8217;t have to be decompressing and modifying Java packages to install or debug mods. While the MineCraft modding community is huge I&#8217;d like to imagine how much better it would be if there was modding support in the game from the start (don&#8217;t take this as a criticism of the game, merely an observation in hindsight).</p>
<p><strong>Collecting</strong></p>
<p style="padding-left: 30px;">There is a small amount of collecting in the game if the player desires it as evidenced from some of my extensive rooms of chests filled with blocks and items. Whether MineCraft could use more collection game play is good question without any obvious answers. I would personally like to see more types of base blocks, particularly of rare gems and metals along with more things to craft from them. Better ways of storing/sorting items might be useful and more collection achievements plus rewards would add more motivation. Adding random item drops would be another method of encouraging collection although this is partially supported in the form of enchantments already. Despite a lot of possibilities I think this is one area where a few smaller collection oriented features would be better than trying to shoe horn larger features into an already full game.</p>
<p><strong>Competition</strong></p>
<p style="padding-left: 30px;">Competition is another weak area for Minecraft. There is no built-in PVP so player competition is eliminated right away and probably for good reason (not a very strong combat model). This leaves the primary form of competition to only be &#8220;not dying&#8221; with a secondary one of seeing who can build the &#8220;best&#8221; thing. While &#8220;not dying&#8221; in MineCraft is actually relatively hard it is still easy compared to other games. By just using a few common sense rules (don&#8217;t go out at night, always keep mines light, don&#8217;t play near lava) the game can get downright easy, even on the &#8220;hard&#8221; difficulty setting. I&#8217;ve died more times in unavoidable and inexplicable ways than actual &#8220;valid&#8221; deaths which pushes the game towards more annoying that actually difficult. The original MineCraft did very well with competition the first time you started: you didn&#8217;t know where you were, what to do, or where to go but you knew that you had to make a basic fort by the first nightfall or be killed by the undead. This little bit of fear and uncertainty in survival is actually a good thing but unfortunately it was short lived as with a little experience there&#8217;s very little left to actually fear in the game any more.</p>
<p><strong>Collaboration</strong></p>
<p style="padding-left: 30px;">Multi-player collaboration is mostly about joining other people to help build something bigger than one person could easily do alone. This is a great example of two game play types, collaboration and creation, joining together to form something more than the two of them alone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emergentgamedesign.com/wordpress/?feed=rss2&#038;p=93</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s in a Game? part I</title>
		<link>http://www.emergentgamedesign.com/wordpress/?p=85</link>
		<comments>http://www.emergentgamedesign.com/wordpress/?p=85#comments</comments>
		<pubDate>Thu, 08 Mar 2012 14:06:47 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[thought]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://www.emergentgamedesign.com/wordpress/?p=85</guid>
		<description><![CDATA[I&#8217;ve been thinking about various ways of categorizing types of games or perhaps more specifically, types of game play within games. Exploration &#8212; Most RPGs feature exploration as a significant part of the game play although it is more important &#8230; <a href="http://www.emergentgamedesign.com/wordpress/?p=85">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking about various ways of categorizing types of games or perhaps more specifically, types of game play within games.</p>
<ul>
<li><strong>Exploration</strong> &#8212; Most RPGs feature exploration as a significant part of the game play although it is more important in larger worlds like MineCraft and Elder Scrolls games. Skyrim is a great example of a modern game that shows how fun simple exploration can be. Walking from A to B in Skyrim is rarely as simple as going in a straight line for 10 minutes as it is hard not to explore and end up taking several real-time days to finally get where you were going (assuming you actually remember). It is still a minor part of a lot of other types of games including strategies and FPSs where a certain amount of it is required just to survive or gain an edge over the competition.</li>
<li><strong>Creation</strong> &#8212; Creating things in games can include simple things like character creation or skill trees all the way up to the complete LEGO-like construction possible in MineCraft. While some game types, like FPS and puzzles, don&#8217;t have much creation aspect the sky is actually the limit in others. For example, in MineCraft or Skyrim there are a very large amount of in-game creation possible in addition to out-of-game modding. Adding or modifying content for yourself and others to use is really the ultimate creation game and one that is overlooked for the most part, even in games that feature it strongly.</li>
<li><strong>Collecting</strong> &#8212; Another category that you don&#8217;t see too many games focusing on. The only examples I can think of are Pokeman and Diablo. Diablo may seem a strange choice as a &#8220;collecting&#8221; type game play but the random item generation and loot system makes it relatively addicting. The player is encouraged to keep playing in search of a better/rarer/special item drop which could at anytime, the good old &#8220;just one more level&#8221; syndrome which is a great thing for a game to have. In working with elementary school children over the years I&#8217;ve noticed that collection type games such as trading cards, scavenger hunts, and item collection are a very strong motivator across all age groups.</li>
<li><strong>Competition</strong> &#8212; Competing not only takes on the obvious form of multi-player, which is an important or critical aspect of many games, but also in the form of competition against the computer or even against the player themselves. Most FPS games are a typical example of multi-player competition as are MMOs although with an addition non-PVP aspect. Single-player games usually have competition in the form of just &#8220;not dying&#8221; or from character creation and story progression (to defeat the boss you need more levels, better weapons/armor). A game like MineCraft has a relatively weak competition component, especially on lower difficulty settings where the challenge is mostly in the collection and building of things.</li>
<li><strong>Collaboration</strong> &#8212; This is the direct opposite of competition but a game can use both at the same time. For example, Team Fortress has very strong competition and collaboration parts to it. Competition obviously with the opposing team but collaboration within your own team is also vital for a winning strategy. Sharing can also be used outside of a multi-player setting in the form of content sharing: make a mod and share it with 1000s of other people. As previously mentioned, the combination of sharing and creation can be a very large driving force for people from both the creation/sharing side as well as just using the shared content.</li>
</ul>
<p>So where does all this get us? I don&#8217;t think it is wise to just take a game, divide the categories up evenly and try to just get a little of everything but at the same time thinking about how game play features work alone and together can result in a better design in the end. If your game doesn&#8217;t have any of a particular category it doesn&#8217;t make that wrong but it has to be a conscience decision along with its consequences.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emergentgamedesign.com/wordpress/?feed=rss2&#038;p=85</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Matter of Scale</title>
		<link>http://www.emergentgamedesign.com/wordpress/?p=46</link>
		<comments>http://www.emergentgamedesign.com/wordpress/?p=46#comments</comments>
		<pubDate>Thu, 16 Feb 2012 02:14:05 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[minecraft]]></category>

		<guid isPermaLink="false">http://www.emergentgamedesign.com/wordpress/?p=46</guid>
		<description><![CDATA[When dealing with a voxel world the number of blocks visible at one time grows quickly as it depends on volume which grows as n^3. Looking at MineCraft again for some examples: the far distance has a view diameter of &#8230; <a href="http://www.emergentgamedesign.com/wordpress/?p=46">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When dealing with a voxel world the number of blocks visible at one time grows quickly as it depends on volume which grows as n^3. Looking at MineCraft again for some examples: the far distance has a view diameter of 512 blocks. If we take the volume of blocks in a square (of course) around the player this is 512x512x128 = 33.5 million blocks. With a few bytes of data per block we&#8217;re already over 100MB of block data alone.</p>
<p>If our world is going to have a larger view distance as well as a deeper world we can very quickly get into untenable requirements. For example, a 1024x1024x1024 block world will require several GB to hold the block data. This may be fine on a desktop with +8 GB of RAM running a 64 bit OS but definitely not fine on a 5 year old laptop with only ~1 GB. Part of this is simply choosing a minimum requirement for the system although this is somewhat tricky: both too high and too low requirements are not good for different reasons.</p>
<p>So is there hope for a voxel game world with a significantly larger view distance? I think there are several possibilities worth exploring in more detail:</p>
<ol>
<li>Detail Setting &#8212; Just like in MineCraft and most other games we can have a &#8220;View Distance&#8221; slider to accommodate both high and low end systems.</li>
<li>Chunk Paging &#8212; Blocks far from the player are unlikely to change so they are only needed to be loaded once when creating the chunk mesh and then discarded.</li>
<li>LOD (Level of Detail) System &#8212; This is far from a new concept and the basic principle is that objects far from the player can be rendered in much less detail which permits the game&#8217;s render distance to be larger. Exactly how well this would work in a voxel world is an open question at the moment.</li>
<li>Octrees &#8212; The usual answer for more efficient partitioning of a 3D world is to use <a href="http://en.wikipedia.org/wiki/Octree">octrees</a>, essentially a binary partitioning of a 3D space. This is an undoubtedly poor explanation but that is as much as I understand at the moment. Combined with an LOD system it does appear to have some immediate benefits in reducing the potential storage size. For example, consider an &#8220;empty&#8221; chunk 32x32x32 blocks in size. In the naive approach this would take at least 32kb to store but in an octree design it would be just a few bytes.</li>
</ol>
<p>If we go back to our imaginary 1024 block cube world with an arbitrary LOD system with the following detail reductions:</p>
<ul>
<li>&gt;128 block Range = x2 reduction</li>
<li>&gt;192 block Radius = x4</li>
<li>&gt;256 block Radius = x8</li>
<li>&gt;320 block Radius = x16 reduction</li>
</ul>
<p>This turns our multi-GB storage requirement into just 100MB. Adding an octree system on top of that may decrease the size even further.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emergentgamedesign.com/wordpress/?feed=rss2&#038;p=46</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Fast is Fast Enough?</title>
		<link>http://www.emergentgamedesign.com/wordpress/?p=25</link>
		<comments>http://www.emergentgamedesign.com/wordpress/?p=25#comments</comments>
		<pubDate>Tue, 14 Feb 2012 23:04:33 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[minecraft]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://www.emergentgamedesign.com/wordpress/?p=25</guid>
		<description><![CDATA[Something I was thinking on the way home: in real-time procedural world generation how fast do we have to be able to create the world in real-time? In a procedural and semi-infinite world like MineCraft the game only generates and &#8230; <a href="http://www.emergentgamedesign.com/wordpress/?p=25">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Something I was thinking on the way home: in real-time procedural world generation how fast do we have to be able to create the world in real-time? In a procedural and semi-infinite world like MineCraft the game only generates and saves what the player has explored for obvious reasons. As the player moves around and explores the game has to generate new areas as it comes to them. It has to be in &#8220;real time&#8221; as we would prefer not to have stutters or even worse, pop-up &#8220;loading&#8221; messages, forcing the player to wait while we create the world around them.</p>
<p>As an example let&#8217;s consider a MineCraft-like block world. It has 1 meter sized blocks and 16x16x128 block chunks, like MineCraft, and the viewing distance is a 9&#215;9 chunks, or 144&#215;144 blocks, with the player at the center.  As the player walks in one direction and crosses a chunk boundary the game has to generate new chunks in the distance which, in this case is 9 chunks, or 32768 blocks. There are corner cases when the player is walking perfectly on the X-Y diagonal where we might need to create 17 chunks at a time but we&#8217;ll focus on the average case for now.</p>
<p>Assuming the player is running at full speed in one direction at 4 m/s the resulting chunk generation rate is 2.25 chunks/sec. This basically means that if we had the chunks being generated in the background thread and we could perfectly predict what chunks were needed next, then the minimum chunk creation rate would be 2.25 chunks/sec. Since we will never be able to perfectly predict where the player will go next in practice we will likely need a higher chunk creation rate.</p>
<p>In a world with a larger view distance, say 17&#215;17 chunks, the minimum chunk creation rate is increased to 4.25 chunks/sec. With a very large view distance, 65&#215;65, it increases to 16.25 chunks/sec.</p>
<p>Why does this matter? It matters because if we want a real-time world generation with no &#8220;pauses&#8221; as the player explores it we have to be careful about the complexity and time required for the world generation. Simple methods like plasma/mid-point displacement are relatively quick but adding more complex generation like ridged-multi noise can be orders of magnitude slower. For example, in some <a href="http://dave.uesp.net/wiki/Block_Land_7">older tests</a> a 256x256x256 block world was created in 2 sec with simple noise but adding caves via ridged-multi noise raised that up to 60 sec. In our prior chunk creation rate examples this corresponds to a rate of 256 chunks/sec and 8.5 chunks/sec respectively.</p>
<p>So ultimately, while more complex world generation may be interesting and desired it is ultimately linked to the size of world we&#8217;d like to display. A larger world display, even with some Level-Of-Detail system may require a more simplistic world generation.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.emergentgamedesign.com/wordpress/?feed=rss2&#038;p=25</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
