<?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>Roy Triesscheijn’s Weblog &#187; Gamedesign</title>
	<atom:link href="http://roy-t.nl/index.php/tag/gamedesign/feed/" rel="self" type="application/rss+xml" />
	<link>http://roy-t.nl</link>
	<description>My programming world</description>
	<lastBuildDate>Wed, 07 Dec 2011 23:19:38 +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>MVC in games</title>
		<link>http://roy-t.nl/index.php/2010/12/03/mvc-in-games/</link>
		<comments>http://roy-t.nl/index.php/2010/12/03/mvc-in-games/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 13:47:55 +0000</pubDate>
		<dc:creator>Roy Triesscheijn</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Gamedesign]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://roy-t.nl/?p=431</guid>
		<description><![CDATA[I&#8217;ve written a new tutorial about MVC in games, and sgtconker.com was so kind as to redact and publish it. Here&#8217;s a small excerpt. MVC stands for &#8220;Model View Controller&#8221; and has been an architectural pattern in software engineering for quite some time now. MVC allows decoupling between what &#8216;the program is supposed to do&#8217; [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://roy-t.nl/index.php/2010/12/03/mvc-in-games/' addthis:title='MVC in games' ><a class="addthis_button_twitter"></a><a class="addthis_button_stumbleupon"></a><a class="addthis_button_reddit"></a><a class="addthis_button_facebook"></a><a class="addthis_button_email"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a new tutorial about MVC in games, and <a href=http://sgtconker.com>sgtconker.com</a> was so kind as to redact and publish it.</p>
<p>Here&#8217;s a small excerpt.</p>
<blockquote><p>MVC stands for &#8220;Model View Controller&#8221; and has been an architectural pattern in software engineering for quite some time now. MVC allows decoupling between what &#8216;the program is supposed to do&#8217; and how this is made visible and controlled.</p>
<p>In MVC the three main responsibilities of the application are handled by three separate parts.</p>
<p>-The model houses the actual business logic. The model is totally decoupled from the controller and view.<br />
-The view observes the information from the model, and if needed request an update of the information. Data from the model is lightly massaged, formatted and then presented.<br />
-The controller controls the application by mapping different kinds of input to public methods available on the model. The model itself always has the final responsibility of doing something with the request made by the controller. In many form-based applications the view and controller are hard to distinguish from each other.</p>
<p>Using MVC will allow you to reuse your complex model in different scenarios. Want to prepare your program for a different kind of input? Just write a new controller. Want to visualize your data in another way, just write a new viewer. In a good application controllers and viewers can even be changed while the application is running.</p></blockquote>
<p>The tutorial includes a full &#8216;game&#8217; where the theory is put to practice. You can read the full article <a href=http://www.sgtconker.com/2010/12/articles-mvc-in-games/>here</a></p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://roy-t.nl/index.php/2010/12/03/mvc-in-games/' addthis:title='MVC in games' ><a class="addthis_button_twitter"></a><a class="addthis_button_stumbleupon"></a><a class="addthis_button_reddit"></a><a class="addthis_button_facebook"></a><a class="addthis_button_email"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://roy-t.nl/index.php/2010/12/03/mvc-in-games/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SpaceAce progress report</title>
		<link>http://roy-t.nl/index.php/2010/02/26/spaceace-progress-report/</link>
		<comments>http://roy-t.nl/index.php/2010/02/26/spaceace-progress-report/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 10:30:26 +0000</pubDate>
		<dc:creator>Roy Triesscheijn</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[General Gamedesign]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Gamedesign]]></category>
		<category><![CDATA[progress report]]></category>
		<category><![CDATA[SpaceAce]]></category>

		<guid isPermaLink="false">http://roy-t.nl/?p=300</guid>
		<description><![CDATA[It&#8217;s been a while since I&#8217;ve blogged about the space rts game (working title SpaceAce) I&#8217;m making for Windows/XBLIG. People who follow me on twitter might have seen that I worked on a model for a space frigate. Although it&#8217;s more of a placeholder than anything fancy I find it much easier to see what [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://roy-t.nl/index.php/2010/02/26/spaceace-progress-report/' addthis:title='SpaceAce progress report' ><a class="addthis_button_twitter"></a><a class="addthis_button_stumbleupon"></a><a class="addthis_button_reddit"></a><a class="addthis_button_facebook"></a><a class="addthis_button_email"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I&#8217;ve blogged about the space rts game (working title SpaceAce) I&#8217;m making for Windows/XBLIG. People who follow me <a title="My Twitter Account" href="http://twitter.com/roytries" target="_blank">on twitter</a> might have seen that I worked on a <a title="picture!" href="http://i47.tinypic.com/hrefzk.jpg" target="_blank">model for a space frigate</a>. Although it&#8217;s more of a placeholder than anything fancy I find it much easier to see what I&#8217;m doing when it&#8217;s a space frigate flying, and not a silly sphere or cube.</p>
<p>Here&#8217;s my (shortened) done/todolist.</p>
<p><strong>Done<br />
</strong><strong>-</strong>Scene Manager<br />
-Sophisticated input manager with keymapping functionality<br />
-Planets moving realistically (even eccentricity and inclination)<br />
-Demo&#8217;d a gui (I&#8217;ve tried to make an immediate gui in XNA, and I really liked it, to bad my art skills suck so hard, else I would show it off, might make it into a tutorial someday).<br />
-Ship following mouse, evading obstacles. (Still needs more testing).<br />
-Random galaxy generation.</p>
<p><strong>Todo</strong><br />
-Selecting objects<br />
-Waypoints for ships (you wouldn&#8217;t want them to just follow the mouse, would you <img src='http://roy-t.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ).<br />
-Building structures inside the planet space<br />
-Some research tree<br />
-Some way to build objects<br />
-Objects belonging to ai or other players</p>
<p>Those are the items with high priority, that need implementation first. Of course the actual todo list is much longer (and only inside my head). I hope I will have some time to implement all this stuff, but from what I&#8217;ve heard this semester is very demanding.</p>
<p>See you later alligator!</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://roy-t.nl/index.php/2010/02/26/spaceace-progress-report/' addthis:title='SpaceAce progress report' ><a class="addthis_button_twitter"></a><a class="addthis_button_stumbleupon"></a><a class="addthis_button_reddit"></a><a class="addthis_button_facebook"></a><a class="addthis_button_email"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://roy-t.nl/index.php/2010/02/26/spaceace-progress-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Specs OOAD/iterative development style</title>
		<link>http://roy-t.nl/index.php/2009/12/02/project-specs-ooaditerative-development-style/</link>
		<comments>http://roy-t.nl/index.php/2009/12/02/project-specs-ooaditerative-development-style/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 15:25:02 +0000</pubDate>
		<dc:creator>Roy Triesscheijn</dc:creator>
				<category><![CDATA[General Gamedesign]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Artefact]]></category>
		<category><![CDATA[Craig Larman]]></category>
		<category><![CDATA[Gamedesign]]></category>
		<category><![CDATA[Object Oriented Analysis and Design]]></category>
		<category><![CDATA[OOAD]]></category>
		<category><![CDATA[SpaceAce]]></category>
		<category><![CDATA[Vision]]></category>

		<guid isPermaLink="false">http://roy-t.nl/?p=227</guid>
		<description><![CDATA[I&#8217;ve said before that I&#8217;m working on a game for some time now. Actually me and a friend of mine came up with this togheter, and now for a month or two I&#8217;ve been testing and laying foundations for this game. However I came a bit stuck as to &#8220;what to do now&#8221; LostC1tY @ [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://roy-t.nl/index.php/2009/12/02/project-specs-ooaditerative-development-style/' addthis:title='Project Specs OOAD/iterative development style' ><a class="addthis_button_twitter"></a><a class="addthis_button_stumbleupon"></a><a class="addthis_button_reddit"></a><a class="addthis_button_facebook"></a><a class="addthis_button_email"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve said before that I&#8217;m working on a game for some time now. Actually me and a friend of mine came up with this togheter, and now for a month or two I&#8217;ve been testing and laying foundations for this game. However I came a bit stuck as to &#8220;what to do now&#8221; LostC1tY @ #xna (effnet server) asked me why I didn&#8217;t make some kind of feature list and then try to work my way trough there. This reminded me of practices in the book<a title="The book on amazon" href="http://www.amazon.com/Applying-UML-Patterns-Introduction-Object-Oriented/dp/0131489062"> Object-Oriented Analysis and Design and Iterative Development</a> by Craig Larman (what a long name for a book <img src='http://roy-t.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ). In which he describes how to do iterative development.</p>
<p>One of the first few artifacts in iterative development are a small story &#8220;Vision&#8221; some uses cases and some features that are essential. Then you work your way down from there and keep refining the requirements while at the same time implementing them step by step.  I can really recommend this book!</p>
<p>Anyway, I&#8217;ve made a bit of a beginning  that I wanted to share, now you know what I&#8217;ve been working on. (Oh the working title is &#8220;SpaceAce&#8221; and I will post further related blog items under that tag, but the game will definitely not be called like that in the end, I&#8217;m just not good in thinking up names <img src='http://roy-t.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p><strong>Design Document:</strong></p>
<p align="center">“Space Ace”</p>
<p><strong>Vision:</strong></p>
<p>My vision is to create a back-to-basics strategy game in space.  The setting is a small solar system with moving planets. The player starts on one planet and their opposition on another planet. Both players don’t know where the other player is located. Players start building ships and space stations. As long as these objects stay within the gravity well of the planet they will ‘follow’ the planet.  Planets got multiple ‘gravity well rings’. Depending on the planet there will be 2 to 6 rings. The inner most ring is the smallest and is very close to the planet. Objects in the innermost ring swiftly rotate around the planet this might be used tactically (say a space station with guns that can cover all approaches to the planet).  The inner most ring is only suitable for small objects (research stations, sentries, satellites etc&#8230;).  More outer rings cover a larger area and objects in that area orbit less swiftly. The most outer ring is very large; objects in this ring don’t orbit around the planet.  The outer rings are more suitable for factories and other large structures “that can’t handle the stress of rotating so fast.”</p>
<p>Once a player has a bit of an army they might decide to explorer. They can select a couple of units to form a fleet. Once they’ve cleared the gravity well of their home planet they can try to stay ahead of their planet (the slowest normal ships must be faster than the fastest planet, however comets and the like might be faster) or decide to go the other way in which case it’s much faster to find other planets.  It might be wise to have some ships in the gravity wells of planets that orbit the sun at different velocities as to always have a presence in different parts of the solar system.</p>
<p>The planets must move as fast around the sun as to not make this game boring but as slow such that the tactics of planets movement and gravity wells is still intact.</p>
<p>In the end players encounter other players. Fighting is pretty regular, different types of weapons do different types of damage (Kinetic, EM, Heat, and Electric). Each ship’s armor and shield are affected differently by these types of damage.  Players select their ships and then select enemy ships to attack these ships. Ships might also auto attack enemy ships when they are within the same gravity well.</p>
<p>Planets can be captured by sending troop ships, filled with troopers. Each planet has a “ground defense force” when you send sufficient amounts of troopers down to the planet the planet should be yours.</p>
<p>Economy is based on the number of captured planets, each planet has a different ‘economics’ and ‘resources’ value, per tick is calculated how much money and resources are gained. There is an ‘organization tax’ which slightly increases with each captured planet, to keep the game balanced when one player quickly acquires a few planets while others haven’t. Some special units might require rare materials; these can only be acquired by capturing special comets.</p>
<p><strong>Preliminary feature list<br />
</strong><em>As in proper iterative development this is not a complete feature list, but this will be grained out and refined during development.</em></p>
<p><em>(Starting with the most critical/difficult to implement features, which will be developed/tested first).</em></p>
<p>-Moving planets (complete)<br />
-Gravity rings<br />
-Build-able objects<br />
-Ships<br />
-Path finding<br />
-Fighting<br />
-AI<br />
-Resources<br />
-LAN<br />
-Player control<br />
-Menus<br />
-Different difficulties<br />
-Advanced editor<br />
-Missions/storyline.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://roy-t.nl/index.php/2009/12/02/project-specs-ooaditerative-development-style/' addthis:title='Project Specs OOAD/iterative development style' ><a class="addthis_button_twitter"></a><a class="addthis_button_stumbleupon"></a><a class="addthis_button_reddit"></a><a class="addthis_button_facebook"></a><a class="addthis_button_email"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://roy-t.nl/index.php/2009/12/02/project-specs-ooaditerative-development-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

