<?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>Illogic Tree</title>
	<atom:link href="http://illogictree.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://illogictree.com</link>
	<description>Development In Any Colour You Like, Logical or Otherwise</description>
	<lastBuildDate>Sat, 27 Feb 2010 07:37:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zelda Baby</title>
		<link>http://illogictree.com/2010/02/zelda-baby/</link>
		<comments>http://illogictree.com/2010/02/zelda-baby/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 07:36:12 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Pictures]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1508</guid>
		<description><![CDATA[Gotta admit,that&#8217;s pretty cute.
]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1509" title="FukLQ" src="http://illogictree.com/wp-content/uploads/2010/02/FukLQ.jpg" alt="" width="450" height="678" />Gotta admit,<br/>that&#8217;s pretty cute.</p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/02/zelda-baby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>National Geographic Best Science Photography</title>
		<link>http://illogictree.com/2010/02/national-geographic-best-science-picture/</link>
		<comments>http://illogictree.com/2010/02/national-geographic-best-science-picture/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 22:29:37 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Pictures]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1500</guid>
		<description><![CDATA[
National Geographic has recently announced their winners for The Best Science Photography of the year. Above is the picture taken by Sung Hoon Kang at the biology department of Harvard University. Not only did it win National Geographics&#8217;s contest, but was selected as the best photograph in the 2009 International Science and Engineering Visualization Challenge. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://illogictree.com/wp-content/uploads/2010/02/025894_600x450.jpg"><img class="alignnone size-full wp-image-1501" title="025894_600x450" src="http://illogictree.com/wp-content/uploads/2010/02/025894_600x450.jpg" alt="" width="570" height="412" /></a></p>
<p><a href="http://nationalgeographic.com">National Geographic</a> has recently announced their winners for <a href="http://news.nationalgeographic.com/news/2010/02/photogalleries/100218-best-science-pictures/">The Best Science Photography</a> of the year. Above is the picture taken by <a href="http://www.seas.harvard.edu/directory/shkang">Sung Hoon Kang</a> at the biology department of Harvard University. Not only did it win National Geographics&#8217;s contest, but was selected as the best photograph in the 2009 <a href="http://www.nsf.gov/news/special_reports/scivis/">International Science and Engineering Visualization Challenge</a>. Quite stunning. In fact, all the runner ups that were selected are quite awesome to look at as well.</p>
<p>[<a href="http://news.nationalgeograhttp://news.nationalgeographic.com/news/2010/02/photogalleries/100218-best-science-pictures/">Link</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/02/national-geographic-best-science-picture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dock Ellis &amp; The LSD No-No</title>
		<link>http://illogictree.com/2010/02/dock-ellis-the-lsd-no-no/</link>
		<comments>http://illogictree.com/2010/02/dock-ellis-the-lsd-no-no/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 17:22:55 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1452</guid>
		<description><![CDATA[
For those of you who do not know, Dock Phillip Ellis, Jr was a Major League Baseball player who pitched for the Pittsburgh Pirates. He is best remembered for the claim that he threw a no-hitter in 1970 while under the influence of LSD. In this video, Dock Ellis recalls what happened that day. Quite [...]]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/_vUhSYLRw14&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/_vUhSYLRw14&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>For those of you who do not know, <strong>Dock Phillip Ellis, Jr</strong> was a Major League Baseball player who pitched for the Pittsburgh Pirates. He is best remembered for the claim that he threw a <strong>no-hitter</strong> in 1970 while under the influence of <strong>LSD</strong>. In this video, Dock Ellis recalls what happened that day. Quite amusing.</p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/02/dock-ellis-the-lsd-no-no/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skull Shelf</title>
		<link>http://illogictree.com/2010/02/skull-shelf/</link>
		<comments>http://illogictree.com/2010/02/skull-shelf/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 05:19:18 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Pictures]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1483</guid>
		<description><![CDATA[ A badass photo that I found online. Great composition. Would anyone happen to know who the artist of this photo is?
]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1484 alignright" title="Skull" src="http://illogictree.com/wp-content/uploads/2010/02/Skull.jpg" alt="" width="341" height="499" /> A <strong>badass</strong> photo that I found online. Great composition. Would anyone happen to know who the artist of this photo is?</p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/02/skull-shelf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DirectX10 (D3D10) &amp; DevIL Image Library</title>
		<link>http://illogictree.com/2010/02/directx10-devil-image-library/</link>
		<comments>http://illogictree.com/2010/02/directx10-devil-image-library/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 05:19:06 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1455</guid>
		<description><![CDATA[After extensively searching online for some documentation on how to use the DevIL Image Library with DirectX10 to no avail, I have brought it upon myself to write a brief post on how to get them two to coexist in love. 
Although DirectX10 (Direct3D10) already has functionality that allows users to load images directly, it [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://illogictree.com/wp-content/uploads/2010/02/devil-image-library-300x143.jpg" alt="" title="devil-image-library" width="300" height="143" class="alignright size-medium wp-image-1459" />After extensively searching online for some documentation on how to use the <a href="http://openil.sourceforge.net/">DevIL</a> Image Library with DirectX10 to no avail, I have brought it upon myself to write a brief post on how to get them two to coexist in love. </p>
<p>Although DirectX10 (Direct3D10) already has <a href="http://msdn.microsoft.com/en-us/library/ee416716(VS.85).aspx">functionality</a> that allows users to load images directly, it might not be enough. For example, DirectX is unable to load some image types such as TARGA (.tga) files.  And if you are writing a OpenGL &#038; DirectX10 dual-renderer, you might want unite both renderers under a common image library API. Plus, DevIL has a lot of great functionality, and you want to take full advantage of it. Below, I provided the code to load an image given the filename.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;IL/il.h&gt;</span>
<span style="color: #339900;">#include &lt;string&gt;</span>
<span style="color: #339900;">#include &lt;assert.h&gt;</span>
&nbsp;
<span style="color: #666666;">// Use this macro to verify if D3D10 function succeeded</span>
<span style="color: #339900;">#define HV(x) if(!SUCCEEDED(x)) MessageBox(NULL, #x, &quot;HRESULT fail&quot;, MB_OK)</span>
&nbsp;
<span style="color: #666666;">// Creates a shader resource view given a filepath &amp; D3D10 device</span>
<span style="color: #666666;">//	@filePath - String of the file path of the image file</span>
<span style="color: #666666;">//	@pDevice - Pointer to the D3D10 device</span>
ID3D10ShaderResourceView<span style="color: #000040;">*</span> MakeSRV<span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">const</span> std<span style="color: #008080;">::</span><span style="color: #007788;">string</span><span style="color: #000040;">&amp;</span> filePath, ID3D10Device<span style="color: #000040;">*</span> pDevice <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// Will be filled and returned</span>
	ID3D10ShaderResourceView<span style="color: #000040;">*</span> pSRV <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Load image from DevIL</span>
	ILuint idImage<span style="color: #008080;">;</span>
	ilGenImages<span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">1</span>, <span style="color: #000040;">&amp;</span>idImage <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	ilBindImage<span style="color: #008000;">&#40;</span> idImage <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	ilLoadImage<span style="color: #008000;">&#40;</span> filePath.<span style="color: #007788;">c_str</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">assert</span> <span style="color: #008000;">&#40;</span> IL_NO_ERROR <span style="color: #000080;">==</span> ilGetError<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Fetch dimensions of image</span>
	<span style="color: #0000ff;">int</span> width <span style="color: #000080;">=</span> ilGetInteger<span style="color: #008000;">&#40;</span> IL_IMAGE_WIDTH <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> height <span style="color: #000080;">=</span> ilGetInteger<span style="color: #008000;">&#40;</span> IL_IMAGE_HEIGHT <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Load the data</span>
	ilConvertImage<span style="color: #008000;">&#40;</span> IL_RGBA,IL_UNSIGNED_BYTE <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span> pData <span style="color: #000080;">=</span> ilGetData<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Build the texture header descriptor</span>
	D3D10_TEXTURE2D_DESC descTex<span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">Width</span> <span style="color: #000080;">=</span> width<span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">Height</span> <span style="color: #000080;">=</span> height<span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">Format</span> <span style="color: #000080;">=</span> DXGI_FORMAT_R8G8B8A8_UNORM<span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">Usage</span> <span style="color: #000080;">=</span> D3D10_USAGE_DEFAULT<span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">BindFlags</span> <span style="color: #000080;">=</span> D3D10_BIND_SHADER_RESOURCE <span style="color: #000040;">|</span> D3D10_BIND_RENDER_TARGET<span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">CPUAccessFlags</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">MipLevels</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">ArraySize</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">SampleDesc</span>.<span style="color: #007788;">Count</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">SampleDesc</span>.<span style="color: #007788;">Quality</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	descTex.<span style="color: #007788;">MiscFlags</span> <span style="color: #000080;">=</span> D3D10_RESOURCE_MISC_GENERATE_MIPS<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Resource data descriptor</span>
	D3D10_SUBRESOURCE_DATA data <span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span> <span style="color: #000040;">&amp;</span>data, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>D3D10_SUBRESOURCE_DATA<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	data.<span style="color: #007788;">pSysMem</span> <span style="color: #000080;">=</span> pData<span style="color: #008080;">;</span>
	data.<span style="color: #007788;">SysMemPitch</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span> <span style="color: #000040;">*</span> width<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Create the 2d texture from data</span>
	ID3D10Texture2D <span style="color: #000040;">*</span> pTexture <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	HV<span style="color: #008000;">&#40;</span> pDevice<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>CreateTexture2D<span style="color: #008000;">&#40;</span> <span style="color: #000040;">&amp;</span>descTex, <span style="color: #000040;">&amp;</span>data, <span style="color: #000040;">&amp;</span>pTexture <span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Create resource view descriptor</span>
	D3D10_SHADER_RESOURCE_VIEW_DESC srvDesc<span style="color: #008080;">;</span>
	srvDesc.<span style="color: #007788;">Format</span> <span style="color: #000080;">=</span> descTex.<span style="color: #007788;">Format</span><span style="color: #008080;">;</span>
	srvDesc.<span style="color: #007788;">ViewDimension</span> <span style="color: #000080;">=</span> D3D10_SRV_DIMENSION_TEXTURE2D<span style="color: #008080;">;</span>
	srvDesc.<span style="color: #007788;">Texture2D</span>.<span style="color: #007788;">MostDetailedMip</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	srvDesc.<span style="color: #007788;">Texture2D</span>.<span style="color: #007788;">MipLevels</span> <span style="color: #000080;">=</span> D3D10_RESOURCE_MISC_GENERATE_MIPS <span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Create the shader resource view</span>
	HV<span style="color: #008000;">&#40;</span> pDevice<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>CreateShaderResourceView<span style="color: #008000;">&#40;</span> pTexture, <span style="color: #000040;">&amp;</span>srvDesc, <span style="color: #000040;">&amp;</span>pSRV <span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Delete from IL buffer after image loaded correctly</span>
	ilDeleteImages<span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">1</span>, <span style="color: #000040;">&amp;</span>idImage <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	idImage <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">return</span> pSRV<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>There you have it. Let me know if you got any woes getting it to work. Thanks to my bud Manny for helping with the code.</p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/02/directx10-devil-image-library/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenGL Shader Lovin</title>
		<link>http://illogictree.com/2010/02/opengl-shader-lovin/</link>
		<comments>http://illogictree.com/2010/02/opengl-shader-lovin/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 15:49:33 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[cpp]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[shader]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1400</guid>
		<description><![CDATA[
Here&#8217;s a video I captured of a recent class project which emphasized replacing OpenGL&#8217;s fixed-function pipeline with custom vertex and fragment shaders. I used low-level assembly ARB language to implement this.
This box shows several shader techniques such as bump-maps, height map parallax, specular highlight and attenuation.
]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="570" height="318" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=9199222&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="570" height="318" src="http://vimeo.com/moogaloop.swf?clip_id=9199222&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Here&#8217;s a video I captured of a recent class project which emphasized replacing OpenGL&#8217;s fixed-function pipeline with custom vertex and fragment shaders. I used low-level assembly <strong>ARB</strong> language to implement this.</p>
<p>This box shows several shader techniques such as bump-maps, height map parallax, specular highlight and attenuation.</p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/02/opengl-shader-lovin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Global Game Jam &#8211; Postmortem</title>
		<link>http://illogictree.com/2010/02/global-game-jam-postmortem/</link>
		<comments>http://illogictree.com/2010/02/global-game-jam-postmortem/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 05:08:25 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1388</guid>
		<description><![CDATA[This past weekend, my friends and I ventured over to Austin to participate in this year&#8217;s Global Game Jam 2010. For those who are unfamiliar, Global Game Jam (GGJ)  is a yearly convention, hosted in almost every major city, where strangers travel across the land to congregate and develop games within a 48 hour timespan.
Developers, who [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1427" title="GameJam" src="http://illogictree.com/wp-content/uploads/2010/02/GameJam-252x300.jpg" alt="" width="252" height="300" />This past weekend, my friends and I ventured over to Austin to participate in this year&#8217;s <a href="http://globalgamejam.org/">Global Game Jam 2010</a>. For those who are unfamiliar, Global Game Jam (GGJ)  is a yearly convention, hosted in almost every major city, where strangers travel across the land to congregate and develop games within a <strong>48 hour</strong> timespan.</p>
<p>Developers, who are unfamiliar and passionate, band together and combine their prowess in creating a game. There is no fee required to participate. All you need is your laptop and a love for making games. Ah, what a beautiful idea.</p>
<p>Having been surrounded with game developers every single day for about half a year, I have come to realize that they are exactly my type of people. Smart, analytical, weird, zaney, eccentric, genius, technical and passionate are all adjectives that can be used to describe the majority of game developers. You place them all in a room and their brains will sync-up to dump something creative and wonderful onto your computer screen.</p>
<p>I had an absolutely <strong>wonderful experience</strong>, one that will never fade in memory. However, I was initially hesitant to go. Given that most commercial games nowadays take years to develop, what can a small team of amateurs developers possibly create in 48 hours?</p>
<p>[<a href="http://illogictree.com/mr-mask">Play Our GGJ Game</a>]</p>
<p>Here are some things that I have learned from my experience in this year&#8217;s Global Game Jam:</p>
<p><span id="more-1388"></span></p>
<p><strong><img class="alignleft size-medium wp-image-1432" title="core" src="http://illogictree.com/wp-content/uploads/2010/02/core-300x285.jpg" alt="" width="300" height="285" />Create a Core Gameplay Mechanic</strong><br />
If you analyze any great game, you will notice that if you strip off all the polish of the game,what is left behind is the <strong>basic core mechanic</strong> that serves as the foundation of the entire game. Given that this year&#8217;s theme was <strong>deception</strong>, we settled on having a stealth mechanic. You had to get from point A to point B by deceiving the enemy. And with simple, well-implemented AI, you can have the player feel the tension of being detected, and that is fun.</p>
<p>Just find one simple core mechanic that is fun and milk it for all it&#8217;s worth. There will not be alot of time for polish, so all that is shown to the player will be the bare bones of your game.  Thus, you better make sure that the basic gameplay is strong enough to support itself.</p>
<p><strong>Don&#8217;t Overscope, Don&#8217;t Be Lame<br />
<span style="font-weight: normal;">In such a limited time frame, it is absolutely essential that you do not overscope your feature set. It&#8217;s so easy to want to build an epic game, but you forget that you only have less than 0.001% of the number of man-hours required to create a full game.</span></strong></p>
<p>In terms of choosing an <strong>engine </strong>to use as the technical foundation of your game, make sure you find one that is flexible and high-level enough to allow you to jump right into coding. Given such a limited time-frame, programmers want to be coding games, not engines, so make sure your engine supports all the basic functionality that allows you to display entities and to have them moving around in the screen. We chose flixel because we believed that it provided all the functionality that our game needed. Some hardcore team went straight up C++/OpenGL from scratch (File-&gt;NewProject), and that is silly.</p>
<p><span style="font-weight: normal;"><strong><img class="alignright size-medium wp-image-1430" title="subversion_logo" src="http://illogictree.com/wp-content/uploads/2010/02/subversion_logo-300x259.png" alt="" width="300" height="259" />Version Control<br />
</strong>Version control software such as <a href="http://tortoisesvn.tigris.org/">SVN</a> is absolutely essential in order to streamline your workflow. This method allows all developers to sync up all their codebase and assets into one hub which can be accessed by your entire team. If you prefer passing a USB around to everyone in your crew every time you want to make a change, well, you&#8217;re dumb.</span></p>
<p><span style="font-weight: normal;"><strong>Sound<br />
<span style="font-weight: normal;">Having sound brings life to your game. Without sound, games feel flat and it becomes impossible for players to </span><span style="font-weight: normal;">immerse</span><span style="font-weight: normal;"> themselves into your game. Make sure to find a song that is interesting/dynamic enough to loop without annoying the player. And if you are looking for a great tool to create sound effects, consider <a href="http://www.drpetter.se/project_sfxr.html">DrPetter&#8217;s SFXR</a>.</span></strong></span></p>
<p><span style="font-weight: normal;"><strong>Conclusion<br />
<span style="font-weight: normal;">To do something I </span><span style="font-weight: normal;">love</span><span style="font-weight: normal;"> </span><span style="font-weight: normal;">with others who share the same passion has not only made this weekend an awesome weekend, it has made it one of the grooviest weekends ever. So if you have the stamina and the passion for games, I highly recommend that you participate in next year&#8217;s Global Game Jam.</span></strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/02/global-game-jam-postmortem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3rd &amp; 7th</title>
		<link>http://illogictree.com/2010/02/3rd-7th/</link>
		<comments>http://illogictree.com/2010/02/3rd-7th/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 04:27:54 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1394</guid>
		<description><![CDATA[
Alex Roman has created an absolutely stunning CGI piece illustrating architecture art from a photographic point of view where main subjects are already-built spaces. Sometimes in an abstract way. Sometimes surreal. It&#8217;s absolutely brilliant.
]]></description>
			<content:encoded><![CDATA[<p><object width="570" height="321"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7809605&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7809605&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="570" height="321"></embed></object></p>
<p><a href="http://www.vimeo.com/user1337612">Alex Roman</a> has created an absolutely stunning <strong>CGI</strong> piece illustrating architecture art from a photographic point of view where main subjects are already-built spaces. Sometimes in an abstract way. Sometimes surreal. It&#8217;s absolutely <strong>brilliant</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/02/3rd-7th/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Corporate Adventures of Mr. Mask</title>
		<link>http://illogictree.com/2010/02/the-corporate-adventures-of-mr-mask/</link>
		<comments>http://illogictree.com/2010/02/the-corporate-adventures-of-mr-mask/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 06:36:44 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1369</guid>
		<description><![CDATA[This weekend, my friends and I cruised over to Austin to compete in this year&#8217;s Global Game Jam comp. We were given 48 hours to develop a game and we all felt that we did quite well given our limited time frame. Our team consisted of 4 programmers, 1 main artist and 1 character artist.
The [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1370 alignright" title="screenie-5" src="http://illogictree.com/wp-content/uploads/2010/02/screenie-5.png" alt="" width="291" height="426" />This weekend, my friends and I cruised over to Austin to compete in this year&#8217;s <a href="http://globalgamejam.org">Global Game Jam</a> comp. We were given <strong>48 hours</strong> to develop a game and we all felt that we did quite well given our limited time frame. Our team consisted of 4 programmers, 1 main artist and 1 character artist.</p>
<p><strong>The Corporate Adventures of Mr. Mask</strong> is a game about a <strong>deceptive</strong> spy named Mr. Mask who endeavors to take down a corporation. To accomplish this daunting task, he must sneak past body guards with Fu-Manchu beards to get to the final sumo-wrestling boss. It&#8217;s quite badass.</p>
<p>This game is a <strong>Flash game</strong> which uses the <a href="http://flixel.org/">flixel</a> framework and it is hosted at: <a href="http://globalgamejam.org/2010/mr-mask">http://globalgamejam.org/2010/mr-mask</a>.</p>
<p>During the development process, my friend Loren over at <a href="http://mutualdestruction.net/">MutualDestruction</a> hosted a <a href="http://gamejam.mutualdestruction.net/">blog</a> which documented our 48 hour experience.</p>
<p>Anyhow, try it out and <strong>vote up</strong> if you like it. <img src='http://illogictree.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://illogictree.com/mr-mask/">Play it here!</a> (Flash)</p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/02/the-corporate-adventures-of-mr-mask/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mass-Spring Damper System (AS3 Source Code)</title>
		<link>http://illogictree.com/2010/01/1345/</link>
		<comments>http://illogictree.com/2010/01/1345/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 17:54:28 +0000</pubDate>
		<dc:creator>Eddie</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://illogictree.com/?p=1345</guid>
		<description><![CDATA[
Above is a little test app I&#8217;ve created to show the deliciousness of the mass-spring damper system (also known as a harmonic oscillator). Move your mouse anywhere inside the box and it&#8217;ll swing the ball accordingly to emulate real mass-spring physics.
In this post, I will briefly explain how you can add a mass-spring damper system into your [...]]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="570" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="/wp-content/uploads/2010/01/Swingers1.swf" /><embed type="application/x-shockwave-flash" width="570" height="350" src="/wp-content/uploads/2010/01/Swingers1.swf"></embed></object></p>
<p>Above is a little test app I&#8217;ve created to show the deliciousness of the <a href="http://en.wikipedia.org/wiki/Damping">mass-spring damper system</a> (also known as a harmonic oscillator). Move your <strong>mouse </strong>anywhere inside the box and it&#8217;ll swing the ball accordingly to emulate real mass-spring physics.</p>
<p>In this post, I will briefly explain how you can add a mass-spring damper system into your own engine to simulate cool swinging action.</p>
<p style="text-align: left;"><strong>Source code</strong> (Actionscript 3.0): [ <a href="/wp-content/uploads/2010/01/MassSpring.as">MassSpringDamper.as</a> ]</p>
<p><span id="more-1345"></span></p>
<p><img class="alignright" title="FileDamped spring" src="http://illogictree.com/wp-content/uploads/2010/01/FileDamped-spring.gif" alt="" width="110" height="359" />A mass-spring damper is a system where there exists a <strong>mass</strong> attached at the end of  a <strong>spring</strong>. The forces that are involved in this system are the forces generated by compression<strong>/</strong>relaxation of the <strong>spring </strong>and, of course, <strong>gravity</strong>.</p>
<p>Using the <strong>F=ma</strong> approach, the <strong>acceleration </strong>gained from the mass-spring is:</p>
<p><strong>a = ( -cv &#8211; k(x &#8211; xo) ) / m</strong></p>
<p>Where <strong>m</strong> is mass of the object, <strong>v</strong> is velocity, (x-xo) is the distance between the end of spring and the mass, <strong>c</strong> is the friction constant and <strong>k</strong> is the spring constant.</p>
<p>In order to prevent your system from accumulating errors and blowing up, we will try to avoid using the classic <a href="http://en.wikipedia.org/wiki/Euler_method">forward euler integration</a> method. Instead, we use the safer approach, the symplectic integration method. If you didn&#8217;t understand this last part, it&#8217;s okay. Just remember that systems like these can easily accumulate errors and just go completely nuts if you don&#8217;t take special care.</p>
<p>Anyhow, the <a href="/wp-content/uploads/2010/01/MassSpring.as">source code</a> is attached. Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://illogictree.com/2010/01/1345/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
