<?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>MikeCann.co.uk &#187; LieroXNA - MikeCann.co.uk - mikey see, mikey do!</title>
	<atom:link href="http://mikecann.co.uk/category/lieroxna/feed/" rel="self" type="application/rss+xml" />
	<link>http://mikecann.co.uk</link>
	<description>mikey see, mikey do!</description>
	<lastBuildDate>Sat, 28 Jan 2012 13:10:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>LieroXNA &#8211; Digging up the past..</title>
		<link>http://mikecann.co.uk/lieroxna/lieroxna-digging-up-the-past/</link>
		<comments>http://mikecann.co.uk/lieroxna/lieroxna-digging-up-the-past/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 11:44:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Liero]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.mikecann.co.uk/?p=631</guid>
		<description><![CDATA[I received a very pleasant email yesterday from a fine chap Michael Lindholm. He was enquiring about my old project LieroXNA and whether I was still working on it. As it sound like some people are still interested in the project Ill copy / pase the email for the record here: Hi mike I have [...]]]></description>
			<content:encoded><![CDATA[<p>I received a very pleasant email yesterday from a fine chap Michael Lindholm. He was enquiring about my old project <a href="http://www.mikecann.co.uk/category/lieroxna/">LieroXNA </a>and whether I was still working on it. As it sound like some people are still interested in the project Ill copy / pase the email for the record here:</p>
<address>Hi mike <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I have read your blog several times now over the last few months(about LieroXNA) and thought i should just let you know i find your LieroXNA project very interesting <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
very impressive work with those particles aswell, very nice work <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
infact&#8230; not to long ago i was in the IRC channel #XNA and people was talking about &#8220;that XNA liero game with all the particles&#8221; so apparently you have made an impression on the world <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  hehe</p>
<p>but the last post seems to be from 2007, are you still working on the project?</p>
<p>Also, One thing that makes me very interested in Liero and XNA related projects is the fact that i am my self working on a Liero3D game in XNA, if you are interested you can find info about it here:<br />
<a href="http://liero3d.blogspot.com/" target="_blank">http://liero3d.blogspot.com/</a></p>
<p>PS: Sorry about my bad spelling (Dyslexia)</p>
<p>take care<br />
<span style="color: #888888;">/Michael</span></address>
<p>&#8212;&#8212;- and my reply: &#8212;&#8212;&#8211;</p>
<address>Hi Mike,</p>
<p>Firstly its great to hear from someone who appreciates my work. Im surprised that people know about my old little project. Unfortunately it is a dead project now <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>I actually took the game to a high standard, and took it to eidos publishers in Wimbledon to see if they were interested in the game. Unfortunately, despite the backing of my employers Eidos werent interested in an XBLA game not after their other XBLA disasters. From that point on I lost heart in the project, I dont know why but I didnt want to continue it on any more.</p>
<p>Whats worse is I have actually lost everything! I have lost the source code and the binary everything, I cant believe my own stupidity. All I have left is a power point presentation and some screenshots <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><a href="http://mikecann.co.uk/wp-content/uploads/2009/08/lieroxna1.jpg"><img class="alignnone size-medium wp-image-632" title="lieroxna1" src="http://www.mikecann.co.uk/wp-content/uploads/2009/08/lieroxna1-300x224.jpg" alt="lieroxna1" width="300" height="224" /></a><a href="http://mikecann.co.uk/wp-content/uploads/2009/08/lieroxna2.jpg"><img class="alignnone size-medium wp-image-633" title="lieroxna2" src="http://www.mikecann.co.uk/wp-content/uploads/2009/08/lieroxna2-300x224.jpg" alt="lieroxna2" width="300" height="224" /></a></p>
<p>The game play was actually very good fun, we played quite a few 4-man games in the office.</p>
<p>I may pick up the project again some point in the future, but it wont be for profit, it will be for fun.</p>
<p>I just checked out your 3d-liero project and I must say it looks very interesting! How are you doing the 3d destructibility? Voxels with a polygon mapping algorithm? Have you ever heard of voxlap? <a href="http://advsys.net/ken/voxlap.htm" target="_blank">http://advsys.net/ken/voxlap.htm</a> very interesting project from a while back, was very interested for a while, was thinking of woking on a voxel engine for my university, but decided against it in the end, the complexity is immense.</p>
<p>Well anyways, im starting to ramble, its good to see you continuing on with liero and I wish you best of luck, ill be watching with keen interest.</p>
<p>Mike</p></address>
<p>Well the result of this is I have been digging around and have found &#8220;some&#8221; old source code, its not complete, but over the coming weeks im going to take a look at it and see if I can get it in a state where I can post it up here, it would be a shame to let this one rot.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/lieroxna-digging-up-the-past/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>XNALiquids02</title>
		<link>http://mikecann.co.uk/lieroxna/xnaliquids02/</link>
		<comments>http://mikecann.co.uk/lieroxna/xnaliquids02/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 20:38:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.artificial-studios.co.uk/?p=228</guid>
		<description><![CDATA[Okay well i have been playing around with my particles AGAIN I started this time from some work done by the CUDA team over at NVidia. As im running windows Vista i couldnt get CUDA to work so i read through the source and adapted it to my needs. As you can see from the [...]]]></description>
			<content:encoded><![CDATA[<p>Okay well i have been playing around with my particles <strong>AGAIN </strong> <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>I started this time from some work done by the <a href="http://www.nvidia.com/object/cuda_get_samples.html">CUDA</a> team over at NVidia. As im running windows Vista i couldnt get CUDA to work so i read through the source and adapted it to my needs.</p>
<p>As you can see from the video below its better than my last attempt but still not perfect, it also still runs on  the CPU on a single core and has had no optomisations applied to it.</p>
<p>Hopefully tho i can build on this to make it better.</p>
<p><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/9-Y3S5j90tE&amp;hl=en_GB&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/9-Y3S5j90tE&amp;hl=en_GB&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/xnaliquids02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Technology (Deformable Terrains)</title>
		<link>http://mikecann.co.uk/lieroxna/project-technology-deformable-terrains/</link>
		<comments>http://mikecann.co.uk/lieroxna/project-technology-deformable-terrains/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 21:25:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.artificial-studios.co.uk/?p=214</guid>
		<description><![CDATA[Well i got asked a question in a comment on how the terrains work in the LieroXNA project so I thought i would do a quick post on this rather than reply in the comments. The way the terrains work has changed a few times over the course of development of the project for various [...]]]></description>
			<content:encoded><![CDATA[<p>Well i got asked a question <a href="http://www.mikecann.co.uk/?p=208#comment-1333">in a comment</a> on how the terrains work in the LieroXNA project so I thought i would do a quick post on this rather than reply in the comments.</p>
<p>The way the terrains work has changed a few times over the course of development of the project for various reasons mostly related to the incompatabilities of the 360 and my previous methods. I wont go into those previous methods here but if anyone reading this has any questions dont hesitate to ask in a comment or email me. I would also like to say this may not be the most efficient method as I was only getting the terrains up as a proof of concept first then was planning on refining later.</p>
<p><span id="more-214"></span></p>
<p>Before i can explain how the terrain is deformed i must first talk about how the terrain is composed. There are currently three layers to the level, an indestuctable layer, a destructable layer and a background layer.</p>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td>
<p align="center"><img alt="" src="http://mikecann.co.uk/wp-content/uploads/2007/12/test02_destr.png" /></p>
<p align="center">Destructable Layer</p>
</td>
<td align="center">
<p><img alt="" src="http://mikecann.co.uk/wp-content/uploads/2007/12/test02_indestr.png" /></p>
<p>Indestructable Layer</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;There is also a &quot;destroyed mask&quot; that is used to create areas at the start that have already been destroyed. This is mainly used so that you dont have to burrow for ages at the start to get to your opposition. Combined together you end up with the final result below.</p>
<table width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
<tbody>
<tr>
<td>
<p align="center"><img src="http://mikecann.co.uk/wp-content/uploads/2007/12/tempmask01.png" alt="" /></p>
<p align="center">Destroyed Mask</p>
</td>
<td align="center">
<p><img alt="" src="http://mikecann.co.uk/wp-content/uploads/2007/12/test03_final.png" /></p>
<p>Final Result</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;Each texture layer at the moment is 2048&#215;2048 (which is the maximum texture resolution the 360 supports) and is in the format Color (8bpp). The indestructable and the destructable layer are then sent to the GPU for use in rendering and particle collisions by the GPU particle system.</p>
<p>Objects such as players and weapons that are updated by the CPU however cannot perform collision checks on a texture that is on the GPU (without calling getData() which causes read-back which is horribly slow). So the destructable and the instructable layers are duplicated in the initial load of the level and saved as a large two dimensional array of Colors on the CPU.</p>
<p>You may ask why waste memory by storing the full Color component on the CPU when only a single bit is required per pixel to determaine if the terrain is solid or not. The reason for this is that by storing the full color component exploded particles can become the colour of the terrain that they exploded from rather than all of them being the same color.</p>
<p>When an explosion occurs a few things need to take place to make the terrain deform correctly. A hole of the correct size must be cut away from the Texture on the GPU so that the particles react correctly to the deformed terrain, also this new hole must be mirrored in the collision data on the CPU so that the player doesnt collide with things they think are destroyed terrain.</p>
<p>Another 2048&#215;2048 &quot;explosion map&quot; texture is used to handle the deformation of the GPU texture. A series of explosion masks have been created that represent each explosion size:</p>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td align="center">
<p><img alt="" src="http://mikecann.co.uk/wp-content/uploads/2007/12/explosion32.png" /></p>
<p>Exp32</p>
</td>
<td align="center">
<p><img alt="" src="http://mikecann.co.uk/wp-content/uploads/2007/12/explosion64.png" /></p>
<p>Exp64</p>
</td>
<td align="center">
<p><img alt="" src="http://mikecann.co.uk/wp-content/uploads/2007/12/explosion128.png" /></p>
<p>Exp128</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;When an explosion occurs it is added to a list of other explosions that have occured that frame. When the render of the level is called the list of explosions that have happened that frame are iterated through and rendered to the 2048&#215;2048 &quot;explosion map&quot; map texture in the correct world location that the explosion occured. This &quot;explosion map&quot; is then passed to a texture render shader which using render targets updates the terrain texture:</p>
<p>float4 PixelShader(float2 texCoord : TEXCOORD0) : COLOR0<br />
{</p>
<p>&nbsp;&nbsp; &nbsp;float4 outCol = float4(1,0,0,0);<br />
&nbsp;&nbsp; &nbsp;float4 explosinCol = tex2D(ExplosionSampler, texCoord);<br />
&nbsp;&nbsp; &nbsp;if (explosinCol.x!=0)<br />
&nbsp;&nbsp; &nbsp;{<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;outCol = tex2D(TextureSampler, texCoord);<br />
&nbsp;&nbsp; &nbsp;}</p>
<p>
&nbsp;&nbsp;&nbsp; float4 indestr = tex2D(IndestructableSampler, texCoord);<br />
&nbsp;&nbsp;&nbsp; if (indestr.w!=0){ outCol = indestr;&nbsp; }<br />
&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp; return outCol;<br />
}</p>
<p>Note how the shader takes into account the indestructable layer so that the explosion doest destroy parts of the indestructable level.</p>
<p>The CPU collision data &#8216;texture&#8217; is updated at the time of the explosion. When game loads each explosion mask is duplicated on the CPU much in the same way the indestructable and the destructable layers are. When an explosion occurs each pixel in the CPU explosion mask is compared against the CPU destructable layer and depending if the pixel is &quot;indestructable&quot; or not the pixel is set to be destroyed.</p>
<p>If you remember from back at the start I talked about the &quot;Destroyed Mask&quot; but didnt explain how it destroyed the terrain. Well it basically acts as a large explosion mask. At the init of the level the Destroyed Mask is rendered to the &quot;explosion map&quot; giving it an initial destroyed appearence. The same is applied to the CPU.</p>
<p>And thats about it for how the terrain deformation works in the project at the moment. As i said i played around with many differnt ways of doing it including negative rendering and methods that dont involve using a 2048&#215;2048 temporary buffer texture but for now this is the method that it uses.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/project-technology-deformable-terrains/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Project Update</title>
		<link>http://mikecann.co.uk/lieroxna/project-update/</link>
		<comments>http://mikecann.co.uk/lieroxna/project-update/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 21:07:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.artificial-studios.co.uk/?p=208</guid>
		<description><![CDATA[Well its been a while since i have posted an update regarding the LieroXNA project. I havent been slacking.&#160; I have been spending the majority of my time getting it to run on the 360. I ran into many problems, the majority of which were due to the different ways render targets work on the [...]]]></description>
			<content:encoded><![CDATA[<p>Well its been a while since i have posted an update regarding the LieroXNA project. I havent been slacking.&nbsp;</p>
<p>I have been spending the majority of my time getting it to run on the 360. I ran into many problems, the majority of which were due to the different ways render targets work on the 360 and the fact that you cant use 128bit floating point textures (Vector4 textures).</p>
<p>Ill be going into more depth on the problems i faced on the 360 in a different post. But what i can say is that it works almost perfectly on the 360 now and im very happy with it.</p>
<p>For now you can see a new video of the engine with some fancy bloom effects added <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/MocF1IU-5dc&amp;hl=en_GB&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/MocF1IU-5dc&amp;hl=en_GB&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/project-update/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>LieroXNA &#8211; Improvements and Additions</title>
		<link>http://mikecann.co.uk/lieroxna/lieroxna-improvements-and-additions/</link>
		<comments>http://mikecann.co.uk/lieroxna/lieroxna-improvements-and-additions/#comments</comments>
		<pubDate>Sun, 30 Sep 2007 18:36:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.artificial-studios.co.uk/?p=198</guid>
		<description><![CDATA[Been a while since I have posted about LieroXNA but I havent been doing nothing. Changes and things: + Added a destroyed layer to the game which is just the initial map but darker. + Added a shadow to the foreground to give it a more 3D appearence. + Added an indestructable layer, so that [...]]]></description>
			<content:encoded><![CDATA[<p>Been a while since I have posted about LieroXNA but I havent been doing nothing. Changes and things:</p>
<p>+ Added a destroyed layer to the game which is just the initial map but darker.<br />
+ Added a shadow to the foreground to give it a more 3D appearence.<br />
+ Added an indestructable layer, so that maps can have abit of structure even after a long battle.<br />
+ Added the ability to zoom in and out. This was a big one and took most of last weekend to sort out. <br />
+ Added player spawning.<br />
+ Added the ability to control the player with the 360 controller.<br />
+ Started to add other gameplay features such as player jumps, crosshair, weapon switching things and others.</p>
<p>Anyways you can see all these new features in action in the video below. Again, you can download a higher quality one if you wish: <code>[download#1]</code></p>
<p><<object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/Ph1Gyrda0UU&amp;hl=en_GB&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Ph1Gyrda0UU&amp;hl=en_GB&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/lieroxna-improvements-and-additions/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>LieroXNA &#8211; Weapons and Forces</title>
		<link>http://mikecann.co.uk/lieroxna/lieroxna-weapons-and-forces/</link>
		<comments>http://mikecann.co.uk/lieroxna/lieroxna-weapons-and-forces/#comments</comments>
		<pubDate>Sun, 16 Sep 2007 18:37:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.artificial-studios.co.uk/?p=196</guid>
		<description><![CDATA[I have been working hard on LieroXNA this weekend and have managed to get quite abit of what I wanted done. Firstly I worked on setting up a framework for weapons that allows them to be described by an external xml. This should reduce the effort involved in creating new weapons in the future. Taking [...]]]></description>
			<content:encoded><![CDATA[<p>I have been working hard on LieroXNA this weekend and have managed to get quite abit of what I wanted done. </p>
<p>Firstly I worked on setting up a framework for weapons that allows them to be described by an external xml. This should reduce the effort involved in creating new weapons in the future. Taking a quick look at the XML that describes the rocket weapon you can see its straight forward but also pretty powerful:</p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;</p>
<p>&lt;weapon name=&quot;Rocket&quot; type=&quot;projectile&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &lt;properties&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;texture&gt;rocket&lt;/texture&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;trail&gt;smoke&lt;/trail&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/properties&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;events&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;onTerrainCollide&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;spawn type=&quot;explosion&quot; size=&quot;64&quot;&nbsp; where=&quot;this&quot; velocity=&quot;this&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;spawn type=&quot;shrapnel&quot; quantity=&quot;10&quot;&nbsp; where=&quot;this&quot; velocity=&quot;this&quot; /&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;die/&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/onTerrainCollide&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/events&gt;<br />&lt;/weapon&gt;</p>
<p>In addition I have been working on adding forces into the game. It took abit of tweaking but now explosions have a force which repels particles around it, you can see this in action in the video below. I have also added a &quot;vortex&quot; special weapon that sucks particles towards it which then swirl around until the vortex implodes expelling all the particles.</p>
<p>The size of the world has now been expanded and a simple camera has been added. Previously the intention was the world was to be split into multiple tiles of 1024&#215;768 textures but i have now decided against that due to the level of complexity involved and gone for a system that uses one large texture (2048&#215;2048 currently) instead. I have also changed the texture so its a little less &quot;programmer art&quot; as I was getting some stick for that <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>There is still alot of work to be done but im happy with the way it looks at the moment. You will have to excuse the video quality below, flash isnt the best compression for alot of fast moving small particles. </p>
<p>If you want to see a larger less compressed video (35meg) you can <a href="http://www.mikecann.co.uk/Files/Upload/files/boom3.wmv">download it HERE</a>.</p>
<p>   <object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/PVxXCl4tnsQ&amp;hl=en_GB&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/PVxXCl4tnsQ&amp;hl=en_GB&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/lieroxna-weapons-and-forces/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
<enclosure url="http://www.mikecann.co.uk/Files/Upload/files/boom3.wmv" length="37621998" type="video/asf" />
		</item>
		<item>
		<title>I cant stop playing with particles..</title>
		<link>http://mikecann.co.uk/lieroxna/i-cant-stop-playing-with-particles/</link>
		<comments>http://mikecann.co.uk/lieroxna/i-cant-stop-playing-with-particles/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 19:48:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.artificial-studios.co.uk/?p=194</guid>
		<description><![CDATA[Well I have been at it again, tweaking and altering the particles in LieroXNA. You can see a video of my results below. + Particles now represent the pixel they exploded from. i.e. if the terrain was green the particle is green, if it was blue the particle is blue etc. + Particles are now [...]]]></description>
			<content:encoded><![CDATA[<div>Well I have been at it again, tweaking and altering the particles in LieroXNA. You can see a video of my results below.</div>
<p>+ Particles now represent the pixel they exploded from. i.e. if the terrain was green the particle is green, if it was blue the particle is blue etc.<br />
+ Particles are now more white (hot) depending on how fast and how old they are.<br />
+ Particles now explode in a circular direction and less randomly (looks more like an explosion).<br />
+ Particles now have a direction from which they are exploded, at the moment is just current mouse position &#8211; last mouse position but in the future this will be used to blow particles away from a high energy collision.<br />
+ Particles now react to the player. I realised that instead of just passing in the terrain texture to the particle update routine i could pass the entire back buffer allowing the player and any other objects in the scene to have particle reactions, yey!<br />
+ Particles now have a bit of alpha blending to make them look a little less in focus, not sure if this works well, let me know <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
<object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/o_QgvZojDyc&amp;hl=en_GB&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/o_QgvZojDyc&amp;hl=en_GB&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/i-cant-stop-playing-with-particles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liero Update &#8211; Console &amp; ATi</title>
		<link>http://mikecann.co.uk/lieroxna/liero-update-console-ati/</link>
		<comments>http://mikecann.co.uk/lieroxna/liero-update-console-ati/#comments</comments>
		<pubDate>Mon, 10 Sep 2007 20:51:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.artificial-studios.co.uk/?p=193</guid>
		<description><![CDATA[Well I took Liero into work today just to show to a few people who were interested and to test it on another machine other than my own. And low and behold it didnt work on my work machine which was no surprise as it doesnt have a graphics card so it fell down at [...]]]></description>
			<content:encoded><![CDATA[<p>Well I took Liero into work today just to show to a few people who were interested and to test it on another machine other than my own. And low and behold it didnt work on my work machine which was no surprise as it doesnt have a graphics card so it fell down at the first hurdle. I then went to test it on an artists ATi based machine expecting it to work. It did but sadly there were no particles. </p>
<p>Well after digging around abit, I discovered that it was the same problem I encountered before when I released my <a href="http://www.mikecann.co.uk/?p=163">1,000,000 particles demo</a> a few months ago. The problem is that ATi dont include the ability to use Vertex Textures in their graphics hardware (the core technology allowing me to get many particles on the screen). I knew the solution from previous work was to use ATi&#8217;s alternative Renter To Vertex Buffer (R2VB) unfortunately I could not find anyone else that had done this in XNA before which led me to the suspicion that it wasnt possible. I posted on the XNA forum about this, <a href="http://forums.xna.com/24255/ShowThread.aspx#24255">you can see the replies here.</a></p>
<p>Anyways to cut a long story short I have not been able to implement R2VB for ATi cards but I have instead done the next best thing which is to implement a CPU particle system instead. This means that people with realy old cards (or like my work machine without a card atall) or people with ATi cards they can still play the game and still have particles, just not as many (200-400k on nVidia, 10-50k on CPU).</p>
<p>Also something I implemented over the weekend was this fancy console which, makes life alot easier for me when developing, isnt it nice <img src='http://mikecann.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><img alt="" src="http://www.mikecann.co.uk/Images/LieroXNA/liero02.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/liero-update-console-ati/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liero + 200,000 Particles</title>
		<link>http://mikecann.co.uk/lieroxna/liero-200000-particles/</link>
		<comments>http://mikecann.co.uk/lieroxna/liero-200000-particles/#comments</comments>
		<pubDate>Sun, 09 Sep 2007 14:35:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.artificial-studios.co.uk/?p=192</guid>
		<description><![CDATA[Been workin on this abit this weekend and managed to intergrate my earlier work on GPU particles with the game to create some nice effects. See the video below to see thousands of particles being blown in many different directions.]]></description>
			<content:encoded><![CDATA[<p>Been workin on this abit this weekend and managed to intergrate my earlier work on GPU particles with the game to create some nice effects. See the video below to see thousands of particles being blown in many different directions.</p>
<p><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/2-V3UITyLtw&amp;hl=en_GB&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2-V3UITyLtw&amp;hl=en_GB&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/liero-200000-particles/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>LieroXNA &#8211; A Tentative Beginning</title>
		<link>http://mikecann.co.uk/lieroxna/lieroxna-a-tentative-beginning/</link>
		<comments>http://mikecann.co.uk/lieroxna/lieroxna-a-tentative-beginning/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 19:02:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[LieroXNA]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.artificial-studios.co.uk/?p=190</guid>
		<description><![CDATA[Okay I have decided to start a new mini pet project. As you may have guessed by now I have stopped work on the TDProject. The reason is that it is too large of a project to take on at the same time as having a job, should I ever find myself without a job [...]]]></description>
			<content:encoded><![CDATA[<p>Okay I have decided to start a new mini pet project. As you may have guessed by now I have stopped work on the <a href="http://www.mikecann.co.uk/?p=170">TDProject</a>. The reason is that it is too large of a project to take on at the same time as having a job, should I ever find myself without a job in the future I may pick it up again.</p>
<p>So the new project is designed to be alot smaller than the last and should give a more immediate sense of achievement. The project is going to be a clone of the popular game <a href="http://en.wikipedia.org/wiki/Liero">Liero</a> but for XNA (so xbox eventualy). For those that havent played it, its a real-time 2D action game (basically worms without the turn based tedium).</p>
<p>So far im just playing around with getting the core of the engine up and running. The original Liero and its successive clones were all done in C/C++. In those languages you have the ability to pixel blit, that is write directly to the back buffer one pixel at a time. In XNA/C# however you dont have that ability, so you have to do some funky stuff with shaders. The advantage of doing it this way however is that GPU particles that have physics (can bounce around the level) should fall out of the code nicely allowing for large numbers of particles.</p>
<p>Anyways, as I said its just a beginning for now. So far I have a level rendered with a terrain map, an explosion map (renders explosions to the texture each frame if any occurred) and a collision map which allows objects to collide. With the left mouse button you can blow holes in the terrain which in turn updates the collision map allowing the worm to move around more of the level. </p>
<p><a href="http://www.mikecann.co.uk/Images/LieroXNA/lieroxna01.jpg"><img width="500" height="386" alt="" src="http://www.mikecann.co.uk/Images/LieroXNA/lieroxna01.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mikecann.co.uk/lieroxna/lieroxna-a-tentative-beginning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

