<?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>Sion Dream</title>
	<atom:link href="http://siondream.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://siondream.com/blog</link>
	<description>Games design and programming by David Saltares</description>
	<lastBuildDate>Sun, 13 May 2012 11:28:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Urban Race has been freed</title>
		<link>http://siondream.com/blog/games/urban-race-has-been-freed/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=urban-race-has-been-freed</link>
		<comments>http://siondream.com/blog/games/urban-race-has-been-freed/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 21:22:16 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Games development]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Creative Commons]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Google Code]]></category>
		<category><![CDATA[GPL v3]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[racing]]></category>
		<category><![CDATA[Urban Race]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Xbox 360]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2156</guid>
		<description><![CDATA[
A few months ago I developed Urban Race, a very simple (and quite lame) time attack racing game using XNA. It was a University project so I couldn&#8217;t release the source until it was graded but then, I totally forgot about it. Recently, a reader asked me to publish the source and here we are.  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="aligncenter" src="http://siondream.com/blog/wp-content/uploads/2011/12/urbanrace.jpg" alt="" width="550" height="183" /></p>
<p style="text-align: justify;">A few months ago I developed <a href="http://siondream.com/blog/games/urban-race/">Urban Race</a>, a very simple (and quite lame) time attack racing game using XNA. It was a University project so I couldn&#8217;t release the source until it was graded but then, I totally forgot about it. Recently, a reader asked me to publish the source and here we are. Please, bare in mind it&#8217;s for educational purposes, it was developed in one month without previous knowledge of neither C# or XNA and it&#8217;s not intended to be a fully playable product.</p>
<ul style="text-align: justify;">
<li><a href="http://code.google.com/p/urban-race/">Urban Race in Google Code</a></li>
<li><a href="http://urban-race.googlecode.com/files/urbanrace-essay.pdf">Urban Race essay (documentation)</a></li>
<li><a href="http://urban-race.googlecode.com/files/urbanrace-1.0-win.zip">Urban Race 1.0 for Windows</a></li>
</ul>
<p style="text-align: justify;">I usually document my projects with Doxygen and several articles or tutorials, this time has been different. At least I&#8217;ve uploaded a PDF file with the documentation I submitted for my project to be graded. You&#8217;ll have to excuse me for lack of further and more accessible documentation but I don&#8217;t have much time now and, prior to this moment, I didn&#8217;t think this game was worth making public.</p>
<p style="text-align: justify;">Anyways, you can freely access the source, reuse components and re-share. Bare in mind that the code is under<a href="http://www.gnu.org/licenses/gpl-3.0.html"> GPL v3</a> and the media is under <a href="http://creativecommons.org/licenses/by-nc/3.0/">Creative Commons 3.0 BY-NC</a> so, please, stick to their conditions.</p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/games/urban-race-has-been-freed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Internationalization for libgdx projects</title>
		<link>http://siondream.com/blog/games/internationalization-for-libgdx-projects/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=internationalization-for-libgdx-projects</link>
		<comments>http://siondream.com/blog/games/internationalization-for-libgdx-projects/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 14:41:25 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Games development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[games development]]></category>
		<category><![CDATA[gettext]]></category>
		<category><![CDATA[GPL v3]]></category>
		<category><![CDATA[internationalization]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[libgdx]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[multi language]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[translation]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2148</guid>
		<description><![CDATA[Edit: I just added UTF-8 support
Localization is a key aspect in games, specially if you want to reach a wider audience. I recently ported Freegemas to the libgdx platform and, as the original one, I wanted to ship it with multi-language support. There is no such a thing as gettext for Java and I  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><strong><span style="color: #ff0000;">Edit</span>:</strong> I just added UTF-8 support</p>
<p style="text-align: justify;"><strong><a href="http://www.altdevblogaday.com/2012/04/19/localization-notes/">Localization is a key aspect in games</a></strong>, specially if you want to reach a wider audience. I recently <a href="http://code.google.com/p/freegemas-libgdx/">ported Freegemas</a> to the libgdx platform and, as the original one, I wanted to ship it with multi-language support. There is no such a thing as <a href="http://www.gnu.org/software/gettext/">gettext</a> for Java and I didn&#8217;t see the Android internationalization system as a good fit in a multiplatform development. That&#8217;s why I developed my little own internationalization module.</p>
<p style="text-align: justify;"><strong><a href="http://code.google.com/p/freegemas-libgdx/source/browse/trunk/freegemas/src/com/siondream/freegemas/LanguagesManager.java">Download LanguagesManager.java</a></strong></p>
<p style="text-align: justify;">Its usage is extremely simple, first we need a <em>media/languages.xml</em> file where all the strings in our project will be located. The syntax is pretty straight forward, we lay language sections identified with the code for each language. Inside every language, we provide a list of key value pairs with the localized strings.</p>
<pre class="brush: xml">
&lt; ?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;languages&gt;
   &lt;!-- English --&gt;
   &lt;language name=&quot;en_UK&quot; &gt;
      &lt;!--  Menu  --&gt;
      &lt;string key=&quot;Timetrial mode&quot; value=&quot;Timetrial mode&quot; /&gt;
      &lt;string key=&quot;How to play&quot; value=&quot;How to play&quot; /&gt;
      &lt;string key=&quot;Exit&quot; value=&quot;Exit&quot; /&gt;
   &lt;/language&gt;

   &lt;!-- Spanish --&gt;
   &lt;language name=&quot;es_ES&quot; &gt;
      &lt;!--  Menu  --&gt;
      &lt;string key=&quot;Timetrial mode&quot; value=&quot;Contrarreloj&quot; /&gt;
      &lt;string key=&quot;How to play&quot; value=&quot;Ayuda&quot; /&gt;
      &lt;string key=&quot;Exit&quot; value=&quot;Salir&quot; /&gt;
   &lt;/language&gt;
&lt;/languages&gt;
</pre>
<p style="text-align: justify;">We can retrieve localized strings in our project through the <em>LanguagesManager</em> class and its <em>getString()</em> method. It&#8217;s been implemented using the <a href="http://en.wikipedia.org/wiki/Singleton_pattern">Singleton</a> design pattern as we only need one instance accessible from, potentially, everywhere in the code. When we ask our manager for a certain string we will use its key, if it finds it within the current language, it&#8217;ll return it, otherwise it&#8217;ll return the key itself. That&#8217;s why using strings in a base language (English) as keys can be a good idea, those will be returned by default.</p>
<p style="text-align: justify;">For now, it uses <a href="http://en.wikipedia.org/wiki/Lazy_initialization">lazy initialization</a> which means it&#8217;ll load the language the first time the <em>getInstance()</em> method is called but that might change in the future. It automatically detects the system language (no matter if we are on Android or a desktop environment) and it fallsback to English if the system language is not among the available ones in the <em>media/languages.xml</em> file. However, you can explicitly specify the language you want to load through the <em>loadLanguage()</em> method.</p>
<pre class="brush: java">
LanguagesManager lang;

lang = LanguagesManager.getInstance();

String option1 = lang.getString(&quot;Timetrial mode&quot;);
String option2 = lang.getString(&quot;How to play&quot;);
String option3 = lang.getString(&quot;Exit&quot;);
</pre>
<p style="text-align: justify;">Freegemas libgdx is open source (<a href="http://www.gnu.org/licenses/quick-guide-gplv3.html">GPL v3</a>) as is this internationalization module which means you&#8217;re more than welcome to download it, use it and improve it. If you do the latest, make sure you distribute it the same way as me.</p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/games/internationalization-for-libgdx-projects/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Getting started with libgdx, Freegemas!</title>
		<link>http://siondream.com/blog/games/getting-started-with-libgdx-freegemas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=getting-started-with-libgdx-freegemas</link>
		<comments>http://siondream.com/blog/games/getting-started-with-libgdx-freegemas/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 22:33:46 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Games development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Bejeweled]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[Freegemas]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[games development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[libgdx]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[puzzle]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2137</guid>
		<description><![CDATA[
I can&#8217;t believe it&#8217;s been almost three months since I started at Crytek UK, time has passed amazingly fast! Nevertheless, I&#8217;ve managed to get some stuff done game development wise. I&#8217;ve always wanted to jump into mobile and that&#8217;s what I&#8217;ve been doing during the last couple of weeks. May I present  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="aligncenter" src="http://siondream.com/blog/wp-content/uploads/2012/04/banner-blog.png" alt="" width="600" height="174" /></p>
<p style="text-align: justify;">I can&#8217;t believe it&#8217;s been almost three months since I started at Crytek UK, time has passed amazingly fast! Nevertheless, I&#8217;ve managed to get some stuff done game development wise. I&#8217;ve always wanted to jump into mobile and that&#8217;s what I&#8217;ve been doing during the last couple of weeks. <strong>May I present you <a href="http://siondream.com/blog/games/freegemas-for-android-and-html5/">Freegemas libgdx</a> edition!</strong></p>
<p style="text-align: justify;">It&#8217;s basically a libgdx port of the original Freegemas, a simple Bejeweled like C++ Gosu puzzle game developed by <a href="http://josetomastocino.com/">José Tomás Tocino</a> who I have to thank for the neat original code and the excellent art. This means you can run it on your <a href="http://freegemas-libgdx.googlecode.com/files/freegemas-1.0.jar">desktop</a>, <a href="https://play.google.com/store/apps/details?id=com.siondream.freegemas">Android phone</a> and very soon on your browser through HTML5 sweetness.</p>
<div class="wp-caption aligncenter" style="width: 440px"><img src="http://siondream.com/blog/wp-content/gallery/freegemas/javaw-2012-04-18-08-45-49-21.png" alt="" width="430" height="242" /><p class="wp-caption-text">Freegemas screen, neat art huh? Thank Jose for that!</p></div>
<p style="text-align: justify;"><strong><a href="http://code.google.com/p/libgdx/">Libgdx</a></strong> it&#8217;s an open source Java library that allows you to create multiplatform games (desktop, Android, HTML5) sharing the <strong>same code base</strong>. That alone is amazing enough, so kudos to <a href="http://www.badlogicgames.com/wordpress">Mario</a> for the titanic work. The library uses OpenGL so the performance it&#8217;s quite good even though we&#8217;re talking about Java! It has so many features and associated tools that it&#8217;d take me a few days to cover them all. Plus the community is always very helpful, besides the forums there&#8217;s always someone on the IRC channel willing to save your ass. However, to be honest it&#8217;s a bit of a downside to me it&#8217;s lack of UFT-8 font rendering support. Maybe some other day I&#8217;ll talk with some more insight about libgdx.</p>
<p style="text-align: justify;">This was a warm up project, bigger things are yet to come!</p>
<p style="text-align: justify;">PS: I must not forget about the HTML5 version of the game, it&#8217;ll be available soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/games/getting-started-with-libgdx-freegemas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I just got hired by Crytek UK!</title>
		<link>http://siondream.com/blog/general/i-just-got-hired-by-crytek-uk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=i-just-got-hired-by-crytek-uk</link>
		<comments>http://siondream.com/blog/general/i-just-got-hired-by-crytek-uk/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 22:46:49 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Games development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Crytek]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[Nottingham]]></category>
		<category><![CDATA[programmer]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2115</guid>
		<description><![CDATA[
I can finally say it out loud: I just got hired by Crytek UK as a junior programmer! In case you were wondering, yes, they are the same guys that pulled the Crysis saga together using their jaw dropping CryEngine, and now they&#8217;re working on games like Homefront 2. Their British studio is based in  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-2117" title="crytek-uk-office" src="http://siondream.com/blog/wp-content/uploads/2012/02/crytek-uk-office.jpg" alt="" width="600" height="259" /></p>
<p style="text-align: justify;">I can finally say it out loud: <strong>I just got hired by Crytek UK as a junior programmer!</strong> In case you were wondering, yes, they are the same guys that pulled the <a href="http://www.youtube.com/watch?v=PHOCJR1S7cQ">Crysis</a> saga together using their jaw dropping <a href="http://www.youtube.com/watch?v=VJEL9Kipuw4">CryEngine</a>, and now they&#8217;re working on games like Homefront 2. Their British studio is based in Nottingham, so I moved here a couple of days ago and I really like the city so far.</p>
<div id="attachment_2118" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-2118" title="nottingham-lace-market" src="http://siondream.com/blog/wp-content/uploads/2012/02/nottingham-lace-market.jpg" alt="" width="550" height="285" /><p class="wp-caption-text">Nottingham Lace Market Square - Is nice isn&#39;t it?</p></div>
<p style="text-align: justify;">This is, without any doubts, a dream job and I couldn&#8217;t be happier about it, it&#8217;s what I&#8217;ve been aiming for since I started University. I couldn&#8217;t possibly have predicted this would happen a few months ago. Maybe a little mobile games company crossed my mind, but a huge triple A company like Crytek? No way. As you can see, the office is quite amazing and the people here are most thoughtful and friendly.</p>
<div id="attachment_2116" class="wp-caption aligncenter" style="width: 385px"><img class="size-full wp-image-2116" title="crytek-uk-building" src="http://siondream.com/blog/wp-content/uploads/2012/02/crytek-uk-building.jpg" alt="" width="375" height="500" /><p class="wp-caption-text">Crytek office building</p></div>
<p style="text-align: justify;">I&#8217;d like to thank everyone who&#8217;s helped me from professors to team mates without forgetting about family and friends. A new life full of changes and exciting experiences lies ahead! I&#8217;ll try to update the blog as often as I can. Of course I&#8217;ll post personal games reviews, game design and games programming articles.</p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/general/i-just-got-hired-by-crytek-uk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Recent projects and future changes</title>
		<link>http://siondream.com/blog/general/recent-projects-and-future-changes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=recent-projects-and-future-changes</link>
		<comments>http://siondream.com/blog/general/recent-projects-and-future-changes/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 22:00:27 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Games development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[games development]]></category>
		<category><![CDATA[Laterdroid]]></category>
		<category><![CDATA[racing]]></category>
		<category><![CDATA[Read it Later]]></category>
		<category><![CDATA[Urban Race]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2107</guid>
		<description><![CDATA[Lots of stuff has happened since I last posted something here. Crazy Eramus life, you want to do everything: projects, social life, studying&#8230; So, logically, the blog has been a little bit left behind. I just wanted to post a quick update about the two university projects I’ve been working on  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Lots of stuff has happened since I last posted something here. Crazy Eramus life, you want to do everything: projects, social life, studying&#8230; So, logically, the blog has been a little bit left behind. I just wanted to post a quick update about the <strong>two university projects</strong> I’ve been working on recently:</p>
<ul style="text-align: justify;">
<li><strong><a title="Laterdroid" href="http://siondream.com/blog/apps-tools/laterdroid/">Laterdroid</a></strong>: Read it Later client for Android created using the official SDK.</li>
<li><strong><a title="Urban Race" href="http://siondream.com/blog/games/urban-race/">Urban Race</a></strong>: time attack racing game developed using C# and the XNA framework.</li>
</ul>
<p style="text-align: justify;">For further information please go to each project’s page, you’ll find a more detailed description, screenshots, videos and download links. I was thinking of <strong>making both projects open source</strong> and upload them to a Google Code repository but I guess that’ll have to wait until they’re graded by the professors.</p>
<p style="text-align: justify;"><em>And now for something completely different…</em></p>
<p style="text-align: justify;"><strong>Huge events</strong> have taken place recently, <strong>the dream has come true</strong>. Unfortunately, I can’t make anything public yet, I’ve only told my family and friends. However, I’ll soon post something on that matter.</p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/general/recent-projects-and-future-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting started with XNA: Urban Race</title>
		<link>http://siondream.com/blog/games/getting-started-with-xna-urban-race/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=getting-started-with-xna-urban-race</link>
		<comments>http://siondream.com/blog/games/getting-started-with-xna-urban-race/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 09:05:28 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Games development]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[games development]]></category>
		<category><![CDATA[Kingston]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[time attack]]></category>
		<category><![CDATA[Urban Race]]></category>
		<category><![CDATA[vídeo]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Xbox 360]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2082</guid>
		<description><![CDATA[
As if I didn&#8217;t have enough work, I recently started another project which has an early deadline. For the Advanced Games Programming module here at Kingston University we have to develop a game for Windows and Xbox 360 using C# and the XNA framework. The final deadline was in a month counting from  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="aligncenter size-full wp-image-2083" title="urbanrace" src="http://siondream.com/blog/wp-content/uploads/2011/12/urbanrace.jpg" alt="" width="550" height="183" /></p>
<p style="text-align: justify;">As if I didn&#8217;t have enough work, I recently started another project which has an early deadline. For the Advanced Games Programming module here at Kingston University we have to develop a <strong>game for Windows and Xbox 360</strong> using C# and the <a href="http://en.wikipedia.org/wiki/Microsoft_XNA">XNA framework</a>. The final deadline was in a month counting from the start date and, halfway through the development, we had to show a demo. That&#8217;s how <strong>Urban Race</strong> began just a week ago, in this post I&#8217;ll talk about the game and my<strong> first impressions on XNA</strong>.</p>
<h3 style="text-align: justify;"><span id="more-2082"></span></h3>
<h3 style="text-align: justify;">Pitching Urban Race</h3>
<p style="text-align: justify;">Urban Race is a <strong>time attack racing game</strong> set in several tracks within a city environment. The player has to drive through the track collecting time bonuses so he can reach the goal before the time expires.</p>
<p style="text-align: justify;">The controls are extremely simple: using the arrow keys you can accelerate, brake and steer the car. I haven&#8217;t though about the controls in Xbox 360 yet but they&#8217;ll be similar to those in every racing game in that console.</p>
<div id="attachment_2085" class="wp-caption aligncenter" style="width: 548px"><a href="http://siondream.com/blog/wp-content/uploads/2011/12/urbanrace-ingame.jpg"><img class="size-full wp-image-2085  " title="urbanrace-ingame" src="http://siondream.com/blog/wp-content/uploads/2011/12/urbanrace-ingame.jpg" alt="" width="538" height="302" /></a><p class="wp-caption-text">Urban Race prototype ingame screenshot</p></div>
<h3 style="text-align: justify;">XNA first impressions</h3>
<p style="text-align: justify;">It&#8217;s really easy to criticize everything M$ does but I have to admit that <strong>XNA is a fine games development framework</strong> and it&#8217;s specially well integrated within Visual Studio. 7 days ago I didn&#8217;t know anything about C# (although I knew Java and C++) nor XNA itself and I&#8217;ve managed to get lots of stuff done: game objects model, Blender level loading, collision detection and basic response, games states management, etc.</p>
<p style="text-align: justify;">Speaking of framework specific matters, I have to say that <strong>the API is very friendly although it lacks some essential features</strong>. It would be nice if it had scene graph management, dynamic shadows or a proper animation module. All of that seems quite essential for a high level games development framework but it&#8217;s not built in. Apart from that, it&#8217;s surprisingly easy how much you can achieve in so little time with, initially, a total lack of knowledge.</p>
<p style="text-align: justify;">However, I&#8217;m fairly happy with it and its <strong>integration with Visual Studio</strong>. I&#8217;m not talking only about the excellent auto-complete or syntax checking features but the content pipeline management. Every game asset is controlled by Visual Studio, being the IDE responsible of binary exporting and reference checking. When you run your game it tells you which non existing asset are you trying to load. At first, relying on Visual Studio being in control of your assets might be a little uncomfortable and dangerous (and it is) but in the end it&#8217;s been a good thing for me.</p>
<div id="attachment_2084" class="wp-caption aligncenter" style="width: 563px"><a href="http://siondream.com/blog/wp-content/uploads/2011/12/urbanrace-blender.jpg"><img class="size-full wp-image-2084   " title="urbanrace-blender" src="http://siondream.com/blog/wp-content/uploads/2011/12/urbanrace-blender.jpg" alt="" width="553" height="289" /></a><p class="wp-caption-text">Blender level creation</p></div>
<h3 style="text-align: justify;">Tools for the trade</h3>
<p style="text-align: justify;">Here is a list of tools I&#8217;ve been using to create my game:</p>
<ul style="text-align: justify;">
<li><span class="Apple-style-span" style="line-height: 18px;"><strong>Visual Studio</strong>: IDE (the only option in this case).</span></li>
<li><span class="Apple-style-span" style="line-height: 18px;"><strong>Blender</strong>: open source 3D modelling, texturing and animation tool. I&#8217;ve used it as my level editor as well exporting to the<a href="http://www.ogre3d.org/tikiwiki/DotScene"> Dotscene xml format</a>.</span></li>
<li><span class="Apple-style-span" style="line-height: 18px;"><strong>The Gimp</strong>: open source 2D graphic tool that I&#8217;ve used for texturing my models.</span></li>
<li><span class="Apple-style-span" style="line-height: 18px;"><strong>Inkscape</strong>: open source 2D vector tool which I&#8217;ve used to design my track&#8217;s pieces since they needed to be geometrically exact so they could fit together.</span></li>
<li><span class="Apple-style-span" style="line-height: 18px;"><strong>Fraps</strong>: recording my game running.</span></li>
</ul>
<h3 style="text-align: justify;">Video after 7 days of work</h3>
<p style="text-align: justify;">I created a video showing the development progress in Urban Race after 7 days of work. You can see the crappy physics and camera behavior (none of those are final) among other features such as level loading or collision detection.</p>
<p style="text-align: center;"><object width="550" height="309" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Dvb__ZmDC-A?version=3&amp;hl=en_GB&amp;rel=0&amp;hd=1" /><param name="wmode" value="opaque" /><param name="allowfullscreen" value="true" /><embed width="550" height="309" type="application/x-shockwave-flash" src="http://www.youtube.com/v/Dvb__ZmDC-A?version=3&amp;hl=en_GB&amp;rel=0&amp;hd=1" allowFullScreen="true" allowscriptaccess="always" wmode="opaque" allowfullscreen="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/games/getting-started-with-xna-urban-race/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Official open source PlayStation Move library</title>
		<link>http://siondream.com/blog/games/official-open-source-playstation-move-library/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=official-open-source-playstation-move-library</link>
		<comments>http://siondream.com/blog/games/official-open-source-playstation-move-library/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 09:13:43 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Games development]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[games development]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlayStation Move]]></category>
		<category><![CDATA[Sony]]></category>
		<category><![CDATA[Wand]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2075</guid>
		<description><![CDATA[
Just a quick update: Sony has released moveme, an official and open source PlayStation Move API that enables developers to create Windows and Linux applications controlled using Sony’s famous wand. You can read more about the library in the following paragraphs.

They have published a C/C++  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="aligncenter size-full wp-image-2076" title="playstationmove" src="http://siondream.com/blog/wp-content/uploads/2011/11/playstationmove.jpg" alt="" width="550" height="219" /></p>
<p style="text-align: justify;">Just a quick update: Sony has released <strong><a href="http://code.google.com/p/moveme">moveme</a></strong>, an <strong>official and open source PlayStation Move API</strong> that enables developers to create Windows and Linux applications controlled using Sony’s famous wand. You can read more about the library in the following paragraphs.</p>
<h3 style="text-align: justify;"><span id="more-2075"></span></h3>
<p style="text-align: justify;">They have published a <strong>C/C++</strong> version and a <strong>C#</strong> one. Within the Google Code repository you can find the sources for all the versions, some <strong>sample programs</strong> and a brief but <strong>accessible documentation</strong>. This small API provides functions to connect with several PlayStation Move controllers; to get the wand’s info such as position, orientation or button presses and even to manage rumble effects. It looks like Sony has published the library the proper way.</p>
<p style="text-align: justify;">It’s <strong>surprising</strong> that such a secretive company like Sony publishes a library to work with their proprietary controller. However, given the unofficial Kinect SDK situation, it’s certainly more desirable providing your own version before the unofficial one comes around. Furthermore, no one can deny that Kinect SDK has given Microsoft’s device more popularity across the Net.</p>
<p style="text-align: justify;">It’s a pity that I don’t own one of these controllers. Otherwise I could maybe create a Move compatible version of <a title="Sion Tower" href="http://siondream.com/blog/games/sion-tower/">Sion Tower</a>. Who knows?</p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/games/official-open-source-playstation-move-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flocking behavior demo</title>
		<link>http://siondream.com/blog/games/flocking-behavior-demo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flocking-behavior-demo</link>
		<comments>http://siondream.com/blog/games/flocking-behavior-demo/#comments</comments>
		<pubDate>Sat, 26 Nov 2011 08:39:02 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Games development]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Boids]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[Flocking]]></category>
		<category><![CDATA[games development]]></category>
		<category><![CDATA[Kingston University]]></category>
		<category><![CDATA[Open Scene Graph]]></category>
		<category><![CDATA[Reynolds]]></category>
		<category><![CDATA[Steering Behaviors]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2072</guid>
		<description><![CDATA[
I’ve just finished this simple flocking behavior demo based on the 3 Reynolds rules: separation, cohesion and alignment. It was part of a coursework for the Strategy &#38; Intelligent Games module I’m taking here in Kingston University. I know it’s not precisely pretty but at least the boids are  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><object width="550" height="309" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/og9qYMzx3V0?version=3&amp;hl=es_ES&amp;rel=0&amp;hd=1" /><param name="wmode" value="opaque" /><param name="allowfullscreen" value="true" /><embed width="550" height="309" type="application/x-shockwave-flash" src="http://www.youtube.com/v/og9qYMzx3V0?version=3&amp;hl=es_ES&amp;rel=0&amp;hd=1" allowFullScreen="true" allowscriptaccess="always" wmode="opaque" allowfullscreen="true" /></object></p>
<p style="text-align: justify;">I’ve just finished this simple <strong>flocking behavior demo</strong> based on the <a href="http://en.wikipedia.org/wiki/Flocking_(behavior)">3 Reynolds rules</a>: separation, cohesion and alignment. It was part of a coursework for the <em>Strategy &amp; Intelligent Games</em> module I’m taking here in Kingston University. I know it’s not precisely pretty but at least the boids are moving in a nice way. It’s written in C++ using the despicable <a href="http://www.openscenegraph.org/">Open Scene Graph</a> library (such an uncomfortable API).</p>
<p style="text-align: justify;"><strong>Features</strong>:</p>
<ul style="text-align: justify;">
<li><span class="Apple-style-span" style="line-height: 18px;">3 Reynolds rules: separation, cohesion and alignment.</span></li>
<li><span class="Apple-style-span" style="line-height: 18px;">Collision avoidance.</span></li>
<li><span class="Apple-style-span" style="line-height: 18px;">User interaction: dynamic mouse seeking or avoidance.</span></li>
<li><span class="Apple-style-span" style="line-height: 18px;">Steering behaviors blending.</span></li>
<li><span class="Apple-style-span" style="line-height: 18px;">Configurable parameters using an XML options file.</span></li>
</ul>
<p style="text-align: justify;">Most of the algorithms have been extracted from the <em>Artificial Intelligence for Games</em> book written by Ian Millington and John Funge. If you’re interested in the topic it’s totally a must read, I strongly recommend it.</p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/games/flocking-behavior-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evolve: submitted prototype</title>
		<link>http://siondream.com/blog/games/evolve-submitted-prototype/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=evolve-submitted-prototype</link>
		<comments>http://siondream.com/blog/games/evolve-submitted-prototype/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 01:40:13 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Games development]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[Evolve]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[games development]]></category>
		<category><![CDATA[Kingston]]></category>
		<category><![CDATA[PSP; FPS]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2063</guid>
		<description><![CDATA[
I’ve been working quite hard in Evolve, the PSP First Person Shooter prototype I’m developing for the Advanced Games Programming module here at Kingston University. The submission deadline is getting dangerously closer and I’ve had to crunch a little bit to get the basic features I wanted to  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="aligncenter size-full wp-image-2064" title="evolve" src="http://siondream.com/blog/wp-content/uploads/2011/11/evolve.png" alt="" width="550" height="158" /></p>
<p style="text-align: justify;">I’ve been working quite hard in <strong>Evolve, the PSP First Person Shooter prototype</strong> I’m developing for the Advanced Games Programming module here at Kingston University. The submission deadline is getting dangerously closer and I’ve had to crunch a little bit to get the basic features I wanted to include and be able to write a report on the game. In the following lines I’ll give my impressions on the development and at the bottom you’ll find a doubtful quality trailer.</p>
<h3 style="text-align: justify;"><span id="more-2063"></span></h3>
<p style="text-align: justify;">The game <strong>looks awful</strong>, has several known bugs and needs some performance tweaks. However, note that I’ve only had a month and a half of development time. Furthermore, the whole PSP official SDK was completely new to me and I’ve had to divide my time between coding and creating the assets (the cute dog enemy was pre-made).</p>
<p style="text-align: justify;">Nevertheless, the system is fairly <strong>extensible</strong>. One of the things I’m proud of is the <strong>Blender level exporting</strong> which works fairly well. Only a couple features were requisites for passing the coursework and many more have been implemented, so it’s been a positive exercise. I’ve learned lots of things about developing for small devices and time management. You can watch the lame video just below this.</p>
<p style="text-align: center;"><object width="550" height="309" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/RBhuFydeOwI?version=3&amp;hl=es_ES&amp;rel=0&amp;hd=1" /><param name="wmode" value="opaque" /><param name="allowfullscreen" value="true" /><embed width="550" height="309" type="application/x-shockwave-flash" src="http://www.youtube.com/v/RBhuFydeOwI?version=3&amp;hl=es_ES&amp;rel=0&amp;hd=1" allowFullScreen="true" allowscriptaccess="always" wmode="opaque" allowfullscreen="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/games/evolve-submitted-prototype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evolve: early stage demo</title>
		<link>http://siondream.com/blog/games/evolve-early-stage-demo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=evolve-early-stage-demo</link>
		<comments>http://siondream.com/blog/games/evolve-early-stage-demo/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 08:39:35 +0000</pubDate>
		<dc:creator>David Saltares</dc:creator>
				<category><![CDATA[Games development]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[Evolve]]></category>
		<category><![CDATA[FPS]]></category>
		<category><![CDATA[games development]]></category>
		<category><![CDATA[PSP]]></category>
		<category><![CDATA[vídeo]]></category>

		<guid isPermaLink="false">http://siondream.com/blog/?p=2056</guid>
		<description><![CDATA[
Yesterday I had an in class demo at university of my PSP First Person Shooter prototype, Evolve. The professor was impressed with the software engineering behind the system so, apparently, it went quite well although the project is in a very early stage of development. As always, I was in the  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><object width="550" height="309" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/7YKUMgVqrRs?version=3&amp;hl=es_ES&amp;rel=0&amp;hd=1" /><param name="allowfullscreen" value="true" /><param name="wmode" value="opaque" /><embed width="550" height="309" type="application/x-shockwave-flash" src="http://www.youtube.com/v/7YKUMgVqrRs?version=3&amp;hl=es_ES&amp;rel=0&amp;hd=1" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" /></object></p>
<p style="text-align: justify;">Yesterday I had an <strong>in class demo</strong> at university of my <strong>PSP First Person Shooter prototype, <a title="Evolve: PSP project" href="http://siondream.com/blog/games/evolve-psp-project/">Evolve</a></strong>. The professor was impressed with the software engineering behind the system so, apparently, it went quite well although the project is in a very early stage of development. As always, I was in the games lab (it&#8217;s becoming my second home), so I recorded a video of the demo to keep track of the process.</p>
]]></content:encoded>
			<wfw:commentRss>http://siondream.com/blog/games/evolve-early-stage-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

