<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>roundcrisis.Find&#60;Solution&#62;()</title>
	<atom:link href="http://roundcrisis.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://roundcrisis.com</link>
	<description></description>
	<lastBuildDate>Mon, 21 May 2012 22:32:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='roundcrisis.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>roundcrisis.Find&#60;Solution&#62;()</title>
		<link>http://roundcrisis.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://roundcrisis.com/osd.xml" title="roundcrisis.Find&#60;Solution&#62;()" />
	<atom:link rel='hub' href='http://roundcrisis.com/?pushpress=hub'/>
		<item>
		<title>Busy May  with RavenDB</title>
		<link>http://roundcrisis.com/2012/05/16/busy-may-with-ravendb/</link>
		<comments>http://roundcrisis.com/2012/05/16/busy-may-with-ravendb/#comments</comments>
		<pubDate>Wed, 16 May 2012 10:17:23 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[ravenDB]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[uk]]></category>

		<guid isPermaLink="false">https://roundcrisis.wordpress.com/?p=1001</guid>
		<description><![CDATA[Just a small post to let you know. I’ll be speaking in two conferences this month. &#160; The 26th of May at DDD South West. The topic is Raven DB Day to Day Closely followed by an Introduction to Raven DB in Progressive.net (London) the 31st of May &#160; If there is a particular topic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=1001&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just a small post to let you know. I’ll be speaking in two conferences this month.</p>
<p>&#160;</p>
<p>The 26th of May at <a href="http://www.dddsouthwest.com/Agenda/tabid/55/Default.aspx" target="_blank">DDD South West</a>. The topic is Raven DB Day to Day</p>
<p><a href="http://www.dddsouthwest.com/Agenda/tabid/55/Default.aspx"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="Capture" border="0" alt="Capture" src="http://roundcrisis.files.wordpress.com/2012/05/capture.png?w=203&h=105" width="203" height="105" /></a></p>
<p>Closely followed by an Introduction to Raven DB in <a href="http://skillsmatter.com/podcast/open-source-dot-net/ravendb-intro">Progressive.net (London)</a> the 31st of May</p>
<p><a href="http://skillsmatter.com/podcast/open-source-dot-net/ravendb-intro"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="Untitled" border="0" alt="Untitled" src="http://roundcrisis.files.wordpress.com/2012/05/untitled.png?w=244&h=68" width="244" height="68" /></a></p>
<p>&#160;</p>
<p>If there is a particular topic you want to see there, please let me know</p>
<p>Cheers</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/1001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/1001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/1001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/1001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/1001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/1001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/1001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/1001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/1001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/1001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/1001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/1001/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/1001/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/1001/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=1001&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2012/05/16/busy-may-with-ravendb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/05/capture.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/05/untitled.png" medium="image">
			<media:title type="html">Untitled</media:title>
		</media:content>
	</item>
		<item>
		<title>XNA&#8211;A Simple Spring Camera in 2D</title>
		<link>http://roundcrisis.com/2012/05/05/xnaa-simple-spring-camera-in-2d/</link>
		<comments>http://roundcrisis.com/2012/05/05/xnaa-simple-spring-camera-in-2d/#comments</comments>
		<pubDate>Sat, 05 May 2012 14:10:29 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[acceleration force mass]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">https://roundcrisis.wordpress.com/?p=990</guid>
		<description><![CDATA[Cameras are cool, so lets keep at it and try a spring camera, i.e. one that follows you around. The initial aspect of the camera and how to use it is on the previous post on cameras, so I ll let you go and have a look there. The spring camera is very similar to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=990&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Cameras are cool, so lets keep at it and try a spring camera, i.e. one that follows you around.</p>
<p>The initial aspect of the camera and how to use it is on the <a title="XNA – A Simple 2D Camera" href="http://roundcrisis.com/2012/04/19/xna-a-simple-2d-camera/" target="_blank">previous post</a> on cameras, so I ll let you go and have a look there.</p>
<p>The spring camera is very similar to a simple camera, but with Hooke&#8217;s Law applied. Hooke&#8217;s Law states that the extension of a helical spring is directly proportional to the weight applied, provided the elastic limit of the spring is not exceeded. I read this a few times and couldnt figure how to turn this into code , so I went to Khan Academy and found this <a href="http://www.youtube.com/watch?feature=player_embedded&amp;v=ZzwuHS9ldbY#!" target="_blank">video</a>, where the formula <strong><span style="font-size:medium;">F = –k x</span></strong> is explained.</p>
<span style="text-align:center; display: block;"><a href="http://roundcrisis.com/2012/05/05/xnaa-simple-spring-camera-in-2d/"><img src="http://img.youtube.com/vi/ZzwuHS9ldbY/2.jpg" alt="" /></a></span>
<p>If we use the formula as is, then the spring would be “springing” forever, so when calculating the force we will use some damping. So the new update method in Camera.cs now looks like this</p>
<div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0 10px;width:97.5%;">
<div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;">
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum1" style="color:#606060;"> 1:</span> <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> Update(<span style="color:#0000ff;">float</span> elapsedSeconds, <span style="color:#0000ff;">float</span> rotation, Vector2 desiredPosition, <span style="color:#0000ff;">float</span> zoom)</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum2" style="color:#606060;"> 2:</span>     {</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum3" style="color:#606060;"> 3:</span>         var delta = _position - desiredPosition;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum4" style="color:#606060;"> 4:</span>         var force = -SpringStiffness * delta - Damping * _velocity;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum5" style="color:#606060;"> 5:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum6" style="color:#606060;"> 6:</span>         var acceleration = force / Mass;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum7" style="color:#606060;"> 7:</span>         _velocity += acceleration * elapsedSeconds;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum8" style="color:#606060;"> 8:</span>         _position += _velocity * elapsedSeconds;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum9" style="color:#606060;"> 9:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum10" style="color:#606060;"> 10:</span>         Transform = Matrix.CreateTranslation(-_position.X, -_position.Y, 0) *</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum11" style="color:#606060;"> 11:</span>                     Matrix.CreateRotationZ(rotation) *</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum12" style="color:#606060;"> 12:</span>                     Matrix.CreateScale(zoom, zoom, 1)*</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum13" style="color:#606060;"> 13:</span>                     Matrix.CreateTranslation(_halfScreenSize.X, _halfScreenSize.Y, 0);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum14" style="color:#606060;"> 14:</span>     }</pre>
<p><!--CRLF--></p>
</div>
</div>
<p>The line</p>
<p>var<span style="color:#ff6600;"> force = -SpringStiffness * delta</span><span style="color:#008000;"> &#8211; Damping * _velocity</span>;</p>
<p>Is respecting the formula F= –kx, where k is the SpringStiffness and x is the delta(in orange). The second part of this assignment(in green)  is applying some damping proportional to the velocity.</p>
<p>Once we have the result of calculating the force, we use the force vector to calculate the acceleration that, in turn that value is used to calculate the velocity and position.</p>
<p>Finally, once we have the position, the matrix transformation is calculated in the same way we calculated this for the simple camera (<a title="XNA – A Simple 2D Camera" href="http://roundcrisis.com/2012/04/19/xna-a-simple-2d-camera/" target="_blank">in previous post</a>).</p>
<p>You can get a complete working sample <a href="https://github.com/Andrea/SpringCamera2dXNA" target="_blank">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/990/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=990&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2012/05/05/xnaa-simple-spring-camera-in-2d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>
	</item>
		<item>
		<title>Using Mercury Particle Engine with Windows Phone 7</title>
		<link>http://roundcrisis.com/2012/04/29/using-mercury-particle-engine-with-windows-phone-7/</link>
		<comments>http://roundcrisis.com/2012/04/29/using-mercury-particle-engine-with-windows-phone-7/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 17:46:18 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[gamedev]]></category>
		<category><![CDATA[xna]]></category>
		<category><![CDATA[mercury]]></category>
		<category><![CDATA[particle]]></category>
		<category><![CDATA[particle engine]]></category>

		<guid isPermaLink="false">https://roundcrisis.wordpress.com/?p=984</guid>
		<description><![CDATA[This a very simple walk through to use Mercury on a Windows Phone 7 project. Get the binaries As far as I can see, Mercury supports Windows Phone 7 only in version 4.0, if you go to the project page you wont find this on downloads, as it&#8217;s not yet released. So, you have to get the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=984&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This a very simple walk through to use Mercury on a Windows Phone 7 project.</p>
<h3>Get the binaries</h3>
<p>As far as I can see, Mercury supports Windows Phone 7 only in version 4.0, if you go to the project page you <em><strong>wont</strong> </em>find this on downloads, as it&#8217;s not yet released.</p>
<p><a title="Mercury Particle Engine Downloads page" href="http://mpe.codeplex.com/releases" target="_blank"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2012/04/capture6.png?w=219&h=244" alt="Capture" width="219" height="244" border="0" /></a></p>
<p>So, you have to get the sources from <a href="http://mpe.codeplex.com/SourceControl/list/changesets" target="_blank">here</a> and build the project and find the correct binaries. An alternative is to download them from <a href="https://github.com/downloads/Andrea/MercuryParticleEngine/Mercury.4.0_WindowsPhone.zip" target="_blank">here</a> (I forked the repo and added the binary download for WP7 ) If you ask nicely I’ll add all the other binaries.</p>
<p>Once you have the binaries, include ProjectMercury.dll in the project where you want to use the particle engine, and add ProjectMercury.ContentPipeline.dll to the content project.</p>
<h3>Code</h3>
<p>I am not entirely sure where is the best place for the initialization code, you can probably place it in LoadContent, tho I did create the new instance of SpriteBatchRenderer in the constructor of my game class.</p>
<div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0 10px;width:97.5%;">
<div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;">
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum1" style="color:#606060;"> 1:</span> <span style="color:#008000;">// It needs the GraphicsDeviceManager</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum2" style="color:#606060;"> 2:</span> _spriteBatchRenderer = <span style="color:#0000ff;">new</span> SpriteBatchRenderer{ GraphicsDeviceService = _graphics };</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum3" style="color:#606060;"> 3:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum4" style="color:#606060;"> 4:</span> _particleEffect = Content.Load&lt;ParticleEffect&gt;(<span style="color:#006080;">"Demo1"</span>);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum5" style="color:#606060;"> 5:</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum6" style="color:#606060;"> 6:</span>             <span style="color:#0000ff;">foreach</span> (var emitter <span style="color:#0000ff;">in</span> _particleEffect.Emitters)</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum7" style="color:#606060;"> 7:</span>             {</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum8" style="color:#606060;"> 8:</span>                 emitter.ParticleTexture = Content.Load&lt;Texture2D&gt;(<span style="color:#006080;">"Star"</span>);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum9" style="color:#606060;"> 9:</span>                 emitter.Initialise();</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum10" style="color:#606060;"> 10:</span>             }</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum11" style="color:#606060;"> 11:</span>             _spriteBatchRenderer.LoadContent(Content);</pre>
<p><!--CRLF--></p>
</div>
</div>
<p>All you are doing is loading the particle effect through the content pipeline. Then you are iterating over the emitters in the effect to assign the ParticleTexture value, ie a texture you just loaded, and initializing each of the emitters. Finally you need to call LoadContent, calling this method is required because it creates the internal SpriteBatch instance* .</p>
<p>In the update you will need to call</p>
<div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0 10px;width:97.5%;">
<div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;">
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum1" style="color:#606060;"> 1:</span> <span style="color:#008000;">//position is a Vector3</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum2" style="color:#606060;"> 2:</span> _particleEffect.Trigger(<span style="color:#0000ff;">ref</span> position);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum3" style="color:#606060;"> 3:</span> _particleEffect.Update((<span style="color:#0000ff;">float</span>) gameTime.ElapsedGameTime.TotalSeconds);</pre>
<p><!--CRLF--></p>
</div>
</div>
<p>You need to Trigger the particle with a position (there are a number of overloads for this method, make sure you check this out) and then Update. If you fail to do either of those calls, no particles will be rendered.</p>
<p>Finally in the Draw function:</p>
<div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0 10px;width:97.5%;">
<div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;">
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum1" style="color:#606060;"> 1:</span> var matrix = Matrix.Identity;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum2" style="color:#606060;"> 2:</span> var cameraPosition = Vector3.Zero;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;margin:0;width:100%;"><span id="lnum3" style="color:#606060;"> 3:</span> _spriteBatchRenderer.Transformation = Matrix.Identity;</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;"><span id="lnum4" style="color:#606060;"> 4:</span> _spriteBatchRenderer.RenderEffect(_particleEffect, <span style="color:#0000ff;">ref</span> matrix, <span style="color:#0000ff;">ref</span> matrix, <span style="color:#0000ff;">ref</span> matrix, <span style="color:#0000ff;">ref</span> cameraPosition);</pre>
<p><!--CRLF--></p>
</div>
</div>
<p>Please find a full working sample <a href="https://github.com/Andrea/MercuryParticleEngineWP7Sample" target="_blank">here</a></p>
<p>And this would be what you see when you run the project <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" src="http://roundcrisis.files.wordpress.com/2012/04/wlemoticon-smile1.png?w=500" alt="Smile" /></p>
<p><a href="http://roundcrisis.files.wordpress.com/2012/04/capture7.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb6.png?w=244&h=131" alt="Capture" width="244" height="131" border="0" /></a></p>
<h3>Some thoughts</h3>
<p>I have to admit, I find it strange that  the constructor for SpriteBatchRenderer doesn&#8217;t require GraphicsDeviceManager, and instead you need to initialize the property, if you  don&#8217;t set this property before you call LoadContent, then you get a  NullReferenceException, as this is where the internal instance of SpriteBatch  is created and a GraphicsDevice is required.</p>
<p>My suggestion here would be to have two versions of the constructors, one where you pass the reference of spriteBatch you have, and another one where you pass the instance of GraphicsDevice, as all usages point to only actually consuming that.</p>
<p>These are just some thoughts on the API, and there might be really good reasons for the decisions made this way that I don&#8217;t know about. I think that all in all this is a great project, thanks to the creators and maintainers of it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/984/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/984/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/984/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/984/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/984/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/984/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/984/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/984/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/984/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/984/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/984/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/984/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/984/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/984/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=984&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2012/04/29/using-mercury-particle-engine-with-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/capture6.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/wlemoticon-smile1.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb6.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>
	</item>
		<item>
		<title>XNA &#8211; A Simple 2D Camera</title>
		<link>http://roundcrisis.com/2012/04/19/xna-a-simple-2d-camera/</link>
		<comments>http://roundcrisis.com/2012/04/19/xna-a-simple-2d-camera/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 15:21:10 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[gamedev]]></category>
		<category><![CDATA[xna]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[camera]]></category>

		<guid isPermaLink="false">https://roundcrisis.wordpress.com/?p=962</guid>
		<description><![CDATA[What is a camera? Intuitively we know what a camera is:  simply a way to show the action. A Camera allows us to deal with the display of the action in a detached way from the action. Implementation I like to start with what we are trying to achieve. For the purposes of this post, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=962&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>What is a camera? Intuitively we know what a camera is:  simply a way to show the action.</p>
<p>A Camera allows us to deal with the display of the action in a detached way from the action.</p>
<p><span style="font-size:large;">Implementation</span></p>
<p>I like to start with what we are trying to achieve. For the purposes of this post, I want to have two cameras showing the same action at different zoom levels, like this:</p>
<p><a href="http://roundcrisis.files.wordpress.com/2012/04/capture.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb.png?w=244&h=151" alt="Capture" width="244" height="151" border="0" /></a></p>
<p>In this case we want 2 cameras, with each camera having it’s own ViewPort that we assign when creating like this:</p>
<pre class="csharpcode"><span class="kwrd">int</span> halfScreenWidth = GraphicsDevice.Viewport.Width/2;
_camera1 = <span class="kwrd">new</span> Camera(<span class="kwrd">new</span> Viewport(0, 0, halfScreenWidth - 3, GraphicsDevice.Viewport.Height));</pre>
<p>What we are saying with that is that the Camera class will have a Viewport that occupies the left side of the screen.  The &#8211; 3 is there to add a visible gap between the left and right sides of the screen. Lets look at the following portion of the Draw method. Please note you could have all the parameters for _spriteBatch.Begin() null, except for the transform.</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 1: </span>            GraphicsDevice.Viewport = _camera1.Viewport;
<span class="lnum"> 2: </span></pre>
<pre class="alt"><span class="lnum"> 3: </span>            _spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, DepthStencilState.None, RasterizerState.CullNone, <span class="kwrd">null</span>, _camera1.Transform);
<span class="lnum"> 4: </span>            _level.Draw(_spriteBatch);</pre>
<pre class="alt"><span class="lnum"> 5: </span>            _spriteBatch.Draw(_tankTexture, _tankPosition, <span class="kwrd">null</span>, Color.White, _rotation, <span class="kwrd">new</span> Vector2(_tankTexture.Width / 2, _tankTexture.Height / 2), 1, SpriteEffects.None, 0);
<span class="lnum"> 6: </span>            _spriteBatch.End();</pre>
</div>
<p>Since we have a viewport  per camera, the graphics device needs to know which one to use, and that’s what we are doing in line 1 in the code above. The other important part of the code is the last parameter of the _spriteBatch.Begin call, where we are using the transformation matrix from the camera. This transform is calculated on each update.</p>
<p>So finally lets look at the Camera class:</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 1: </span>    <span class="kwrd">public</span> <span class="kwrd">class</span> Camera</pre>
</div>
<div class="csharpcode">
<pre><span class="lnum"> 2: </span>    {</pre>
</div>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 3: </span>        <span class="kwrd">public</span> Matrix Transform { get; <span class="kwrd">private</span> set; }</pre>
</div>
<div class="csharpcode">
<pre><span class="lnum"> 4: </span>        <span class="kwrd">public</span> Viewport Viewport { get; <span class="kwrd">private</span> set; }</pre>
</div>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 5: </span></pre>
</div>
<div class="csharpcode">
<pre><span class="lnum"> 6: </span>        <span class="kwrd">public</span> Camera(Viewport viewport)</pre>
</div>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 7: </span>        {</pre>
</div>
<div class="csharpcode">
<pre><span class="lnum"> 8: </span>            Transform = Matrix.Identity;</pre>
</div>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 9: </span>            Viewport = viewport;</pre>
</div>
<div class="csharpcode">
<pre><span class="lnum"> 10: </span>        }</pre>
</div>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 11: </span></pre>
</div>
<div class="csharpcode">
<pre><span class="lnum"> 12: </span>        <span class="kwrd">public</span> <span class="kwrd">void</span> Update(GameTime gameTime, <span class="kwrd">float</span> rotation, Vector2 position, <span class="kwrd">float</span> zoom)</pre>
</div>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 13: </span>        {</pre>
</div>
<div class="csharpcode">
<pre><span class="lnum"> 14: </span>            Transform = Matrix.CreateTranslation(-position.X, -position.Y, 0) *</pre>
</div>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 15: </span>                        Matrix.CreateRotationZ(rotation) *</pre>
</div>
<div class="csharpcode">
<pre><span class="lnum"> 16: </span>                        Matrix.CreateScale(<span class="kwrd">new</span> Vector3(zoom, zoom, 1)) *</pre>
</div>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 17: </span>                        Matrix.CreateTranslation(Viewport.Width / 2, Viewport.Height / 2, 0);</pre>
</div>
<div class="csharpcode">
<pre><span class="lnum"> 18: </span>        }</pre>
</div>
<div class="csharpcode">
<pre class="alt"><span class="lnum"> 19: </span>    }</pre>
</div>
<p>The least obvious part of this code lies in the matrix transformation. It is important to understand that we have two coordinate systems in place, the screen and the world. With the transformation matrix we are trying to project the world coordinate system onto the screen system. With that in mind, the first translation matrix (line 14 in the code above) will reposition the world so that point (position.X, position.Y) lines up with the screen&#8217;s origin. The result is as follows:</p>
<p><a href="http://roundcrisis.files.wordpress.com/2012/04/capture1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb1.png?w=244&h=150" alt="Capture" width="244" height="150" border="0" /></a><a href="http://roundcrisis.files.wordpress.com/2012/04/capture2.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb2.png?w=172&h=112" alt="Capture" width="172" height="112" border="0" /></a></p>
<p>What you see at the top left of the pic is a quarter of the tank. If you change the tank’s position then you will see that the tank remains static at the top left (tho rotation applies) and the world moves underneath it.</p>
<p><a href="http://roundcrisis.files.wordpress.com/2012/04/capture3.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb3.png?w=244&h=155" alt="Capture" width="244" height="155" border="0" /></a></p>
<p>The next line, Matrix.CreateRotationZ, creates a matrix representing a rotation around the Z axis. The Z axis points straight out of the screen. In 2D, to perform a rotation, we always rotate around Z.</p>
<p><a href="http://roundcrisis.files.wordpress.com/2012/04/capture4.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb4.png?w=244&h=155" alt="Capture" width="244" height="155" border="0" /></a></p>
<p>Then we need to scale, using the parameters that we sent on update. Don’t forget we set different levels of zoom in each of the two cameras. We use the overload of Matrix.CreateScale() that takes a Vector3 to create a scaling matrix. However we could use the overload that just takes a float and pass the zoom value as a parameter with the same result. Unsurprisingly applying the scale, scales <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" src="http://roundcrisis.files.wordpress.com/2012/04/wlemoticon-smile.png?w=500" alt="Smile" />.</p>
<p>Finally we want to center the tank in the middle of each viewport and that’s why you apply the last line (line 17 on the sample above).</p>
<p><a href="http://roundcrisis.files.wordpress.com/2012/04/capture5.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb5.png?w=244&h=155" alt="Capture" width="244" height="155" border="0" /></a></p>
<p>And we are done <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" src="http://roundcrisis.files.wordpress.com/2012/04/wlemoticon-smile.png?w=500" alt="Smile" /> tho I m sure there are plenty of ways to improve the code, but hopefully it will help as a simple example.</p>
<p>If you want to have a better look at the code, a working sample is available <a href="https://github.com/Andrea/Simple-2D-camera-Sample" target="_blank">here</a>. If you have any comments, improvements, questions, as always you are very welcome.</p>
<p><strong>UPDATE: </strong>I followed up with a post about Spring Camera <a title="XNA–A Simple Spring Camera in 2D" href="http://roundcrisis.com/2012/05/05/xnaa-simple-spring-camera-in-2d/">here</a>.</p>
<h3>Other XNA 2d Camera posts</h3>
<p><a href="http://www.david-amador.com/2009/10/xna-camera-2d-with-zoom-and-rotation/" target="_blank">XNA Camera 2d with zoom and rotation</a></p>
<p>Another one that I read after implementation <a href="http://pwnageincblog.blogspot.com/2012/02/terrain-weather-and-more.html">Terrain, Weather, and more!</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/962/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/962/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/962/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/962/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/962/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/962/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/962/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/962/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/962/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/962/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/962/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/962/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/962/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/962/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=962&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2012/04/19/xna-a-simple-2d-camera/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb1.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb2.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb3.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb4.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/capture_thumb5.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2012/04/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>
	</item>
		<item>
		<title>Windows Phone 7&#8211; Game Development Experience</title>
		<link>http://roundcrisis.com/2011/12/06/windows-phone-7-game-development-experience/</link>
		<comments>http://roundcrisis.com/2011/12/06/windows-phone-7-game-development-experience/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 13:27:59 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[gamedev]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[xna]]></category>
		<category><![CDATA[ganedev]]></category>
		<category><![CDATA[windows phone 7]]></category>

		<guid isPermaLink="false">https://roundcrisis.wordpress.com/?p=915</guid>
		<description><![CDATA[I got a Windows Phone 7 to play with for a while and these are some notes about the experiment.  I just did a tick-tac-toe based on this blog post changed a few things tho (like the use of extension method for checking for wining and replaced by bit shifting ), but I wanted to have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=915&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I got a Windows Phone 7 to play with for a while and these are some notes about the experiment.  I just did a tick-tac-toe based on this <a href="http://mobile.tutsplus.com/tutorials/windows/windows-phone-7-game-development/">blog post</a> changed a few things tho (like the use of extension method for checking for wining and replaced by bit shifting <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ), but I wanted to have some code to fall back to just in case.</p>
<p>NOTE: I have an android phone, and had an iPhone for a while in the past, so my expectations about this phone are probably based on them.</p>
<p>As soon as I connected the phone to my computer it prompted me to install the Zune software, after installation you get this:</p>
<p><a href="http://roundcrisis.files.wordpress.com/2011/12/capture.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2011/12/capture_thumb.png?w=244&h=96" alt="Capture" width="244" height="96" border="0" /></a></p>
<p>restarting my machine? we are not in 1999, this shouldn’t be a requirement.</p>
<p>Also when I was trying to install some game, the phone displayed a message about the fact that some installations require re starting the phone. Very strange</p>
<p>Rather randomly on an LG –E90099 I get the error that the phone is pin locked (it isn&#8217;t <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ).</p>
<p>If while trying to debug to your phone you get an error, “The application could not be lauched for debugging. Verify that the application is installed on target device” that, for me , meant that the phone was locked (ie dark screen) Make sure you can see the menu and try again</p>
<p><a href="http://roundcrisis.files.wordpress.com/2011/12/capture1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border:0;" title="Capture" src="http://roundcrisis.files.wordpress.com/2011/12/capture_thumb1.png?w=244&h=181" alt="Capture" width="244" height="181" border="0" /></a></p>
<p>After these initial errors, I pretty much moved pretty quickly.</p>
<p>I  am quite surprised by this, but at least for game development  (with xna) this little trial has been incredibly painless.</p>
<p>Regarding the phone OS,  there are some aspects that I really dislike:</p>
<ul>
<li>A lot of screen is wasted, for example if i search online for something, I can only see about 2 to 3 results.</li>
<li>The facebook integration (I dont want facebook). Probably it can be turned off?</li>
<li>Figuring out how to un-link the hotmail account to the phone is quite tricky (it might be just me)</li>
<li>Having to restart your phone after installing an app is just not acceptable.</li>
</ul>
<p>Things I liked about the phone</p>
<ul>
<li>Dealing with text in general is superior at least to the android experience. ie writting texts and email was a good experience</li>
<li>Generally fast and non cluttered</li>
</ul>
<p>In general my perception of the phone has improved after trying it . And I have to add I m pretty impressed by the Zune software, it looks good, it worked flawlessly. Comparing to iTunes and Samsung Kies it&#8217;s way ahead.</p>
<p>I like XNA, and the fact that it was so transparent to deploy a game to the phone was really nice.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/915/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/915/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/915/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/915/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/915/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/915/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/915/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/915/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/915/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/915/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/915/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/915/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/915/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/915/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=915&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2011/12/06/windows-phone-7-game-development-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/12/capture_thumb.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/12/capture_thumb1.png" medium="image">
			<media:title type="html">Capture</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming Science</title>
		<link>http://roundcrisis.com/2011/11/22/programming-science/</link>
		<comments>http://roundcrisis.com/2011/11/22/programming-science/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 09:40:04 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://roundcrisis.wordpress.com/?p=900</guid>
		<description><![CDATA[So a few Scientists and a few developers met last Wednesday. It was hard to know where we were going to end and thanks so much to everyone that participated. The following is a summary of the tips we (scientist + developers) thought was a good idea Tips for scientists writing code (1st Round): Talk [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=900&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So a few Scientists and a few developers met last Wednesday. It was hard to know where we were going to end and thanks so much to everyone that participated. The following is a summary of the tips we (scientist + developers) thought was a good idea</p>
<p>Tips for scientists writing code (1st Round):</p>
<ul>
<li>Talk to other scientists that work on similar projects and share a list of your most used functions (I cant remember the name of the person suggestion</li>
<li>Every now and then meet up with other scientist writing similar code to you to talk specifically about the code you write, after all if you know the tools you are working with better, you are bound to be more productive</li>
<li>Use source control. There are pretty good open source alternatives and many places that offer free storage. Some source control options: Git, Mercurial, subversion. Some places to host your code: github, bitbucket, google code, codeplex</li>
<li>Use variable names that indicate what you are talking about.</li>
<ul>
<li>Some bad examples: your_cat_name, sss, ttt, etc. Some good examples: portionOfSphere, portion_of_sphere.</li>
</ul>
<li>In the case of IDL, avoid for loops and try to use functions</li>
<li>Try to get used to reading others people code so that you realise where you can improve, or point out things that can be done i na more effective way</li>
</ul>
<h3> Help a scientist day</h3>
<p>The above is all well and good, however. We were also thinking about collaboration. So Philippe came up with a great idea: Help a scientist day.</p>
<ul>
<li>A scientist submits (somewhere to be discussed) a problem she or he thinks it could be solved with some help of more developers</li>
<li>people can ask questions about the idea (either technical details or just to check that its a problem similar to theirs)</li>
<li>People can vote on ideas <span style="color:#a5a5a5;">(no need to sign up )</span></li>
<li>The ideas with most votes (that are doable) will be the ones that will be implemented by developer during “Help a Scientist Day”</li>
</ul>
<p>So, we need to organize this day, please comment on <a href="https://plus.google.com/b/114172855713532113103/" target="_blank">G+</a> so we can get this going</p>
<p>Cheers</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/900/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=900&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2011/11/22/programming-science/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>
	</item>
		<item>
		<title>Starting out with XNA? some handy links</title>
		<link>http://roundcrisis.com/2011/11/07/starting-out-with-xna-some-handy-links/</link>
		<comments>http://roundcrisis.com/2011/11/07/starting-out-with-xna-some-handy-links/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 21:19:03 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roundcrisis.com/?p=887</guid>
		<description><![CDATA[XNA is the SDK from Microsoft for game development. XNA getting started tutorial. Well organized, paced  series of  XNA tutorials by a guy that teaches this. If you know nothing this is pretty good. Xna workshop. Some posts and links to learn XNA Is kinda handy to see other people&#8217;s questions Riemers XNA Tutorials. I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=887&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>XNA is the SDK from Microsoft for game development.</p>
<ul>
<li><a href="http://rbwhitaker.wikidot.com/getting-started-tutorials" target="_blank">XNA getting started tutorial</a>. Well organized, paced  series of  XNA tutorials by a guy that teaches this. If you know nothing this is pretty good.</li>
<li><a href="http://www.gamedev.net/forum/145-xna-40-2011-workshop/" target="_blank">Xna workshop</a>. Some posts and links to learn XNA Is kinda handy to see other people&#8217;s questions</li>
<li><a href="http://www.riemers.net/eng/Tutorials/XNA/Csharp/series1.php" target="_blank">Riemers XNA Tutorials</a>. I think this is a link you want to keep, every time I search for something XNA related I get a post from this guy</li>
<li><a href="http://www.david-gouveia.com/2d-camera-with-parallax-scrolling-in-xna/" target="_blank">2D Camera with parallax scrolling</a>. Does what it said on the tin, very comprehensive article that also links to other interesting articles.</li>
<li><strong><a href="https://github.com/mono/MonoGame" target="_blank">Mono game</a></strong>. The good news is that there is a port <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  &#8230; &#8220;MonoGame is an open source implementation of the XNA APIs that allows developers to build 2D games that run on Android, iPhone, iPad, Mac, Linux and Windows using the same code base, or reusing existing XNA code that runs on Xbox 360 or Windows Phone 7&#8243;</li>
</ul>
<div>I ve been reading <a href="http://www.amazon.com/Learning-XNA-4-0-Development-Windows/dp/1449394620" target="_blank">Learning XNA 4.0</a> its pretty good so far, well written and easy to follow tho with enough detail.</div>
<div>If you know of other good details, please comment <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/887/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/887/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/887/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/887/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/887/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/887/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/887/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/887/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/887/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/887/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/887/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/887/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/887/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/887/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=887&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2011/11/07/starting-out-with-xna-some-handy-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>
	</item>
		<item>
		<title>Code Retreat Dublin&#8211;17th September</title>
		<link>http://roundcrisis.com/2011/09/25/code-retreat-dublin17th-september/</link>
		<comments>http://roundcrisis.com/2011/09/25/code-retreat-dublin17th-september/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 12:06:09 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[code_retreat]]></category>
		<category><![CDATA[dublin]]></category>
		<category><![CDATA[events]]></category>

		<guid isPermaLink="false">https://roundcrisis.wordpress.com/?p=869</guid>
		<description><![CDATA[What an awesome experience to organize and participate in this event. It was a long day but I think people enjoyed it, learned a lot and got to try a few new things. At 9, Jose  explained how a Code Retreat works and Kevin(below) explained Conway’s Game of Life, the problem to solve during the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=869&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>What an awesome experience to organize and participate in this event.</p>
<p>It was a long day but I think people enjoyed it, learned a lot and got to try a few new things.</p>
<p><a href="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-08-53-22.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-color:black;border-style:solid;border-width:1px;" title="Code Retreat. A bad picture of breakfast" src="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-08-53-22_thumb.jpg?w=184&h=244" alt="Code Retreat. A bad picture of breakfast" width="184" height="244" border="0" /></a><a href="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-08-53-12.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="Code Retreat. Early birds" src="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-08-53-12_thumb.jpg?w=244&h=184" alt="Code Retreat. Early birds" width="244" height="184" border="0" /></a><a href="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-08-53-33.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="2011-09-17 08.53.33" src="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-08-53-33_thumb.jpg?w=244&h=184" alt="2011-09-17 08.53.33" width="244" height="184" border="0" /></a></p>
<p>At 9, Jose  explained how a Code Retreat works and Kevin(below) explained Conway’s Game of Life, the problem to solve during the day.</p>
<p><a href="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-09-12-36.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="2011-09-17 09.12.36" src="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-09-12-36_thumb.jpg?w=244&h=184" alt="2011-09-17 09.12.36" width="244" height="184" border="0" /></a></p>
<h1>Sessions</h1>
<p>A code retreat has many sessions of 45 minutes each. Below is how most of the sessions looked</p>
<p><a href="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-09-24-11.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="2011-09-17 09.24.11" src="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-09-24-11_thumb.jpg?w=244&h=184" alt="2011-09-17 09.24.11" width="244" height="184" border="0" /></a><a href="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-13-59-20.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="2011-09-17 13.59.20" src="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-13-59-20_thumb.jpg?w=244&h=184" alt="2011-09-17 13.59.20" width="244" height="184" border="0" /></a></p>
<p><a href="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-13-59-37.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="2011-09-17 13.59.37" src="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-13-59-37_thumb.jpg?w=244&h=184" alt="2011-09-17 13.59.37" width="244" height="184" border="0" /></a><a href="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-13-59-28.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="2011-09-17 13.59.28" src="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-13-59-28_thumb.jpg?w=244&h=184" alt="2011-09-17 13.59.28" width="244" height="184" border="0" /></a></p>
<h3>Session 1</h3>
<p>At 9.10 am we started our first session.</p>
<p>Constraint: To code Conway&#8217;s Game of life in pairs.</p>
<p>At the beginning of the session all the pairs were talking to each other, but after 5 min or so we saw a change towards writing code.</p>
<p>Retrospective:</p>
<ul>
<li>A few solutions to the problem emerged.</li>
<li>A healthy discussion about the problem constraints.</li>
</ul>
<p>Pair count by language:</p>
<ul>
<li>Python: 3</li>
<li>Ruby: 4</li>
<li>C#: 2</li>
<li>Php: 1</li>
<li>Javascript: 1</li>
</ul>
<div>
<h3>Session 2</h3>
<p>Constraint:  To discuss the solution for 10 min, and to test drive or unit test the solution.</p>
<p>Retrospective:</p>
<p>A pair came up with a solution that used 2 lists.<br />
More people using javascript, as it&#8217;s a language that most can understand. <a href="http://pivotal.github.com/jasmine/" target="_blank">Jasmine</a> (BDD for Javascript) was a handy tool since you can run it in the browser.</p>
<p>Pair count by language:</p>
<ul>
<li>Python: 3</li>
<li>Ruby: 2</li>
<li>C#: 2</li>
<li>Php: 0</li>
<li>Javascript: 3</li>
<li>Java: 1</li>
</ul>
<h3>Session 3</h3>
<p>Constraint:  Avoid the use of primitives.</p>
<p>Retrospective:</p>
<p>In this session we got more feedback:</p>
<ul>
<li>As a result of the restriction we got self documenting tests</li>
<li>Not enough time</li>
<li>Arriving at a better design</li>
<li>One of the pairs spent most of the time just analyzing</li>
<li>Some questions about testing in general. What do you do when tests are just too big? The general answer was around the lines of break it down into smaller tests and skip or remove from code and add to To do list. Another question was about mocking</li>
</ul>
<p>Pair count by language:</p>
<ul>
<li>Python: 2</li>
<li>Ruby: 1</li>
<li>C#: 1</li>
<li>Php: 1</li>
<li>Javascript: 3</li>
<li>Java: 3</li>
</ul>
<div>&#8212; Lunch Break.  Retrospective: Yay! &#8212;</div>
</div>
<h3>Session 4</h3>
<div>Constraint:  <a href="http://gojko.net/2009/08/02/tdd-as-if-you-meant-it-revisited/" target="_blank">TDD as if you mean it</a> tho since not everyone was comfortable with testing, it was optional.</div>
<div>Retrospective:  Four pairs tried TDD as if you mean it, however the concept wasn&#8217;t very clear. (this was probably my fault, as I explained it badly, sorry)</div>
<div>Pair count by language:</p>
<ul>
<li>Python: 1</li>
<li>Ruby: 2</li>
<li>C#: 2</li>
<li>Php: 0</li>
<li>Javascript: 3</li>
<li>Java: 1</li>
</ul>
<h3>Session 5</h3>
</div>
<div>Constraint: No conditionals</div>
<div>Retrospective:</div>
<div>The general feedback was that the pairs felt  that they were arriving at more elegant solutions with more classes, which resulted in more readable tests.</div>
<div>Pair count by language:</div>
<div>
<ul>
<li>Python: 2</li>
<li>Ruby: 1</li>
<li>C#: 2</li>
<li>Php: 0</li>
<li>Javascript: 2</li>
<li>Java: 2</li>
</ul>
</div>
<h3>Session 6</h3>
<div>This was the last session after a long day. The feedback on the ground was that people felt a bit frustrated that they didn&#8217;t have enough time to finish the problem; so session 6 was: Finish the problem.</div>
<div>There was no retrospective as people started to leave. However it felt like people left happy. Splitters!!</div>
<div></div>
<div></div>
<div>NOTE: There is another Code Retreat in Dublin this coming  3rd of December as part of Global Day of Code Retreat check <a href="CodingDay.org" target="_blank">CodingDay.org</a> for more details</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/869/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=869&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2011/09/25/code-retreat-dublin17th-september/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-08-53-22_thumb.jpg" medium="image">
			<media:title type="html">Code Retreat. A bad picture of breakfast</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-08-53-12_thumb.jpg" medium="image">
			<media:title type="html">Code Retreat. Early birds</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-08-53-33_thumb.jpg" medium="image">
			<media:title type="html">2011-09-17 08.53.33</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-09-12-36_thumb.jpg" medium="image">
			<media:title type="html">2011-09-17 09.12.36</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-09-24-11_thumb.jpg" medium="image">
			<media:title type="html">2011-09-17 09.24.11</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-13-59-20_thumb.jpg" medium="image">
			<media:title type="html">2011-09-17 13.59.20</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-13-59-37_thumb.jpg" medium="image">
			<media:title type="html">2011-09-17 13.59.37</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/09/2011-09-17-13-59-28_thumb.jpg" medium="image">
			<media:title type="html">2011-09-17 13.59.28</media:title>
		</media:content>
	</item>
		<item>
		<title>TDD tools for .net developers</title>
		<link>http://roundcrisis.com/2011/07/09/tdd-tools-for-net-developers/</link>
		<comments>http://roundcrisis.com/2011/07/09/tdd-tools-for-net-developers/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 11:49:46 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roundcrisis.com/?p=828</guid>
		<description><![CDATA[In the last few years the tooling available to .net developers for unit testing in general has matured, these are some of the tools  that I either used or heard of : Continuous Integration: Team City: I use it and really like it, simple to set up and use, if you want to try it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=828&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the last few years the tooling available to .net developers for unit testing in general has matured, these are some of the tools  that I either used or heard of :</p>
<p>Continuous Integration:</p>
<ul>
<li>Team City: I use it and really like it, simple to set up and use, if you want to try it they have a free professional edition .</li>
<li>Cruise Control.net: Open source, used it but didnt find it too friendly, I m aware a lot of people use it</li>
<li>Hudson. Originally a Java only project but there are some success stories on the .net fence, has some features unavailable in the other two mentioned above.</li>
<li>there must be something else. ?</li>
</ul>
<div>BDD Frameworks</div>
<div>
<ul>
<li>StoryQ:  This is what I use. Like it because you write C# code with some constraints and it generates reports on the behaviour. Samples: <a href="http://storyq.codeplex.com/SourceControl/changeset/view/2d36d2927f4d#src%2fStoryQ.Demo%2fDemoTest.cs" target="_blank">code</a> <a href="http://yfrog.com/h2y3mtp" target="_blank">report</a></li>
<li>Cukes/Cucumber: I remember the first time I saw cucumber in action I was really impressed, however it&#8217;s hard to get buy in for a tool that requires another language installed, probably fine for some projects, it depends a lot on the project, the company and the culture.</li>
<li>SpecFlow:  you write features in Gherkin(the cucumber spec language) that are then compiled into c# code. Nice reports, but I find the generated code hard to read&#8230; ie a bit too verbose (<a href="https://github.com/techtalk/SpecFlow-Examples/blob/master/BowlingKata/BowlingKata-MbUnit/Bowling.Specflow/ScoreCalculationAlternativesFeature.feature" target="_blank">example feature</a> <a href="https://github.com/techtalk/SpecFlow-Examples/blob/master/BowlingKata/BowlingKata-MbUnit/Bowling.Specflow/BowlingSteps.cs" target="_blank">example generated code</a>) however I wouldnt discard it totally.</li>
<li>NSpec:  You write c# code (very lambda-y)  and it generates reports.. like it even less for reasons similar to the above,  have a look at it yourself <a href="http://nspec.org/" target="_blank">here</a></li>
<li>Fit/fitnesse:  I haven&#8217;t tried it, it supposed to be very good, I ll leave that one to you (would love some feedback on this if anyone reading did try it)</li>
</ul>
<div>Unit Testing Frameworks.</div>
<div>
<ul>
<li>xUnit: a nice, compact unit test framework, I like it because it has less noise,  no setup method (ie it uses the ctor for</li>
<li>nUnit:  The most popular one.</li>
<li>mbUnit: good support for RowTests.</li>
<li>_</li>
<li>msTests: the option by Microsoft. I tried this framework when it came out, so perhaps not valid anymore. My experience with it was that the same set of test ran 20% slower. Also it had poor support for theory tests. Maybe this all changed. I will guess that anyone using this framework does it because they can&#8217;t use anything else</li>
</ul>
<div><a href="http://roundcrisis.files.wordpress.com/2011/05/unit-testing-fm.png"><img title="unit testing fm" src="http://roundcrisis.files.wordpress.com/2011/05/unit-testing-fm.png?w=202&h=300" alt="" width="202" height="300" /></a></div>
</div>
<div>Builds</div>
<div>
<ul>
<li>Psake:  powershel based DSL for building</li>
<li>Rake:  Ruby based Dsl for builds, nice to use ruby, but sometimes needing the ruby dependency is a deal breaker</li>
<li>Nant: not something I would choose, but hey if you like xml this is the way to go (if you like Xml you might want to talk to your doctor too <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</li>
<li>MSBuild:  I find it non intuitive, I thought I was being unfair so I asked in twitter what ppl thought of it. One supporter and 4 not really happy with it (see below)</li>
<li>Final Builder : a commercial option, and not a bad one to be honest. Very easy to use (drag drop style) tho not as flexible as we needed.</li>
</ul>
</div>
<div><a href="http://roundcrisis.files.wordpress.com/2011/07/capture.png"><img class="size-full wp-image-838 aligncenter" title="MsBuild" src="http://roundcrisis.files.wordpress.com/2011/07/capture.png?w=500" alt=""   /></a></div>
</div>
<div>Code Coverage</div>
<div>
<ul>
<li> NCover: does the job but I think the generated graph could be better. Running the tool was cumbersome too as far as I remember</li>
<li> dotCover : really nice and integrated with resharper, it a bit rough around the edges with lambdas and other minor things, but a tool I use day to day</li>
</ul>
</div>
<div>Feedback and anything that wasn&#8217;t mentioned yet , please feel free to comment</div>
<div>Cheers</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/828/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=828&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2011/07/09/tdd-tools-for-net-developers/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/05/unit-testing-fm.png?w=202" medium="image">
			<media:title type="html">unit testing fm</media:title>
		</media:content>

		<media:content url="http://roundcrisis.files.wordpress.com/2011/07/capture.png" medium="image">
			<media:title type="html">MsBuild</media:title>
		</media:content>
	</item>
		<item>
		<title>DDD Scotland. Review and Slides</title>
		<link>http://roundcrisis.com/2011/05/11/ddd-scotland-review-and-slides/</link>
		<comments>http://roundcrisis.com/2011/05/11/ddd-scotland-review-and-slides/#comments</comments>
		<pubDate>Wed, 11 May 2011 10:25:04 +0000</pubDate>
		<dc:creator>roundcrisis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roundcrisis.com/?p=819</guid>
		<description><![CDATA[During the past weekend I was at DDD Scotland, it was great to meet all the people there. I  apologize for the amount of lolcalts that I added to my presentation (available below) and any feedback, etc more than welcome. In many ways it was good to get the presentation out of the way early [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=819&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>During the past weekend I was at DDD Scotland, it was great to meet all the people there.</p>
<p>I  apologize for the amount of lolcalts that I added to my presentation (available below) and any feedback, etc more than welcome.</p>
<iframe src='http://www.slideshare.net/slideshow/embed_code/7891964' width='500' height='410'></iframe>
<p>In many ways it was good to get the presentation out of the way early  because it meant I could focus on being out there listening to other folks smarter than me talk and meet some people.</p>
<p>After my talk I was at Gary Short&#8217;s presentation on hoe to measure performance, interesting and really well delivered. Some interesting questions too.</p>
<p>Then I was at Seb Rose talk on TDD and unit testing. It was interesting to see that you can test drive a C++ app. His advice was sound. He talked about the importance of setting a structure before starting to test. He talked about the importance of deployment. And how it was important that the tests were also clean and well designed. <a href="http://www.slideshare.net/sebrose/unit-testing-tdd-and-the-walking-skeleton" target="_blank">Link to his slides</a></p>
<p>After that there was lunch, unfortunately (or not)  I couldnt catch any of the grok talks as I was talking to people, one of the ideas we had was to open source a project (not mine :S) that would make using selenium+qunit on CI easier&#8230; will see how that goes.</p>
<p>After that I joined a talk by Toby Henderson,  The dark parts of Mono. I reallly enoyed this talk. Info about small standalone tools or libraries that you can use, with examples. Such as IKVM, Cecil, SIMD, Compiler and Gendarme.</p>
<p>Finally, I joined the &#8220;Ask the Speakers&#8221; panel, very relaxed and quite fun. We talked about the news (Mono and its future, other stuff I cant remember &#8211; please comment),  innovation and community. There is a <a href="http://www.leggetter.co.uk/2011/05/09/ddd-scotland-2011.html" target="_blank">post </a>of note that goes into some of the stuff we talked about .</p>
<p>All in all a great event, thanks to everyone for making it possible.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/roundcrisis.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/roundcrisis.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/roundcrisis.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/roundcrisis.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/roundcrisis.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/roundcrisis.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/roundcrisis.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/roundcrisis.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/roundcrisis.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/roundcrisis.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/roundcrisis.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/roundcrisis.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/roundcrisis.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/roundcrisis.wordpress.com/819/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=roundcrisis.com&#038;blog=5261556&#038;post=819&#038;subd=roundcrisis&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://roundcrisis.com/2011/05/11/ddd-scotland-review-and-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7aebde1035a2608f1a3f763d8fceaf73?s=96&#38;d=" medium="image">
			<media:title type="html">roundcrisis</media:title>
		</media:content>
	</item>
	</channel>
</rss>
