<?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>Alch3n's Blog</title>
	<atom:link href="http://alch3n.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://alch3n.wordpress.com</link>
	<description>Random thoughts on game development</description>
	<lastBuildDate>Sat, 04 Apr 2009 12:49:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='alch3n.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Alch3n's Blog</title>
		<link>http://alch3n.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://alch3n.wordpress.com/osd.xml" title="Alch3n&#039;s Blog" />
	<atom:link rel='hub' href='http://alch3n.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Talk about graphical shader system</title>
		<link>http://alch3n.wordpress.com/2009/04/04/talk-about-graphical-shader-system/</link>
		<comments>http://alch3n.wordpress.com/2009/04/04/talk-about-graphical-shader-system/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 12:31:21 +0000</pubDate>
		<dc:creator>alch3n</dc:creator>
				<category><![CDATA[Graphics]]></category>

		<guid isPermaLink="false">http://alch3n.wordpress.com/?p=3</guid>
		<description><![CDATA[I&#8217;ve read the this article recently on Gamasutra. I would like to say it dose give me another sight on the workflow of automated shader system, mostly because it was written from the artist&#8217;s view. So basically the substance is that do not let non-programmer write shaders which are exactly the code running on GPU.  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alch3n.wordpress.com&amp;blog=7218059&amp;post=3&amp;subd=alch3n&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve read the <a href="http://www.gamasutra.com/php-bin/article_display.php?story=3962" target="_blank">this</a> article recently on Gamasutra. I would like to say it dose give me another sight on the workflow of automated shader system, mostly because it was written from the artist&#8217;s view.</p>
<p>So basically the substance is that do not let non-programmer write shaders which are exactly the code running on GPU.  The workflow of this system seems flawed because artists have to take time to learn the tools,  but generally, they couldn&#8217;t provide reliable shaders and programmers still need to be involved to optimize the performance.</p>
<p>Actually, some people have already debated on graphical shader system, and think it is bad. <a href="http://www.talula.demon.co.uk/hlsl_fragments/hlsl_fragments.html" target="_blank">Shawn Hargreaves</a> said uber shader is not a good coding practice and it is always hard to maintain. I agree, because the main idea behind the scene is to utilize the static flow control to create shader permutations, it of course increases the total complexity.</p>
<p>Others like <a href="http://realtimecollisiondetection.net/blog/?p=73" target="_blank">Christer Ericson</a> and <a href="http://diaryofagraphicsprogrammer.blogspot.com/2008/09/shader-workflow-why-shader-generators.html" target="_blank">Wolfgang Engle</a> think shaders are most performance critical for a game, and it&#8217;s wrong to give this responsiblity to artists. Wolfgang even pointed out such system will lead to &#8216;shader explosion&#8217;. Large amounts of shader copies are generated due to lack of restriction which is a waste of GPU horsepower.</p>
<p>They sugguest a tool that expose the limited variables as checkbox or other kind of GUI, not a do-whatever-you-want interface. What I can imagine is it needs more iterations between programmers and artists to determine what the effect should look like and how many variables are tweakable, that means those programmers will be occupied for maintenance which is not a good news.</p>
<p>On the contrary, uber shader approach is greate for rapid prototype. The advantage of the system is we are able to pull off quite a bit of custom material effects without any large amount of programmer time. With the base shaders created by tech-artists, we can also avoid serious performance issue. <a href="http://c0de517e.blogspot.com/2008/08/commenting-on-graphical-shader-systems.html" target="_blank">Here</a> is a really good example. (also see the comment by J-S)</p>
<p>So both approaches have their pros and cons. I don&#8217;t think there&#8217;s an absolutely right way to go. Maybe a hybrid approach will be the best one among them.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alch3n.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alch3n.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alch3n.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alch3n.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alch3n.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alch3n.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alch3n.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alch3n.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alch3n.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alch3n.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alch3n.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alch3n.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alch3n.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alch3n.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alch3n.wordpress.com&amp;blog=7218059&amp;post=3&amp;subd=alch3n&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alch3n.wordpress.com/2009/04/04/talk-about-graphical-shader-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9e1e2f082a58602872d7a3032066cf49?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alch3n</media:title>
		</media:content>
	</item>
		<item>
		<title>Racing</title>
		<link>http://alch3n.wordpress.com/2009/04/04/racing/</link>
		<comments>http://alch3n.wordpress.com/2009/04/04/racing/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 11:52:36 +0000</pubDate>
		<dc:creator>alch3n</dc:creator>
				<category><![CDATA[Programs]]></category>

		<guid isPermaLink="false">http://alch3n.wordpress.com/?p=14</guid>
		<description><![CDATA[About This is a quick prototype of a racing game. At first, I was trying to do some interpolation test on splines, it was just simple as moving a box along the spline. Then, I was thinking about adding some control logic for those boxes. That&#8217;s where the game comes from :) Basically, there&#8217;s a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alch3n.wordpress.com&amp;blog=7218059&amp;post=14&amp;subd=alch3n&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h4>About</h4>
<p>This is a quick prototype of a racing game. At first, I was trying to do some interpolation test on splines, it was just simple as moving a box along the spline. Then, I was thinking about adding some control logic for those boxes. That&#8217;s where the game comes from :)</p>
<p>Basically, there&#8217;s a spline editor integrated in the game. It can be ativated with a hotkey. A context menu is provided to create/save/load spline, you can also add/delete spline node and adjust the appearance by dragging the control points. Then, toggle back to gameplay to test the &#8216;path&#8217; immediately.</p>
<p>It is a 2D game with a top-down camera locked to the player. To make it feel better, I implemented some &#8216;fake vehicle physics&#8217;. It&#8217;ll auto brake before a turn based off its current speed. And there&#8217;s an ai car to compete against. Once you finish a lap, your score will be updated by your rank which the factor of entering the next level.</p>
<h4>Screenshots</h4>
<p style="text-align:left;"><a href="http://lh4.ggpht.com/_ql9iD4YebO4/SddBxE2Ao7I/AAAAAAAAACg/J6Va4iSFId8/editor.JPG"><img src="http://lh4.ggpht.com/_ql9iD4YebO4/SddBxE2Ao7I/AAAAAAAAACg/J6Va4iSFId8/editor.JPG" alt="" width="240" /></a><a href="http://lh3.ggpht.com/_ql9iD4YebO4/SddB5guVoRI/AAAAAAAAACw/sX1iHlnbkAI/ingame1.JPG"><img src="http://lh3.ggpht.com/_ql9iD4YebO4/SddB5guVoRI/AAAAAAAAACw/sX1iHlnbkAI/ingame1.JPG" alt="" width="240" /></a><a href="http://lh6.ggpht.com/_ql9iD4YebO4/SddB8piI-tI/AAAAAAAAAC4/CNA4rJmWjjg/ingame2.JPG"><img src="http://lh6.ggpht.com/_ql9iD4YebO4/SddB8piI-tI/AAAAAAAAAC4/CNA4rJmWjjg/ingame2.JPG" alt="" width="240" /></a><a href="http://lh5.ggpht.com/_ql9iD4YebO4/SddB_EuFYEI/AAAAAAAAADA/OS9EiKoDLYo/debug.JPG"><img src="http://lh5.ggpht.com/_ql9iD4YebO4/SddB_EuFYEI/AAAAAAAAADA/OS9EiKoDLYo/debug.JPG" alt="" width="240" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alch3n.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alch3n.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alch3n.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alch3n.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alch3n.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alch3n.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alch3n.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alch3n.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alch3n.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alch3n.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alch3n.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alch3n.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alch3n.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alch3n.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alch3n.wordpress.com&amp;blog=7218059&amp;post=14&amp;subd=alch3n&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alch3n.wordpress.com/2009/04/04/racing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9e1e2f082a58602872d7a3032066cf49?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alch3n</media:title>
		</media:content>

		<media:content url="http://lh4.ggpht.com/_ql9iD4YebO4/SddBxE2Ao7I/AAAAAAAAACg/J6Va4iSFId8/editor.JPG" medium="image" />

		<media:content url="http://lh3.ggpht.com/_ql9iD4YebO4/SddB5guVoRI/AAAAAAAAACw/sX1iHlnbkAI/ingame1.JPG" medium="image" />

		<media:content url="http://lh6.ggpht.com/_ql9iD4YebO4/SddB8piI-tI/AAAAAAAAAC4/CNA4rJmWjjg/ingame2.JPG" medium="image" />

		<media:content url="http://lh5.ggpht.com/_ql9iD4YebO4/SddB_EuFYEI/AAAAAAAAADA/OS9EiKoDLYo/debug.JPG" medium="image" />
	</item>
	</channel>
</rss>
