<?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>Sauropod Studio</title>
	<atom:link href="http://www.sauropodstudio.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sauropodstudio.com</link>
	<description>Developers of Castle Story</description>
	<lastBuildDate>Fri, 11 May 2012 21:04:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Dev diary number thirteen : GWRD</title>
		<link>http://www.sauropodstudio.com/dev-diary-number-thirteen/</link>
		<comments>http://www.sauropodstudio.com/dev-diary-number-thirteen/#comments</comments>
		<pubDate>Fri, 11 May 2012 21:04:41 +0000</pubDate>
		<dc:creator>Germain</dc:creator>
				<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1689</guid>
		<description><![CDATA[This is a poster that happens to be in our office. It has been created by =PoX=, a friend of ours. Ahoy! So yeah, last week was pretty morose. As you might have read in the blog, we suffered a few setbacks that prevented us from running the Kickstarter as soon as we wanted. Well, [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><i>This is a poster that happens to be in our office. It has been created by <a href="http://www.thepoxbox.com/art.php?id=art" target="_blank">=PoX=</a>, a friend of ours.</i></div>
<p><br/></p>
<h5 class="cufon">Ahoy!</h5>
<hr/>
<p>So yeah, last week was pretty morose. As you might have read in <a href="http://www.sauropodstudio.com/dev-diary-number-twelve/" target="_blank">the blog</a>, we suffered a few setbacks that prevented us from running the Kickstarter as soon as we wanted.</p>
<p>Well, good news! This week, we either fixed some of those problems, or are making excellent progress in fixing them. Here&#8217;s a few examples:</p>
<style>
			.pp_list.check_alt ul li {
				display: block;
				background: url("http://www.sauropodstudio.com/wp-content/themes/Minos/images/icon/check_alt_16x16.png") no-repeat top left;
			}
		</style>
<div class="pp_list check_alt">
<ul>
<li>We have found a solution to our legal obstacles preventing us from running a Kickstarter from Canada. It is perfectly legal, rather inexpensive and setting it up went faster than we expected. I won&#8217;t go into the details of it right now, because I&#8217;d rather prove that it works by running the Kickstarter. After that we&#8217;ll be comfortable talking about it.</li>
<li>We have fixed our game-breaking bug that was getting in the way of filming the trailer. We hunted the problem down to the root, digging through some old code, and found several other problems on the way. All in all, not only did we fix the problem, we were able to cut down the loading time of our levels by 60%. I personally give this a 9 our of 10 on our scale of awesomeness. Huzzah!</li>
<li>The <a href="http://anosou.com/" target="_blank">music</a> <a href="http://www.jwmusic.org/" target="_blank">guys</a> shipped the near final version of the trailer music. I dare say this last version brought a BIG smile on my face. The new mixing really has a lot of punch and is going to be a essential in making the trailer as epic as possible. </li>
<li>We have finally filmed a video that is satisfying! More on that in the next section:</li>
</ul>
</div>
<p><br/><br/></p>
<h5 class="cufon">Sauropod has made a video!</h5>
<hr />
<p>We never thought making a video of ourselves would be so hard!</p>
<p>We decided to go for an &#8220;interview&#8221; format where some of our friends would as some unscripted questions and we would try to answer as well as we could. They would keep track of those answers so that once filming was done we would have footage of us explaining our concept, and why we needed a Kickstarter.</p>
<p>We also listened to your suggestions and made part of the interview in French, with subtitles. Some of those answers were not only better, they seemed more spontaneous and honest, which goes in the direction of what we want.</p>
<p>A friend of ours also took footage of us working so that we can scatter some authentic &#8220;Sauropod-at-work&#8221; footage. We have a few screenshots for you if you&#8217;re interested:</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/05/Frame01.jpg" alt="" title="Frame01" width="555" height="236" class="aligncenter size-full wp-image-1692" /></p>
<div style="text-align: center;"><em>A soldier and his mount, going to battle.</em></div>
<p><br/></p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/05/Frame02.jpg" alt="" title="Frame02" width="555" height="236" class="aligncenter size-full wp-image-1693" /></p>
<div style="text-align: center;"><em>Fancy shmancy dinner with Sauropod studio.</em></div>
<p><br/></p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/05/Frame03.jpg" alt="" title="Frame03" width="555" height="236" class="aligncenter size-full wp-image-1694" /></p>
<div style="text-align: center;"><em>The cramped confines of our workplace.</em></div>
<p><br/></p>
<p>All of these pictures have been taken unaltered from our video footage so the quality is really good. This really is all thanks to our friend Mathieu Sauvé who is a professional photographer and agreed to help us out with the shoot.</p>
<p>Hurray!</p>
<p><br/><br/></p>
<div class="one_half ">
<h5 class="cufon">Soundtrack of the week</h5>
<hr/>
<br/><br />
So today is my birthday. I don&#8217;t like telling other people about that. Instead, I&#8217;ll post a very personal soundtrack. I can say that Minotaur Shock&#8217;s Maritime has been a BIG inspiration for Castle Story. A lot of the ideas I have contributed to this project have come up while listening to this soundtrack. Enjoy.</p>
</div>
<div class="one_half last ">
<div style="text-align: center;">
<p><object width="277" height="420" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsManySongs237039112370442878" name="gsManySongs237039112370442878"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;songIDs=23703911,23704428,24754001,23704915,25782777,25782779,24753901,23703317,25782795,23706201,23704212,-1&#038;bbg=f5f5f5&#038;bth=f5f5f5&#038;pfg=f5f5f5&#038;lfg=f5f5f5&#038;bt=cccccc&#038;pbg=cccccc&#038;pfgh=cccccc&#038;si=cccccc&#038;lbg=cccccc&#038;lfgh=cccccc&#038;sb=cccccc&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><object type="application/x-shockwave-flash" data="http://grooveshark.com/widget.swf" width="277" height="420"><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;songIDs=23703911,23704428,24754001,23704915,25782777,25782779,24753901,23703317,25782795,23706201,23704212,-1&#038;bbg=f5f5f5&#038;bth=f5f5f5&#038;pfg=f5f5f5&#038;lfg=f5f5f5&#038;bt=cccccc&#038;pbg=cccccc&#038;pfgh=cccccc&#038;si=cccccc&#038;lbg=cccccc&#038;lfgh=cccccc&#038;sb=cccccc&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /></object></object></p>
</div>
</div>
<p><br class="clear" /></p>
<p>Short and sweet again this week. See you next time!</p>
<h5 class="cufon">Team Sauropod</h5>
<hr/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/dev-diary-number-thirteen/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Dev diary number twelve : Bug reports</title>
		<link>http://www.sauropodstudio.com/dev-diary-number-twelve/</link>
		<comments>http://www.sauropodstudio.com/dev-diary-number-twelve/#comments</comments>
		<pubDate>Sat, 05 May 2012 00:09:39 +0000</pubDate>
		<dc:creator>Germain</dc:creator>
				<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1656</guid>
		<description><![CDATA[Hi there! This week&#8217;s blog will be shorter than usual. The current situation here at Sauropod is in a state that makes writing blogs a bit harder than wer&#8217;re used to. We have lots of tasks that are unrelated to the actual game development that occupy a good part of our time. Tasks such as [...]]]></description>
			<content:encoded><![CDATA[<h5 class="cufon">Hi there!</h5>
<hr />
<p>This week&#8217;s blog will be shorter than usual. The current situation here at Sauropod is in a state that makes writing blogs a bit harder than wer&#8217;re used to. We have lots of tasks that are unrelated to the actual game development that occupy a good part of our time. Tasks such as incorporating (It&#8217;s done actually!), talking to accountants about legal matters, opening bank accounts, filming videos of ourselves, etc. </p>
<p>And other tasks that are directly related, but are either uninteresting or should remain secret. Tasks such as fixing bugs and tweaking gameplay mechanics, but also implementing really sensitive gameplay features that we want to keep as a surprise.</p>
<p>It&#8217;s true that there have been some unforeseen delays here and there. For example, we never expected that registering for an amazon payment account (required to host a Kickstarter) would be so long. These kinds of things are out of our control, but in the meantime, the game is getting prettier each day. I think everyone will benefit from this by the end.</p>
<h5 class="cufon">Progress report</h5>
<hr />
<p>This week was pretty painful. It was time to test our game in a situation that would be considered as extreme: A really big world with pretty much every game mechanic present. Guess what&#8230; we broke it.</p>
<p>We pushed the game so far that it crashed. Repeatedly.</p>
<p>Thing is, we need to do this because we are already using those settings in the trailer. We&#8217;ve been trying to record some gameplay, and every attempt so far has revealed another game-breaking bug that ruined the shot. It&#8217;s coming along, no worries, but it&#8217;s certainly frustrating.</p>
<p>Here&#8217;s our milestone document. It has become so large that it&#8217;ll probably become sentient any time now. I&#8217;m watching it closely.</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/05/Progress02.jpg" alt="" title="Progress02" width="555" height="481" class="aligncenter size-full wp-image-1660" /></p>
<div style="text-align: center;"><em>Aaaah!!! <a href="http://www.youtube.com/watch?v=VKrj1ymJzmo&#038;t=0m17s" target="_blank">Milestone documeeeeeent!!!</a></em></div>
<p><br/></p>
<h5 class="cufon">Sauropod is making a video ( again )</h5>
<hr />
<p>Yeah, so we filmed our video last weekend. And everything went well.</p>
<p>Except when we came back home and watched it, it was terrible&#8230;</p>
<p>It was so bad in fact that we just threw the footage in the recycling bin and called our friend to ask him if we could film again this weekend.</p>
<p>See, we&#8217;re not good at speaking in English. Writing is fine, but speaking&#8230; Uuugh.</p>
<p>Anyway. We&#8217;ll see what happens this time, but it simply can&#8217;t be as bad as what we filmed last weekend.</p>
<p><br/><br/></p>
<div class="one_half ">
<h5 class="cufon">Soundtrack of the week</h5>
<hr />
<br/><br />
I have no idea why, but I feel this soundtrack is appropriate this week. Grey rainy weather, tedious work and lots of waiting on the phone. Strangely, Metronomy&#8217;s <i>The English Riviera</i> seems spot on.</p>
</div>
<div class="one_half last ">
<div style="text-align: center;">
<p><object width="277" height="420" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsPlaylist6799262657" name="gsPlaylist6799262657"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=67992626&#038;bbg=f5f5f5&#038;bth=f5f5f5&#038;pfg=f5f5f5&#038;lfg=f5f5f5&#038;bt=cccccc&#038;pbg=cccccc&#038;pfgh=cccccc&#038;si=cccccc&#038;lbg=cccccc&#038;lfgh=cccccc&#038;sb=cccccc&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><object type="application/x-shockwave-flash" data="http://grooveshark.com/widget.swf" width="277" height="420"><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=67992626&#038;bbg=f5f5f5&#038;bth=f5f5f5&#038;pfg=f5f5f5&#038;lfg=f5f5f5&#038;bt=cccccc&#038;pbg=cccccc&#038;pfgh=cccccc&#038;si=cccccc&#038;lbg=cccccc&#038;lfgh=cccccc&#038;sb=cccccc&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><span><a href="http://grooveshark.com/playlist/Metronomy+The+English+Riviera/67992626" title="Metronomy - The English Riviera by Germain Couet on Grooveshark">Metronomy &#8211; The English Riviera by Germain Couet on Grooveshark</a></span></object></object></p>
</div>
</div>
<p><br class="clear" /></p>
<p>Anyway, that&#8217;s all we have for this week. See you next time!</p>
<h5 class="cufon">Team Sauropod</h5>
<hr/>
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/dev-diary-number-twelve/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Dev diary number eleven : Cake story</title>
		<link>http://www.sauropodstudio.com/dev-diary-number-eleven/</link>
		<comments>http://www.sauropodstudio.com/dev-diary-number-eleven/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 01:44:23 +0000</pubDate>
		<dc:creator>Germain</dc:creator>
				<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1613</guid>
		<description><![CDATA[Hello Internet! So yesterday was François&#8217;s birthday. There was much rejoicing, and some incredibly talented friends of ours created one of the most awesome cake I&#8217;ve ever seen in person. Combine that with the birthday of François&#8217; wife, Julie-Édith which was earlier this week, our workspace was filled with so many people that writing a [...]]]></description>
			<content:encoded><![CDATA[<h5 class="cufon">Hello Internet!</h5>
<hr />
<p>So yesterday was François&#8217;s birthday. There was much rejoicing, and some <a href="http://www.facebook.com/laforgeagateaux" target="_blank">incredibly talented friends of ours</a> created one of the most awesome cake I&#8217;ve ever seen in person. Combine that with the birthday of François&#8217; wife, Julie-Édith which was earlier this week, our workspace was filled with so many people that writing a simple blog post became pretty much impossible.</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Gateau_SM.jpg" alt="" title="Gateau_SM" width="555" height="370" class="aligncenter size-full wp-image-1616" /></p>
<div style="text-align: center;"><em>I can say without hesitation that the cake was just as delicious as it was beautiful. Thank you <a href="http://www.facebook.com/laforgeagateaux" target="_blank">La Forge à Gâteaux</a>!</em></div>
<p><br/></p>
<h5 class="cufon">Progress report</h5>
<hr />
<p>This week was spent squashing dozens of bugs, and implementing a cinematic &#038; event-driven engine. The goal here is to facilitate gameplay capture for an upcoming gameplay trailer. Basically, we build a simple scripting language that allows us to generate short scenarios by spawning characters in specific locations and giving them orders at precise times. The idea is to create an engine that can repeat hand built scenarios over and over again and allowing real-time modification of those scenarios. With this we can capture video of complex scenes that would be impossible to film if the player has to command the characters manually. The engine includes a camera animation import system that lets us create complex camera movements in 3d Studio Max, and importing them in the game engine.</p>
<p>In short, at a simple click of a button, groups of characters appear and act out precise actions. During that time, a hand-animated camera films the whole scene. With this we can create live cutscenes, which will help us creating a really nice looking gameplay trailer.</p>
<p>On the bug-fixing front, we stumbled upon a whole lot of them, and thankfully managed to fix most of them. We are still crippled with a few memory leaks, but hopefully we&#8217;ll fix them in the coming week.</p>
<p>Here&#8217;s a comparison of this week&#8217;s milestones document versus last week&#8217;s:</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Progress.jpg" alt="" title="Progress" width="555" height="597" class="aligncenter size-full wp-image-1614" /></p>
<div style="text-align: center;"><em>Green = Good</em></div>
<p><br/></p>
<h5 class="cufon">Sauropod is making a video</h5>
<hr />
<p>On the Kickstarter front, we&#8217;ve been working on two things:</p>
<p>This weekend, we are filming our frontpage video, in which for the first time, you&#8217;ll see us talking in front of a camera. Let&#8217;s say we&#8217;re not entirely comfortable doing this but we think that it will be a important part in convincing people to help us with the Kickstarter. Needless to say we are putting &#8220;Les bouchées double&#8221; (redoubling our efforts) in creating the best video possible.</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Scriptwriting.jpg" alt="" title="Scriptwriting" width="555" height="312" class="aligncenter size-full wp-image-1625" /></p>
<div style="text-align: center;"><em>Here we are with our friends from Ko-op mode, writing the video script, and learning how to use this monster of a camera.</em></div>
<p><br/></p>
<p>Secondly, in order to host a Kickstarter, we&#8217;ve had to spend the week on the phone, talking to a wide array of people. We needed to open bank accounts, incorporate Sauropod studio, talk to lawyers and accountants, and basically ensure that IF any money ever comes our way, we wouldn&#8217;t get double-taxed or go to jail.</p>
<p><br/></p>
<p>Anyway, we have to cut this week&#8217;s blog a bit short. We are incredibly busy with everything we&#8217;ve talked about above, 7 days per week simply isn&#8217;t enough sometimes.</p>
<p>Let&#8217;s just say that things are going incredibly well, and that I can already see the end of the tunnel. I can&#8217;t wait to show you what we&#8217;ve got!<br />
<br/><br/></p>
<div class="one_half ">
<h5 class="cufon">Soundtrack of the week</h5>
<hr />
<br/><br />
Sometimes, I need something simple to take my mind off complicated things. <i>Lali Puna</i>&#8216;s music does exactly that.</p>
</div>
<div class="one_half last ">
<div style="text-align: center;">
<p><object width="277" height="420" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsPlaylist3063195593" name="gsPlaylist3063195593"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=30631955&#038;bbg=f5f5f5&#038;bth=f5f5f5&#038;pfg=f5f5f5&#038;lfg=f5f5f5&#038;bt=cccccc&#038;pbg=cccccc&#038;pfgh=cccccc&#038;si=cccccc&#038;lbg=cccccc&#038;lfgh=cccccc&#038;sb=cccccc&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><object type="application/x-shockwave-flash" data="http://grooveshark.com/widget.swf" width="277" height="420"><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=30631955&#038;bbg=f5f5f5&#038;bth=f5f5f5&#038;pfg=f5f5f5&#038;lfg=f5f5f5&#038;bt=cccccc&#038;pbg=cccccc&#038;pfgh=cccccc&#038;si=cccccc&#038;lbg=cccccc&#038;lfgh=cccccc&#038;sb=cccccc&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><span><a href="http://grooveshark.com/playlist/Lali+Puna+Our+Inventions/30631955" title="Lali Puna - Our Inventions by Germain Couet on Grooveshark">Lali Puna &#8211; Our Inventions by Germain Couet on Grooveshark</a></span></object></object></p>
</div>
</div>
<p><br class="clear" /></p>
<p>See you next week!</p>
<h5 class="cufon">Team Sauropod</h5>
<hr/>
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/dev-diary-number-eleven/feed/</wfw:commentRss>
		<slash:comments>49</slash:comments>
		</item>
		<item>
		<title>Dev diary number ten : Ragdolls &amp; Catapults</title>
		<link>http://www.sauropodstudio.com/dev-diary-number-ten/</link>
		<comments>http://www.sauropodstudio.com/dev-diary-number-ten/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 05:05:56 +0000</pubDate>
		<dc:creator>Germain</dc:creator>
				<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1573</guid>
		<description><![CDATA[Hello&#8217;z! So yeah, we we&#8217;re so busy working on the game this week that we did not realize it was friday and totally forgot to make the blog. You see, the Kickstarter is so close we can smell it. This means that we have to work really really hard to make things as good looking [...]]]></description>
			<content:encoded><![CDATA[<h5 class="cufon">Hello&#8217;z!</h5>
<hr />
<p>So yeah, we we&#8217;re so busy working on the game this week that we did not realize it was friday and totally forgot to make the blog. You see, the Kickstarter is so close we can smell it. This means that we have to work really really hard to make things as good looking as possible.</p>
<p>There are too much things to list this week, so instead, we took a screenshot of our milestone document. Sorry we had to blur out the details so we don&#8217;t spoil some of the surprises we have for you in the Kickstarter video.</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Milestones.jpg" alt="" title="Milestones" width="555" height="626" class="aligncenter size-full wp-image-1574" /></p>
<div style="text-align: center;"><em>Goals are color coded: Green = 100% done, Yellow = almost done, Orange = needs a bit more work, Red = not started, Blue = not needed for the kickstarter video</em></div>
<p><br/></p>
<p>Some of those blurred tasks include bad guys, catapults, saving the levels with dynamic objects and the character ragdolls. Speaking of which, ragdolls are the subject of our blog this week!</p>
<p>But before this, we have a rather important event we want to celebrate:</p>
<h5 class="cufon">Team Sauropod has 10,000 fans!</h5>
<hr />
<p>Tuesday, we had the joy of witnessing a rather important event. We were there, on facebook, refreshing every five minutes or so waiting for the number to go from 9999 to 10000. We had the opportunity to take a screenshot the minute we passed the five figure mark.</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/DixMille.jpg" alt="" title="DixMille" width="555" height="444" class="aligncenter size-full wp-image-1580" /></p>
<div style="text-align: center;"><em>This is officially pretty cool.</em></div>
<p><br/></p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/DixMillieme.jpg" alt="" title="DixMillieme" width="555" height="444" class="aligncenter size-full wp-image-1581" /></p>
<div style="text-align: center;"><em>Who is this mystery person? Looks like a cross between a time-traveler and the Fresh Prince of Bel-Air.</em></div>
<p><br/></p>
<p>We&#8217;re still deciding what we will do about this, we&#8217;ll announce it shortly. Anyway, without further ado, here&#8217;s this week&#8217;s blog subject:</p>
<h5 class="cufon">Ragdolls!</h5>
<hr />
<p>So, what the hell is a ragdoll, you ask?</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Ragdolls.jpg" alt="" title="Ragdolls" width="555" height="240" class="aligncenter size-full wp-image-1590" /></p>
<div style="text-align: center;"><em>Ragdolls are not a kind of cat. Neither are they a doll made out of a rag.</em></div>
<p><br/></p>
<p>Ragdolls are a way of simulating character joint physics in a game. Wikipedia has this to say about ragdoll physics:</p>
<blockquote><p>In computer physics engines, ragdoll physics is a type of procedural animation that is often used as a replacement for traditional static death animations in video games and animated films.</p></blockquote>
<p>So basically, we apply the same physics that we use on the castle bricks when they fall apart, on our game characters, often with hilarious results.</p>
<p>The main reason why we would implement ragdoll physics has to do with randomness. In a regular game using pre-animated (deterministic) death animation, once the player has seen an animation, he has seen it and can never un-see it. This creates a game environment in which player who has played for a while can hardly ever be surprised by the game anymore, because he has seen literally everything. Usually, the game developers can counter this effect by creating dozens if not hundreds of unique context specific hand-crafted animation, but in our case, with only one animator, we do not have that luxury. Ragdoll physics give us an unlimited amount of death animations for a very low cost in terms of work. Creating the character rig took me about the same time as creating a single keyframed animation.</p>
<p>The second reason has to do with emergent gameplay. In a game where creativity is one of the most important feature, it is important to create a sandbox where players can experiment in directions that the game designer has never thought about. Ragdoll are usefull in this case because of the ability to react to any other object that exists in the physics engine. For example, in older games, dead enemies would not react to other dead bodies laying in the same space. They would often phase through each other or even lay flat even though they&#8217;re resting on sloped ground. This breaks immersion, and gives away the fact that those bodies are no longer interactive entities. Programming behaviors that take these things into account, and reacting to large amounts of stimuli is incredibly complicated, so ragdoll physics is very profitable.</p>
<p>Finally ragdoll physics are just awesome. I can spend hours trying out every possible way I can cause a Bricktron to fall to his death. Here&#8217;s one example:</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Ragdoll.gif" alt="" title="Ragdoll" width="427" height="240" class="aligncenter size-full wp-image-1599" /></p>
<div style="text-align: center;"><em>Despite having put his protective gear on this morning, Test Bricktron #1 was unable to prevent Test Bricktron #2 from shooting him in the back with an arrow.</em></div>
<p><br/></p>
<p>Unity3d makes it really easy to set up a joint rig with their <a href="http://unity3d.com/support/documentation/Components/wizard-RagdollWizard.html" target="_blank">ragdoll wizard</a>. I&#8217;m not going to get into the details of how to set up joint limits and rigid body constraints, but try it out yourself, it&#8217;s really easy and pretty entertaining!</p>
<p><br/></p>
<div class="one_half ">
<h5 class="cufon">Soundtrack of the week</h5>
<hr />
<p>I don&#8217;t know how to describe this band&#8217;s style. Trip-hop? Jazz? Indie Rock? One thing&#8217;s for sure, Laïka&#8217;s awesome. </p>
<p>Check it out for yourself.
</p></div>
<div class="one_half last ">
<div style="text-align: center;">
<p><object width="277" height="420" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsPlaylist6477990312" name="gsPlaylist6477990312"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=64779903&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><object type="application/x-shockwave-flash" data="http://grooveshark.com/widget.swf" width="277" height="420"><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=64779903&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><span><a href="http://grooveshark.com/playlist/Laika+Good+Looking+Blues/64779903" title="Laika - Good Looking Blues by Germain Couet on Grooveshark">Laika &#8211; Good Looking Blues by Germain Couet on Grooveshark</a></span></object></object></p>
</div>
</div>
<p><br class="clear" /></p>
<p>Cheers!</p>
<h5 class="cufon">The Sauropod team</h5>
<hr/>
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/dev-diary-number-ten/feed/</wfw:commentRss>
		<slash:comments>66</slash:comments>
		</item>
		<item>
		<title>Dev diary number nine : Skybox shmybox</title>
		<link>http://www.sauropodstudio.com/dev-diary-number-nine-skybox-shmybox/</link>
		<comments>http://www.sauropodstudio.com/dev-diary-number-nine-skybox-shmybox/#comments</comments>
		<pubDate>Sat, 14 Apr 2012 02:20:42 +0000</pubDate>
		<dc:creator>Germain</dc:creator>
				<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1529</guid>
		<description><![CDATA[Greetings earthlings! Our imaginary Kickstarter deadline is coming up inexorably, as we scramble to get everything done (we will announce it very soon). OMG sooo much things to do and not enough time! As for the game, we got lots of little things done this week. Nothing huge, but together they amount to large changes. [...]]]></description>
			<content:encoded><![CDATA[<h5 class="cufon">Greetings earthlings!</h5>
<hr />
<p>Our imaginary Kickstarter deadline is coming up inexorably, as we scramble to get everything done (we will announce it very soon). OMG sooo much things to do and not enough time! As for the game, we got lots of little things done this week. Nothing huge, but together they amount to large changes. Here&#8217;s a list:</p>
<style>
			.pp_list.check_alt ul li {
				display: block;
				background: url("http://www.sauropodstudio.com/wp-content/themes/Minos/images/icon/check_alt_16x16.png") no-repeat top left;
			}
		</style>
<div class="pp_list check_alt">
<ul>
<li>Finished the dynamic obstacle avoidance behavior for the Bricktrons, or rather, tweaked it to the best of our abilities. The Bricktrons can now navigate from a mine to the stockpile to the castle without getting stuck too much.</li>
<li>Added functional ladders. Bricktrons can not only climb ladders, but can line up at the bottom to climb one after the other instead of blocking the entire ladder for the duration of their climbing.</li>
<li>Made a third (and simpler) implementation of the LOD (level of detail) system for general objects (not terrain mesh). It&#8217;s so simple in fact that it&#8217;s hardly worth mentioning, other than the fact that we use it in another bullet-point farther down.</li>
<li>Created a system that cheats the <a href="http://techpubs.sgi.com/library/dynaweb_docs/0650/SGI_Developer/books/Cos3C_PG/sgi_html/figures/aspect.ratio.gif" target="_blank">far-clip</a> of the camera. To have accurate rendering and to prevent <a href="http://en.wikipedia.org/wiki/Z-fighting" target="_blank">z-fighting</a>, it is necessary to have bounds to the camera in the form of a near-clip and a far-clip. It is absolutely impossible to have an in-game camera see at an infinite distance, and the smaller the distance between both clipping planes, the better. You can see the effect of far clipping in <a href="http://www.youtube.com/watch?v=WFKBw4UuHkQ#t=00m40s" target="_blank">this video of ours</a> (0:40s). Fortunately we have a solution! Basically, we duct tape a second camera to the Main camera with a near clip exactly at the same distance as the main camera&#8217;s far clip, and a far clip that&#8217;s really big. And then we tweak the depth, culling mask and clear flags so that the two cameras combine their images correctly. And voilà! In case you didn&#8217;t understand any of this shit, <a href="http://download.unity3d.com/support/resources/files/3DPlatformTutorial.pdf" target="_blank">here&#8217;s a good tutorial</a> (go to page 112).</li>
<li>Added polygons to the bottom of our islands. It probably seem simple to do, but it&#8217;s a remnant of an old vesion of Castle Story (almost two years old) in which the camera was constrained to look downwards. We got rid of that eventually to be able to look at the skybox.</li>
<li>Speaking of skybox, we worked on it again this week. After not touching it for almost a year. We tweaked the clouds to allow us to have more of them at once, and to let them dissapear into the distance gracefully. The skybox will be this week&#8217;s blog subject:</li>
</ul>
</div>
<p><br/><br/></p>
<h5 class="cufon">Skyboxes, or how to fake big things with tiny ones</h5>
<hr/><br/></p>
<p>So, what is a skybox?</p>
<p>A skybox is something that we use to fill the background of our game. It is usually static and non-interactive. In other words, a skybox is where the player should never get to go, generally because it is too far. Since game developers have limited time and abilities (yes, we are not gods, we have to sleep like everyone else) we have to cut corners and put limits to the size of our world to prevent having to create infinitely large and detailed worlds.</p>
<p><img alt="" src="http://www.onigirl.com/pipeline/Images/Sample_SkyBox.jpg" class="alignleft" width="561" height="250" /></p>
<p>Fortunately, we took the decision a long time ago to make our game happen on flying islands. This means that players will never be able to walk in one direction indefinitely. This is usually the bane of every first-person shooter since they have to create arbitrary kill-zones to prevent the players from wandering too far away from the combat zone. So in the case of Castle Story, what constitutes the skybox is pretty clear: The sky, the sun, the ocean and the clouds. </p>
<p>Thing is, those elements all have one thing in common. They are BIG. Like, really really big. It would be really inconvenient to create objects that big in the game universe (the aforementioned far-clip is one of the reasons). Normally, the game engine would have no problem rendering a static image in the background, but in our case, the skybox is dynamic, with day-night cycles, and 3-D clouds moving around. So our solution was to create a tiny skybox somewhere and render that in the background.</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Blog9_Graph01.jpg" alt="" title="Blog9_Graph01" width="555" height="340" class="alignleft size-full wp-image-1546" /></p>
<div style="text-align: center;"><em>We create another camera that mimics the main camera&#8217;s orientation and put it in the 3d skybox. The 3d skybox is really far away somewhere, out of view. The second camera also mimics the main camera&#8217;s position but divides it by a factor of 100 (or whatever your 3d skybox ratio is) so that it will move accurately, and create a sense of space in the skybox.</em></div>
<p><br/></p>
<p>Now since the 3d skybox has a limited size, this means that unless the clouds are significantly smaller than the skybox, they will tend to clip through the edges. It&#8217;s hard to explain so I made a graph:</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Blog9_Graph2.jpg" alt="" title="Blog9_Graph2" width="555" height="340" class="alignleft size-full wp-image-1547" /></p>
<div style="text-align: center;"><em>There is wind so the cloud will inevitably leave the edges of the skybox. In this case, nothing is done to avoid this ugly transition: not only will the clouds dissapear while still being relatively large (and close) they won&#8217;t even dissapear near the horizon.</em></div>
<p><br/></p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Blog9_Graph3.jpg" alt="" title="Blog9_Graph3" width="555" height="340" class="alignleft size-full wp-image-1548" /></p>
<div style="text-align: center;"><em>To fix this, we make the clouds scale proportionally to how close they are from the player. They will become smaller the further they are up to a point where they will dissapear. Additionally, we make them curve toward the horizon to create the illusion that they dissaprear in the distance.</em></div>
<p><br/></p>
<p>Anyway, that&#8217;s how we do it for the skybox. The sky color is pretty simple, a gradient shader applied to a sphere. We can change the colors of the gradient to simulate a blue daytime sky, or a darker grey for night sky.</p>
<p>And that&#8217;s about it.</p>
<p><br/></p>
<div class="one_half ">
<h5 class="cufon">Soundtrack of the week</h5>
<hr />
<p>Yet another chillout soundtrack. I guess I have a soft spot for those. I should rename this section <i>soundscape</i> of the week.</p>
<p>This time, all the way from France: Télépopmusik&#8217;s <i>Angel Milk</i>.
</div>
<div class="one_half last ">
<div style="text-align: center;">
<p><object width="277" height="420" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsPlaylist6947122978" name="gsPlaylist6947122978"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=69471229&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><object type="application/x-shockwave-flash" data="http://grooveshark.com/widget.swf" width="277" height="420"><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=69471229&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><span><a href="http://grooveshark.com/playlist/T+l+popmusik+Angel+Milk/69471229" title="Télépopmusik - Angel Milk by Germain Couet on Grooveshark">Télépopmusik &#8211; Angel Milk by Germain Couet on Grooveshark</a></span></object></object></p>
</div>
</div>
<p><br class="clear" /></p>
<p>Thanks for reading!</p>
<h5 class="cufon">The Sauropod team</h5>
<hr/>
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/dev-diary-number-nine-skybox-shmybox/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Dev diary number eight : Ballistics and projectiles</title>
		<link>http://www.sauropodstudio.com/dev-diary-number-eight/</link>
		<comments>http://www.sauropodstudio.com/dev-diary-number-eight/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 16:57:24 +0000</pubDate>
		<dc:creator>Germain</dc:creator>
				<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1376</guid>
		<description><![CDATA[Bonjour! Another week has passed, and brings us ever closer to the Kickstarter. We can&#8217;t reveal the exact date, but rest assured that it will be soon, and that if you read this blog, you will know a week in advance. This said, this week has been very productive. Many important features and assets have [...]]]></description>
			<content:encoded><![CDATA[<h5 class="cufon">Bonjour!</h5>
<hr />
<p>Another week has passed, and brings us ever closer to the Kickstarter. We can&#8217;t reveal the exact date, but rest assured that it will be soon, and that if you read this blog, you will know a week in advance. This said, this week has been very productive. Many important features and assets have been started and/or finished. Here&#8217;s a list:</p>
<style>
			.pp_list.check_alt ul li {
				display: block;
				background: url("http://www.sauropodstudio.com/wp-content/themes/Minos/images/icon/check_alt_16x16.png") no-repeat top left;
			}
		</style>
<div class="pp_list check_alt">
<ul>
<li>Finished most of the animations for the new Bricktron character model, including several completely new ones. We also imported the character inside the game engine, in a manner that will allow us to compare him to the old character. There is still a bit of tweaking to be done, but most of the work is behind us. Huzzah!</li>
<li>Finished debugging and started tweaking the dynamic obstacle avoidance behavior for the Bricktrons. They now go around each other as well as they can, and generally avoid getting into traffic jams when it can be avoided. They also make their way into mines more easily, using the single stair that is automatically created.</li>
<li>Implemented a fun little behavior where Bricktrons can exchange task when they are blocking each other&#8217;s paths. You will now often see Bricktrons giving bricks or bags to their buddies, and this generally speeds up work. You will also see bags being chain-exchanged up flight of stairs that are jam packed with Bricktrons which is a pretty fun sight. I am personally very impressed by the results. Thanks to you blog readers for suggesting this idea!</li>
<li>Started creating a bad guy model. Nothing can be shown yet, but it is coming along pretty well, all I can say is that it will be very very badass.</li>
<li>Created an algorithm to calculate ballistic angles to hit a target with an arrow or a catapult. We are very close to implementing it in the game, so archers are imminent.</li>
</ul>
</div>
<p>Speaking of which, ballistics are the subject of our blog this week. To do this I will now give my keyboard to Benoît, the newest member of our team.</p>
<h5 class="cufon">Ballistics, or how to hit things by throwing stuff.</h5>
<hr />
<p>Hi everybody,</p>
<p>Today&#8217;s lesson is about projectile ballistics. That&#8217;s right, we&#8217;re going to talk about archers and catapults!</p>
<div style="text-align: center;"><strong>*** Warning: equations ahead! ***</strong></div>
<p>For those of you who haven&#8217;t done their high school physics classes, I&#8217;ll try to be as simple as possible in my explanations and to assume very little background knowledge. However, the goal of this blog is also to give guidelines to other casual game programmers (or professional I suppose), so in that respect, I&#8217;ll be as thorough as possible with the underlying math.</p>
<p>You&#8217;ve been warned.</p>
<p>&nbsp;</p>
<h5 class="cufon">Basic, basic physics</h5>
<hr />
<p>I&#8217;m sure all of you are familiar with this formula:</p>
<p><img class="aligncenter size-full wp-image-1418" title="blog6avril-eqns_03" src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/blog6avril-eqns_03.jpg" alt="" width="231" height="64" /></p>
<div style="text-align: center;"><em>Distance</em> ( <strong>d</strong> ) equals <em>Speed</em> ( <strong>v</strong>, for velocity ) multiplied by <em>Time</em> ( <strong>t</strong> )</div>
<p>&nbsp;</p>
<p>Suppose you want to travel from city A to city B which are 320 km (200 miles) away from one another. Suppose you&#8217;re going at an average speed of 80 km per hour (50 mph). Then your trip will have lasted 4 hours. So, that&#8217;s pretty simple, right?</p>
<p>Well, believe it or not, this simple formula accounts for the whole package of projectile ballistics (ignoring air resistance).</p>
<p><img class="aligncenter size-full wp-image-1437" title="blog6avril-eqns_22" src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/blog6avril-eqns_22.jpg" alt="" width="449" height="65" /></p>
<p>Here we&#8217;re using <strong>x</strong> and <strong>y</strong> as the horizontal and vertical components of the projectile travelling through the 3-D world. We can treat the world as being 2-D once the target and the projectile are aligned together.</p>
<p>I have to say that I&#8217;ve played a little trick on you, though. My little formula uses <strong>v̅</strong> ( read: v-bar ), which is the <strong>average</strong> speed. That means if you&#8217;ve stopped for some gas or for a meal on your way, your average speed decreases accordingly, so really, <strong>v̅</strong> contains an awful lot of information.</p>
<p>Fortunately, in the world of projectiles, <strong>v̅</strong> is pretty simple to predict. Your final speed is your initial speed plus all the downwards acceleration that you&#8217;ve accumulated through gravity (denoted by the symbol <strong>g</strong>). Now your <strong>average</strong> speed is your initial speed plus <strong>half</strong> that same downwards acceleration.</p>
<p><img class="aligncenter size-full wp-image-1441" title="blog6avril-eqns_26" src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/blog6avril-eqns_26.jpg" alt="" width="555" height="96" /></p>
<p>Now that we have <strong>v&#773;</strong> in terms that are easy to measure, we can replace it in the original formulas for <strong>x</strong> and <strong>y</strong>, giving :</p>
<p><img class="aligncenter size-full wp-image-1442" title="blog6avril-eqns_25" src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/blog6avril-eqns_25.jpg" alt="" width="555" height="127" /></p>
<p>&nbsp;</p>
<h5 class="cufon">Arrows</h5>
<hr />
<p>In Castle Story, archers can fire arrows at various targets to inflict them damage or neutralize them. They can shoot at any angle they desire that would improve their chance of hitting their target. However, they&#8217;re limited by the robustness of their bows and by their own physical strength. We decided that the main mechanism behind bows and arrows would mainly have to do with choosing an appropriate angle for shooting rather than varying the tension in the string. That also allows us to make a simpler animation for said string if we know in advance how pulled it will be.</p>
<p>OK, back to formulas.</p>
<p>Suppose you&#8217;ve just fired an arrow and you&#8217;re looking at it flying. You can look at the <strong>x</strong> and <strong>y</strong> components of its velocity and describe its “orientation”. At the beginning, the arrow is pointing generally upwards, but as the gravity pulls its <strong>y</strong> speed down, the arrows starts pointing more and more towards the ground, all the while keeping its original <strong>x</strong> speed (read: horizontal speed).</p>
<p>The elevation angle at which an arrow is fired have a huge impact on the range it covers. Here are a few trajectories that an arrow could have:</p>
<p><img class="aligncenter size-full wp-image-1474" title="Archer_01" src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Archer_01.jpg" alt="" width="555" height="320" /></p>
<div style="text-align: center;"><em>In this situation, a Bricktron shoots an arrow at a power of 50 and at an angle of 45°, and misses it. He decides to shoot at an angle of 15° instead and misses it too.</em></div>
<hr />
<p><img class="aligncenter size-full wp-image-1475" title="Archer_02" src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/Archer_02.jpg" alt="" width="555" height="320" /></p>
<div style="text-align: center;"><em>The Bricktron, perplexed by his previous failures decides to change his power instead of his angle, first at 50 with an angle of 45°. He misses, and realises that this is exactly what he did at his first attempt. Finally he decides to shoot with a power of 35 which misses the target too. Feeling miserable, the Bricktron decides that he&#8217;d rather be a footman than an archer.</em></div>
<hr />
<p>Imagine you&#8217;re firing an arrow at an elevation angle of 30°. Let&#8217;s call that angle <strong>θ</strong> (read: theta). What does that mean in terms of <strong>x</strong> and <strong>y</strong> arrow velocity? Well, your arrow will have the same total speed regardless of where you fire it, so let&#8217;s say it has a starting speed of <strong>v</strong>. However, if you fire it at 30°, it will have the better part of its speed invested in its horizontal velocity and it will take very little time before the arrow starts pointing downwards. On the other hand, if you fire it at, say, 60°, the opposite will happen: the arrow will still start with speed <strong>v</strong>, but it fly for a longer time before hitting the ground, yet it will also have travelled at a much lower horizontal velocity. Now that sounds very vague and general. Using trigonometric formulas, our original equations become the following:</p>
<p><img class="aligncenter size-full wp-image-1451" title="blog6avril-eqns_25" src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/blog6avril-eqns_251.jpg" alt="" width="449" height="279" /></p>
<p>So, what is the best angle to hit a given target? As a general rule, 45° is the angle that reaches the farthest, although that&#8217;s not exactly true for terrain that&#8217;s not entirely flat. But how can we hit a precise target if it&#8217;s closer to us than that farthest point? Is there a way to predict where to aim specifically?</p>
<p>By looking at the last two formulas, we see that we have only two unknowns remaining, namely <strong>&theta;</strong> and <strong>t</strong>. Since we also have two independent equations, algebra allows us to isolate <strong>t</strong> in both equations and, with appropriate manipulations and some sweating, obtain <strong>&theta;</strong>. The resulting formula is big and ugly, but don&#8217;t panic, it can just be used in a plug-and-play manner in any little physics engine with amazing results (see applet below). Without further ado:</p>
<p><img class="aligncenter size-full wp-image-1447" title="blog6avril-eqns_14" src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/blog6avril-eqns_14.jpg" alt="" width="555" height="128" /></p>
<p>If any of you should be interested in the algebra needed to derive the formula, Wikipedia has a page dedicated to projectile trajectories that explains it in a detailed fashion <a title="wikipedia" href="http://en.wikipedia.org/wiki/Trajectory_of_a_projectile" target="_blank">here</a>.</p>
<p>Let&#8217;s go back to the big formula one last time very quickly and break it apart for those programmers among you who&#8217;d like to use it. <strong>θ</strong> is the elevation angle that we&#8217;re trying to calculate. <em>arctan</em> is the inverse of the <em>tangent</em> trigonometric function, which in turn is the ratio of the <em>sine</em> and <em>cosine</em> functions applied to a given angle. Generally, all math programming libraries have an <em>arctan</em> or <em>atan</em> function ready for use. Then we have our good old <strong>v</strong> (read: velocity), which stands for the initial speed of the arrow. In our case, that would depend on the strength of the Bricktron firing the arrow, or the tension in the catapult at the moment of releasing a projectile. Finally, we have <strong>x</strong> and <strong>y</strong>, which in this case mean the horizontal range at which the target stands, and the altitude of the target relative to the shooter, respectively.</p>
<p>So, that&#8217;s what&#8217;s happening in the Bricktron archer&#8217;s head. Looking at the target. Estimating its range and altitude. Plugging his firing power in the equation, and computing the right firing angle. Since the arrow travels reasonably rapidly, the target will not generally have the time to move too far away from the aimed spot, but we&#8217;ve also included a small estimation of the target&#8217;s future position according to its speed at the moment of aiming. We won&#8217;t cover that last detail in today&#8217;s blog, though.</p>
<h5 class="cufon">Catapults</h5>
<hr />
<p>While archers can change their firing angle very quickly and easily, catapults can&#8217;t. Their mechanism is designed to brake at a very specific angle, something like 45°, and to throw any given projectile along a relatively similar trajectory. Where the catapult changes is in regards to it&#8217;s firing power. Not only can it project objects of different masses at different speeds, in can also be handled by a Bricktron to release more or less firing power at a time. Increasing the fire power makes the projectile go farther, and decreasing it makes it go closer, which makes it relatively easy to gauge where the catapult is shooting.</p>
<p>The following not-so-simple formula computes the initial speed that a projectile needs to have in order to reach a particular point in space (at horizontal reach <strong>x</strong> and altitude <strong>y</strong>, aiming at angle <strong>θ</strong>).</p>
<p><img class="aligncenter size-full wp-image-1448" title="blog6avril-eqns_18" src="http://www.sauropodstudio.com/wp-content/uploads/2012/04/blog6avril-eqns_18.jpg" alt="" width="449" height="127" /></p>
<p>&nbsp;</p>
<h5 class="cufon">Try it yourself!</h5>
<hr />
<p>We&#8217;ve made a small applet that allows you to play a little bit with angle and firing power if you want to. Click inside the rectangle to change the target&#8217;s position. Knock yourself out!</p>
<p><!-- Iframe plugin v.2.2 (wordpress.org/extend/plugins/iframe/) --><br />
<iframe src="http://www.freewebs.com/batiazul3627/castlestory/ballistics.html" width="555px" height="340px" scrolling="no" class="iframe-class" frameborder="0"></iframe><br />
Anyway, that&#8217;s it for this week&#8217;s blog, now to the soundtrack of the week!</p>
<div class="one_half ">
<h5 class="cufon">Soundtrack of the week</h5>
<hr />
<p>Last week&#8217;s soundtrack got us a few nice comments. Few things are as rewarding to us as showing somebody a new band and getting a positive reaction. This said, a gift to those who enjoyed last week&#8217;s soundtrack: Jon Hopkins, master-genius of all things related to chillout ambient music. Close the lights, turn up the volume and enjoy.
</p></div>
<div class="one_half last ">
<div style="text-align: center;">
<p><object id="gsPlaylist6580931299" width="277" height="420" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&amp;playlistID=65809312&amp;bbg=f2f2f2&amp;bth=f2f2f2&amp;pfg=f2f2f2&amp;lfg=f2f2f2&amp;bt=5dc251&amp;pbg=5dc251&amp;pfgh=5dc251&amp;si=5dc251&amp;lbg=5dc251&amp;lfgh=5dc251&amp;sb=5dc251&amp;bfg=ffffff&amp;pbgh=ffffff&amp;lbgh=ffffff&amp;sbh=ffffff&amp;p=0" /><param name="src" value="http://grooveshark.com/widget.swf" /><param name="allowscriptaccess" value="always" /><embed id="gsPlaylist6580931299" width="277" height="420" type="application/x-shockwave-flash" src="http://grooveshark.com/widget.swf" wmode="window" allowScriptAccess="always" flashvars="hostname=cowbell.grooveshark.com&amp;playlistID=65809312&amp;bbg=f2f2f2&amp;bth=f2f2f2&amp;pfg=f2f2f2&amp;lfg=f2f2f2&amp;bt=5dc251&amp;pbg=5dc251&amp;pfgh=5dc251&amp;si=5dc251&amp;lbg=5dc251&amp;lfgh=5dc251&amp;sb=5dc251&amp;bfg=ffffff&amp;pbgh=ffffff&amp;lbgh=ffffff&amp;sbh=ffffff&amp;p=0" allowscriptaccess="always" /><img src="http://www.sauropodstudio.com/wp-includes/js/tinymce/themes/advanced/img/trans.gif" class="mceItemMedia mceItemFlash" width="277" height="420" data-mce-json="{'video':{},'params':{'wmode':'window','allowScriptAccess':'always','flashvars':'hostname=cowbell.grooveshark.com&amp;playlistID=65809312&amp;bbg=f2f2f2&amp;bth=f2f2f2&amp;pfg=f2f2f2&amp;lfg=f2f2f2&amp;bt=5dc251&amp;pbg=5dc251&amp;pfgh=5dc251&amp;si=5dc251&amp;lbg=5dc251&amp;lfgh=5dc251&amp;sb=5dc251&amp;bfg=ffffff&amp;pbgh=ffffff&amp;lbgh=ffffff&amp;sbh=ffffff&amp;p=0','src':'http://grooveshark.com/widget.swf'},'object_html':'&lt;span&gt;&lt;a href=\&quot;http://grooveshark.com/playlist/Jon+Hopkins+Contact+Note/65809312\&quot; title=\&quot;Jon Hopkins - Contact Note by Germain Couet on Grooveshark\&quot;&gt;Jon Hopkins - Contact Note by Germain Couet on Grooveshark&lt;/a&gt;&lt;/span&gt;'}" alt="" /></object></p>
</div>
</div>
<p><br class="clear" /><br />
See you next week everybody!<br />
Peace.</p>
<h5 class="cufon">The Sauropod team</h5>
<hr />
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/dev-diary-number-eight/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Dev diary number seven : Bricktron behavior patterns</title>
		<link>http://www.sauropodstudio.com/dev-diary-number-seven/</link>
		<comments>http://www.sauropodstudio.com/dev-diary-number-seven/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 05:39:31 +0000</pubDate>
		<dc:creator>Germain</dc:creator>
				<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1339</guid>
		<description><![CDATA[Hi there! Phew, that was a tough week! I&#8217;m glad it&#8217;s over so we can take a break. François, Benoit and I all hit tough task requiring deep debugging, long testing sessions and leaving our comfort zones. Here&#8217;s what we worked on: *** WARNING: THESE PICTURES ARE NOT IN-GAME GRAPHICS *** New weapons and new [...]]]></description>
			<content:encoded><![CDATA[<h5 class="cufon">Hi there!</h5>
<hr/></br></p>
<p>Phew, that was a tough week! I&#8217;m glad it&#8217;s over so we can take a break.</p>
<p>François, Benoit and I all hit tough task requiring deep debugging, long testing sessions and leaving our comfort zones. Here&#8217;s what we worked on:</p>
<style>
			.pp_list.check_alt ul li {
				display: block;
				background: url("http://www.sauropodstudio.com/wp-content/themes/Minos/images/icon/check_alt_16x16.png") no-repeat top left;
			}
		</style>
<div class="pp_list check_alt">
<ul>
<li>Implemented the behavioral pattern that prevents bricktrons from walking through each other. The basic principle is pretty simple, but the impact on the gameplay has deep ramifications. Basically, the entire bricklaying pattern that allowed the Bricktrons to walk from the stockpile, through stairs and corridors, up to the target location had to be rewritten from scratch. The problem is that once Bricktrons cannot walk through each other, they start blocking the path of other Bricktrons, and when there are many dudes working on the same wall for example, incredible traffic jams can occur. The situation is similar to when you walk on the sidewalk and you run into someone going into the opposite direction. Your first reflex is to sidestep, but what if the other person sidesteps as well? Simple game AI will usually get stuck into an endless loop, where both characters can block each other&#8217;s path forever. The solution? Introduce a bit of randomness in the Brickton&#8217;s decisions so that endless loops can&#8217;t happen. Also, a basic message system where Bricktrons can tell their buddies to get the f**k out of their way.</li>
<li>Continued work on the cellular pathfinding system. a few weeks ago we talked about how we grouped pathfinding tiles into large groups, and did a preliminary pathfinding run in the cells rather than in the smaller and much more numerous tiles. The cells now take into account the teleporters, another pathfinding trick we talked about last week where tiles can create shortcuts to any other tile in the universe. So now they can connect to remote cells without any problems.</li>
<li>Progressed in the terrain LOD system. Now faraway terrain mesh is almost indistinguishable from the closer terrain even though it is made of solid colors instead of detailed textures.</li>
<li>Finished the new bricktron character, and created new animations and new items for him to use, here&#8217;s a few pictures of what we&#8217;ve been working on:</li>
</ul>
</div>
<p>*** WARNING: THESE PICTURES ARE NOT IN-GAME GRAPHICS ***</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Weapons.jpg" alt="" title="Weapons" width="555" height="227" class="alignnone size-full wp-image-1340" /><br />
New weapons and new tools. Bricktrons will no longer have to cut trees with hammers.<br />
Includes: Arrows, shields, bows (string missing), swords, hammer, axe and pick.</p>
<hr/></br></p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Pose01.jpg" alt="" title="Pose01" width="555" height="480" class="alignnone size-full wp-image-1347" /><br />
New character model with new combat ready pose. The character hasn&#8217;t been imported in Unity3d yet, so we have to make renders using our modeling software.</p>
<hr/></br></p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Pose02.jpg" alt="" title="Pose02" width="555" height="480" class="alignnone size-full wp-image-1348" /><br />
Part of the &#8220;shoot arrow&#8221; animation. The bow will be a bit complicated to do if we want the string and arrow to animate with the character.</p>
<hr/></br></p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Pose3.jpg" alt="" title="Pose3" width="555" height="480" class="alignnone size-full wp-image-1349" /><br />
A Bricktron climbing a ladder. Damn that animation was hard to pull off. I&#8217;m not very good animating and this one was a bitch. I also just realised that I&#8217;ll have to make one for going DOWN the ladder. AAArg!</p>
<hr/></br></p>
<p>So anyway, that&#8217;s all we can show this week. The rest is just walls of code and lots of frustration. Too bad, I hope it pays off next week!</p>
<p>We&#8217;ve received a first draft of music for our game. Courtesy of Mattias Häggström Gerdt and Josh Welchel. It&#8217;s really great and we can&#8217;t wait to show it to you guys.<br />
</br></br><br />
Speaking of music, here&#8217;s our</p>
<div class="one_half ">
<h5 class="cufon">Soundtrack of the week</h5>
<hr /></br><br />
Intense work requires deep concentration. My favorite in these situations is chill-out ambient music. <i>Carbon Based Lifeforms</i> was introduced to me by <a href="http://www.ambientmusicguide.com/pages/radio/audioPage.php" title="the Ambient Music Guide" target="_blank">the Ambient Music Guide</a> and <i>Interloper</i> is by far my favorite album of theirs.
</div>
<div class="one_half last ">
<div style="text-align:center;">
<p><object width="277" height="420" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsPlaylist6658655194" name="gsPlaylist6658655194"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=66586551&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><object type="application/x-shockwave-flash" data="http://grooveshark.com/widget.swf" width="277" height="420"><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=66586551&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><span><a href="http://grooveshark.com/playlist/Interloper+Carbon+Based+Lifeforms/66586551" title="Interloper - Carbon Based Lifeforms by Germain Couet on Grooveshark">Interloper &#8211; Carbon Based Lifeforms by Germain Couet on Grooveshark</a></span></object></object></p>
</div>
</div>
<p><br class="clear"/><br />
</br></br></p>
<p>That&#8217;s it!<br />
Thanks for reading.</p>
<h5 class="cufon">The Sauropod team</h5>
<hr />
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/dev-diary-number-seven/feed/</wfw:commentRss>
		<slash:comments>52</slash:comments>
		</item>
		<item>
		<title>Dev diary number six : Walk cycles and wood blocks</title>
		<link>http://www.sauropodstudio.com/dev-diary-number-six-walk-cycles-and-wood-blocks/</link>
		<comments>http://www.sauropodstudio.com/dev-diary-number-six-walk-cycles-and-wood-blocks/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 02:26:14 +0000</pubDate>
		<dc:creator>Germain</dc:creator>
				<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1297</guid>
		<description><![CDATA[Ahoy Internets! How was your week? Ours was pretty ordinary. As ordinary as a week can be if you take into account the fact that we&#8217;re living our dream making games for a living. We&#8217;re not complaining. Aside from working really hard, we took part in an epic 200,000 people manifestation right here in Montréal [...]]]></description>
			<content:encoded><![CDATA[<h5 class="cufon">Ahoy Internets!</h5>
<hr/></br></p>
<p>How was your week? Ours was pretty ordinary. As ordinary as a week can be if you take into account the fact that we&#8217;re living our dream making games for a living. We&#8217;re not complaining.</p>
<p>Aside from working really hard, we took part in an epic 200,000 people manifestation right here in Montréal yesterday. That was pretty awesome.</p>
<p>Anyway, here&#8217;s a list of what we accomplished:</p>
<style>
			.pp_list.check_alt ul li {
				display: block;
				background: url("http://www.sauropodstudio.com/wp-content/themes/Minos/images/icon/check_alt_16x16.png") no-repeat top left;
			}
		</style>
<div class="pp_list check_alt">
<ul>
<li>Implemented what we call teleporter nodes for the pathfinding. Basically, these are special tiles in our world that have one (or more) link to another tile that is NOT a neighbor. Usually, tiles only have links to their neighbors, we explained this briefly in our dev diary two weeks ago. Only this time, tiles can have links to any other tile in the universe. For example, this is useful for doors. A door will link the tile in front of it to the tile behind it. There is a tile in the middle on which the door is standing. So when the door is locked, it shuts down the link between the two tiles in question. This same concept can be applied to a ladder.</li>
<li>Continued working on the level of detail for the terrain mesh. One of the biggest performance hog in the game was the total number of vertices in the world. Each vertex take several bytes of memory, and if you multiply this by the number of voxels in the world, it give us a staggeringly large number (in the millions). The problem is that since we use tiling textures, we cannot share vertices between voxels. But that doesn&#8217;t apply to faraway terrain where tiling is less important. We implemented an algorithm that can detect whenever a vertex can be shared and if the object is faraway from the camera, it uses the existing vertex instead of creating a new one.</li>
<li>Started creating a new set of animations for the bricktron. The higher quality model meant that the animations had to be more precise in return, so much of the week was spent polishing walk and run cycles. We also experimented on using sub-animations for specific limbs of the bricktron. Before, we had a special walking cycle for the bricktron carrying a brick. This meant that a lot of animations had to be duplicated, which complicated our work enormously. Now we can tell the bricktron to stop flailing his stupid arms and start holding his brick like a proper bricktron, without making a special animation for him to do it.</li>
<li>Finished a first prototype version of the wooden blocks. This is what the next section is about:</li>
</ul>
</div>
<h5 class="cufon">The wooden blocks</h5>
<p>The wooden block will be the scaffolding of your castle. Wooden blocks are fragile and a ressource that is harvested instead of mined. However, wood is a much more flexible building material. It is lighter, so bricktrons can lift the wooden block and place it at a height of 3 instead of 2. The wood blocks can merge with each other to form wooden beams able to support weight. You can also make columns with wood. This allows you to use wood specifically like scaffolding.</p>
<p>Wood can be transformed into planks that can cover a large floor area. Those planks can be used to fashion any number of useful items like barrels, doors, chests and crates. Here is a demonstration of using wood to build a structure inside a brick wall.</p>
<p><img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/WoodBlock_01.jpg" alt="" title="WoodBlock_01" width="555" height="370" class="alignnone size-full wp-image-1304" /><br />
Logs can be used as colums by simply placing them on level ground.</p>
<hr/></br><br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/WoodBlock_02.jpg" alt="" title="WoodBlock_02" width="555" height="370" class="alignnone size-full wp-image-1305" /><br />
Other logs can be plugged horizontally from the column. Bricktrons can walk on the horizontally placed logs, but cannot place anything on it.</p>
<hr/></br><br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/WoodBlock_03.jpg" alt="" title="WoodBlock_03" width="555" height="370" class="alignnone size-full wp-image-1306" /><br />
A log can be wedged between two plugged logs. It fuses with it&#8217;s neighbors and becomes a beam. A beam is deemed solid enough to support weight since it is supported in two places and you can place things on it. A beam cannot be longer than 6 units.</p>
<hr/></br><br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/WoodBlock_04.jpg" alt="" title="WoodBlock_04" width="555" height="370" class="alignnone size-full wp-image-1307" /><br />
Planks can be created out of logs. Planks can be plugged from a horizontal beam, but cannot support weight except a bricktron.</p>
<hr/></br><br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/WoodBlock_05.jpg" alt="" title="WoodBlock_05" width="555" height="370" class="alignnone size-full wp-image-1308" /><br />
Planks behave exactly like a beam. It fuses with other planks to become longer up to a length of 6. The difference is that planks cannot support bricks or logs, only barrels, chests and bricktrons. However planks are less expensive and allow bricktrons to pass under it just like an arch.</p>
<hr/></br><br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/WoodBlock_06.jpg" alt="" title="WoodBlock_06" width="555" height="370" class="alignnone size-full wp-image-1309" /><br />
A completed scaffold that can support a bricktron and/or some supplies.</p>
<hr/></br><br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/WoodBlock_07.jpg" alt="" title="WoodBlock_07" width="555" height="370" class="alignnone size-full wp-image-1310" /><br />
Brick walls can be built around it to protect the structure. You end up with a simpler, prettier and more useful castle. Hooray!</p>
<hr/></br></p>
<p>That&#8217;s about all of it for the wooden blocks! More about that next week.<br />
</br></br></p>
<div class="one_half ">
<h5 class="cufon">Soundtrack of the week</h5>
<hr /></br><br />
A bit of a flashback from 2001 with this soundtrack. I&#8217;ve mixed a few albums this time to make a playlist that&#8217;s easier to listen to. All from the same artist of course. Enjoy!
</div>
<div class="one_half last ">
<div style="text-align:center;">
<p><object width="277" height="400" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsPlaylist6771829614" name="gsPlaylist6771829614"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=67718296&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><object type="application/x-shockwave-flash" data="http://grooveshark.com/widget.swf" width="277" height="400"><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=67718296&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><span><a href="http://grooveshark.com/playlist/Take+It+Easy+Mint+Royale/67718296" title="Take it easy - Mint Royale by Germain Couet on Grooveshark">Take it easy &#8211; Mint Royale by Germain Couet on Grooveshark</a></span></object></object></p>
</div>
</div>
<p><br class="clear"/><br />
</br></br></p>
<p>Come back next week!<br />
Cheers.</p>
<h5 class="cufon">The Sauropod team</h5>
<hr />
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/dev-diary-number-six-walk-cycles-and-wood-blocks/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Return on the Q&amp;A Session</title>
		<link>http://www.sauropodstudio.com/return-on-the-qa-session/</link>
		<comments>http://www.sauropodstudio.com/return-on-the-qa-session/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 14:17:51 +0000</pubDate>
		<dc:creator>Menekis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1291</guid>
		<description><![CDATA[Just wanted to thanks again all the people that worked hard to make it happen and all the people who joined the IRC session yersterday, it was really fun. Here is the list of questions that was answered and thx to the people who logged it :P. (log from user Gijs) ________ First question round. ________ [...]]]></description>
			<content:encoded><![CDATA[<p>Just wanted to thanks again all the people that worked hard to make it happen and all the people who joined the IRC session yersterday, it was really fun.</p>
<p>Here is the list of questions that was answered and thx to the people who logged it :P. (log from user <strong>Gijs</strong>)</p>
<p>________</p>
<p><span style="text-decoration: underline;"><strong>First question round.</strong></span></p>
<p>________<br />
<span style="color: #5cc151;">Q: Why choose unity 3d?</span><br />
A: (Germain) Before we used Unity we had a software called Virtools. It was pretty old and ugly, so we decided to move to unity because it&#8217;s much more user friendly. You can start making a game for free in like half an hour. It&#8217;s also more modern, and updated more frequently. We tried UDK (unreal dev kit) and it&#8217;s also free but much harder to use. (Francois) So basically we chose it because it was simple and flexible.<br />
________<br />
<span style="color: #5cc151;">Q: Will there be more blocks like steel?</span><br />
A: (Germain) We are definitly designing more blocks. The first one is the wooden block, we&#8217;ve been working on the wooden block this week actually. But yeah since we&#8217;d like you to build castles with a lot of different resources, we&#8217;re going to implent blocks that do better stuff. Steel blocks are a good example, stronger, but much more expensive.<br />
________<br />
<span style="color: #5cc151;">Q: Will there be RTS elements like food or water?</span><br />
A: (Francois) There will be RTS elements, but none of them have been implemented yet. We did think about food and water, but it is not certain if any of them will end up in the game. Food is interesting and it is an important variable in a strategy game. We need to test it first and see how it blends with the rest. Water is intereseting too, but it is complicated. There is a limit to the number of dynamic things we can add to the engine. If we can do water properly, we will. If it turns out to be heavy or too hugly, we may not.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there be infinite map and random island generation?</span><br />
A: (Francois) It is a tricky question. We would like to have a huge and generated world, but it may not be infinite. The thing is, in my opinion, a completely random world is generally not as interesting as a partially random one with some elements that have been designed to be interesting. We have not started that quest yet, but we plan on experimenting a lot in that direction.<br />
________</p>
<p><span style="text-decoration: underline;"><strong>Second question round.</strong></span></p>
<p>________</p>
<p><span style="color: #5cc151;">Q: Can we save our blueprints?</span><br />
A: (Germain) Yes we&#8217;re going to call those prefabs. There will be a maximum size for a prefab, so you can&#8217;t save your entire castle (that would kinda suck, right?). But in the game you will be able to place a prefab somewhere to speed up building. We haven&#8217;t implemented that yet, but we&#8217;ve been thinking about it for a while.<br />
________</p>
<p><span style="color: #5cc151;">Q: I&#8217;d like to know if they have any plans for enemies. Will there be other bricktrons only? Or monsters too?</span><br />
A: (Germain) There will totally be monsters. We want the bricktrons to be cute so having them fight each other wouldn&#8217;t be nice, right? Monsters aren&#8217;t implemented yet, but they&#8217;re an important part of our lore.<br />
________</p>
<p><span style="color: #5cc151;">Q: Whats your favourite restaurant in Montreal? Also what is your favourite part of working on this game?</span><br />
A: (Francois) I really like the Café Santropol. It is a restaurant specialised in big sandwitches. It&#8217;s not to expensive and there are a lot of organic and vegetarian options (I am vegetarian). And there cake is both awesome and huge. What I prefer of working on this project is the small and flexible team, designing a video game is a lot easier if there are just two people involved. For every complex question, you can just turn around and talk about it out loud to get the &#8220;entire&#8221; team&#8217;s opinion.<br />
________</p>
<p><span style="color: #5cc151;">Q: Is it possible to make mines in the mountains and than build a castle inside of it, or will that be a problem for the camera?</span><br />
A: (Germain) This is a really difficult system we&#8217;re talking about. To be able to &#8220;slice&#8221; in the terrainand see what&#8217;s inside is a really difficult system to build. We&#8217;ve been working on it for more than a year and its not ready yet. But it&#8217;s so important to the finished game that we wouldn&#8217;t release the finished game without the ability to see inside the island. So yeah if you can see inside a cave I don&#8217;t see the reason why you couldn&#8217;t build your castle inside one.<br />
________</p>
<p><span style="color: #5cc151;">Q: What about multiplayer?</span><br />
A: (Thierry) A lot of it will depend how the mechanic react in the game. About the dedicated it is sure that it could be a good idea but we aren&#8217;t there yet in development, we want that the game work on a single mode first and then we will develop tools to make it work on multiplayer :)<br />
________</p>
<p><span style="color: #5cc151;">Q: How did you start making the game and what did give insperation to it?</span><br />
A: (Germain) Three years ago, a friend of ours showed us a game prototype he made, where two players would have a castle build out of blocks on spinning platforms. On each side of your castle, there was a cannon with a certain color. If you rotated your castle and shot with a cannon of a certain color, the bricks of the same color that you hit would give you points. It&#8217;s hard to explain, but it was a really fun game. That was our inspiration.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will the day/night-cycle have a big influence, like bonuses for units depending on wether it is day or night, or is it simply cosmetic?</span><br />
A: (Germain) The night and day cycle will definitely not only be cosmetic. We plan on having a completely different ambience and a completely different gameplay. During the night, there won&#8217;t necessarily be more monster (there will be monsters during the day too). But during the night there&#8217;s gonna be magical shit going on. Magic is going to be a big part of our game, and the night&#8217;s going to be when all the magic stuff happens<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there ever be an element of &#8220;machinery&#8221; or traps?</span><br />
A: (Francois) Yes. It is hard to say how much traps will be elaborated, but we are already planning some basic macanism like draw briges<br />
________<br />
<span style="color: #5cc151;">Q: Are you hoping to put music into the game? If so what kind of music are you hoping to have?</span><br />
A: (Germain) We just hired composers. We haven&#8217;t heard what they did yet, we gave them a lot of room for creativity, so it could be anything. Check out Anosou music (mattias haggstrom gerdt) and Josh Welchel to hear what kind of music they make.</p>
<p>________</p>
<p><span style="text-decoration: underline;"><strong>Third question round.</strong></span><br />
Over 9000 messages/sec (seriously).<br />
Germain: &#8220;LOOOL&#8221;</p>
<p>________</p>
<p><span style="color: #5cc151;">Q: Will your base island travel or be moved around?</span><br />
A: (Francois) Islands are static and will stay so for now. Getting the Islands to move would be the work of several months so let me put it that way: it is a dame cool idea and we seriously thought about it, but we do not plan to make it. If we end up updating that game for many years (who knows?) it is one of the things I would like to add.<br />
________</p>
<p><span style="color: #5cc151;">Q: Is there anything that we can do to help you make the game? Any more thoughts on Kickstarker, or similar?</span><br />
A: (Germain) YES, we plan on making a kickstarter really soon. Helping us by donating to the kickstarter is the MOST helpful thing that can ever be done. There is a lot of preparation though, that come in making a kickstarter, because you can only do a Kickstarter in the US. Since we live in Canada, we had to find people that live in the US to help us, and then we had to hire lawyers to sign the right papers so we don&#8217;t go to jail.<br />
________</p>
<p><span style="color: #5cc151;">Q: How did you realize, and what was your reaction to your game&#8217;s sudden explosion in popularity, it&#8217;s obviously been much more popular than you imagined?</span><br />
A: (Germain) I was pretty dumbstuck. I&#8217;m not used to being in the spotlight, so this really helped me build my confidence. (Francois) A friend of mine told me that the game exploded on reddit. I got there and didn&#8217;t belived it at first. In my opinion, I would have been happy to get 1000 views in one month or so.<br />
________</p>
<p><span style="color: #5cc151;">Q: If someone gave you a million dollars to make a &#8220;better&#8221; game, would you pass up the money to keep it just you two or would you hire on more staff to add more features quicker?</span><br />
A: (Germain) I don&#8217;t know about a million dollars, cuz it&#8217;s A LOT of money&#8230; But I definitely want to stay in a small team. This game is our baby and we don&#8217;t want some random dudes working on it. Indie development is all about taking risks, and since I quit my job for this, and now that I know that the game is kinda popular, I will never &#8220;sell out&#8221;.<br />
________</p>
<p><span style="color: #5cc151;">Q: How big is your fanbase at this time, approximately? (in thousands, I guess) And how does that make you feel?</span><br />
A: (Thierry) Very big, each day we receive between 5k-15k (depend of it there is a new blog post ;) ) on the website. I know that it scares me sometimes but it is very encouraging for us at the same time.<br />
________</p>
<p><span style="color: #5cc151;">Q: Do you look at this sites suggestion forum? Did you see anything you like?</span><br />
A: (Francois) Yes, we read everything you write. Or at least we try. We try to spend one hour of every day of work thinking about our game&#8217;s design and we have been working on it for almost two years, so we have already thought about and considered most of the ideas I saw. However, what I really like about the suggestions is seeing how you discuss them. It gives us a feedback about what you think and what is most interesting to you. We did, however, find a couple of new and very interesting ideas. One I can remember quickly is a suggestion about how to make an simple rebuilding system after your castle blowed up.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there be any way for the bricktrons to &#8220;level up&#8221; as in if they spend a lot of time mining will their mining speed increase?</span><br />
A: (Germain) We plan on having a few stats on the Bricktrons, but the game is not going to be based around it. For example, a particular Bricktron might be good as a Knight, but if you want you can change him as a miner, he&#8217;s just going to be slower than a Bricktron who&#8217;s been mining all his life. It&#8217;s going to be simple though, not big complex RPG stats.<br />
________</p>
<p><span style="color: #5cc151;">Q: Are you going to add volcanoes to the game, and if you are is there going to be any uses for the lava/magma?</span><br />
A: (Germain) Yeah, lava could be really cool! We&#8217;d like to be able to program that into the game, but it will be hard.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there be seasons? If so will they have any influence on the gameplay?</span><br />
A: (Germain) There won&#8217;t be a season cycle, but having islands with snow, or a desert island would be nice. We would do that once the basic game is done, we want the grass island to work right first.<br />
________</p>
<p><span style="color: #5cc151;">Q: Is it difficult for you to choose features that you want to add to the game? Or you have a clear vision how the game will look like at time of it&#8217;s release?</span><br />
A: (Thierry) Like every indie games I think that the &#8221;beta&#8221; stage of the game will allow us to decide what to keep, what feature to add, keep or remove. We already have a sort of vision of it but it is sure that more we get in the development the more we consider adding more features.<br />
________</p>
<p><span style="text-decoration: underline;"><strong>Fourth question round.</strong></span></p>
<p>________</p>
<p><span style="color: #5cc151;">Q: I was wondering about how &#8220;structurally sound&#8221; our buildings will have to be. Meaning: will chosing arches over colums, for instance, make ANY difference on how resistant our castles will be? Will a certain material be able to hold more blocks over it than another material (eg. stone and wood)? In other words: apart from the blocks we chose, will there be another way to make our castles &#8220;tougher&#8221; or can we completly ignore physics in the building?</span><br />
A: (Francois) For now the most important thing in making a solid castle is how you alternate your bricks. For example, damage spreads in a regular patern and the way you alternate and mache your bricks influences the way damage spreads in your walls. You can do things like &#8220;damage sinks&#8221; by matching perpandicular walls in your constructions for now, there is no real wheight system so arches are not better thant simple colomns. We plan on making suche a system in the future however<br />
________</p>
<p><span style="color: #5cc151;">Q: What age rating will you guys be aiming for? Not exactly asking for you to make it &#8220;mature for mature gamers such as myself&#8221;, just curious.&#8221;</span><br />
A: (Germain) We will try to keep the game available for everyone. I believe that everyone can enjoy ourgame in the current state. It&#8217;s good for kids, but also has this nostalgic vibe for older people.<br />
________</p>
<p><span style="color: #5cc151;">Q: Do you add hotkeys? And something that everyone is wondering on the forums: how do we produce new bricktrons?</span><br />
A: (Germain) There will probably be hotkeys once the game interface works. You will be able to produce Bricktrons with a bit of magic and some special resources.<br />
________</p>
<p><span style="color: #5cc151;">Q: Is weather affects like Earthquakes, tsunamis, snow, hail, rain being considered? And if so how will it affect our fellow bricktons?</span><br />
A: (Germain) Lol, tsunamis would be pretty harmless to flying islands. We&#8217;d like to add wind storms or thunderstorms, but that will definitely be added later than sooner.<br />
________</p>
<p><span style="color: #5cc151;">Q: How will Bricktrons be trained into Knights, Archers, or Miners?</span><br />
A: (Francois) Well I can&#8217;t go into details, because any kind of system will be subject to tweek, test, and experimentation. The general idea, however, is simple. To make a knight, you first need to craft a set of equipment. So a knight is anyone who wears a armor and a sword. Then there is the training. Exposure to combat will probably improve their fighting skills, but it is all we know for now. The same goes for the archers.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there be some sort of a competitive multiplayer mode, maybe even with a ladder ranking? Or in other words: Have you thought about going into the direction of a competitive RTS like for instance the Starcraft franchise?</span><br />
A: (Thierry) As said before, we aren&#8217;t there yet but I already thought about gathering statistics for each game like game/win/ even maybe acheivements? because the player will already have an account to play multiplayer so why not make it more fun than just a simple log/pass system.<br />
________</p>
<p><span style="color: #5cc151;">Q: Can you tells us more about bricktrons? Like how do we get more of them? Is there anything funny about them?</span><br />
A: (Germain) Like the evolutron wallpaper shows, bricktrons are definitely made out of something like stone, but there&#8217;s a bit of magic in there too. The bricktrons are pretty unlike anything in our own world.<br />
________</p>
<p><span style="color: #5cc151;">Q: Can you live stream when you work form time to time? Is it going to be multiplayer and how many can it be in the same map?</span><br />
A: (Thierry) We could livestream maybe, the problem we have here in Quebec is the bandwith limitation, and we don&#8217;t have make any multiplayer yet so we cannot tell yet :P<br />
________</p>
<p><span style="color: #5cc151;">Q: Did dwarf fortress influenced the development in any way?</span><br />
A: (Francois) We never played dwarf fortress so no, we didn&#8217;t took direct inspiration from it. We recognise, however, that it is a important precursor of the style and completely respect it.<br />
________</p>
<p><span style="color: #5cc151;">Q: How would this rebuilding system work?</span><br />
A: (Germain) Basically, everytime a brick is dislodged/broken, a special phantom block will be added to a second set of blueprints. You can assign bricktrons to this second blueprint so that you have some dudes dedicated to fixing your castle.<br />
________</p>
<p><span style="color: #5cc151;">Q: Did you like Mobe&#8217;s Story?</span><br />
A: (Francois) Yes, We really liked Mobe.<br />
________</p>
<p><span style="text-decoration: underline;"><strong>Fifth question round.</strong></span></p>
<p>________</p>
<p><span style="color: #5cc151;">Q: Will there be any other methods to explore the world? Such as air transport?</span><br />
A: (Germain) We really like airships. We think they&#8217;re awesome.<br />
________</p>
<p><span style="color: #5cc151;">Q:</span><br />
A: (Francois) At first, we thought that most of the game would be singleplayer and story based. After a while however, it apeard to us that there was a great potential in turning the game toward a multiplayer/open game so we took that direction. So for now, we do not plan on having a direct storyline. Having some narrative elements would be cool however and, given the time, we whould like to add some.<br />
________</p>
<p><span style="color: #5cc151;">Q:About mobile versions yet, Unity for Adnroid and iOS?</span><br />
A: (Thierry) Unity3d Indie does not provide mobile export, so depending on the succes of castlestory, maybe. We really want first to make it work for computer and &#8221;puny laptops&#8221;.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there be Bricktron offensive magic users?</span><br />
A: (Germain) There will be magic in the game, but there won&#8217;t be a specific &#8220;Sorcerer&#8221; type of Bricktron. We have this idea that you can create magic effects by combining special magic ressources together. Then you could have a Bricktron running around throwing magic stuff around him, but he won&#8217;t be a magic user specifically.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will you be supporting LAN?</span><br />
A: (Thierry) I guess for the multiplayer, we will work with IP adress, so it should yes.<br />
________</p>
<p><span style="color: #5cc151;">Q: In Francois&#8217; video (development blog 4) we could see a catapult. Is this catapult finished yet? How does it work?</span><br />
A: (Germain) Well, we have been working one the basic mecanism, but nothing is ready to show for now. To be honest, we thought of making it a suprise, but forgot to remove that button for the video. Well hopefully we will get another ocasion for that.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will you plan to translate this game in other languages?</span><br />
A: (Thierry) There is not much text now, but I guess when it will be time to get &#8221;international&#8221; we will ask for help from the community for that.<br />
________</p>
<p><span style="color: #5cc151;">Q: Something I read a lot in the suggestions, was the comment &#8220;maybe they can make an extra mode for this&#8221;. Are you planning to add different gamemodes once the basic game is done? Or will you rather add modding support, and let the community do so themselves?</span><br />
A: (Germain) Gaming modes ideas are being planned, like capture the flag, invasion, freeform building, exploration (singleplayer) but we&#8217;d like to finish the basic gameplay before we start working on that.<br />
________</p>
<p><span style="color: #5cc151;">Q: Could TNT be used to mine out materials?</span><br />
A: (Germain) It&#8217;s a bit extreme, and probably expensive, but why not!<br />
________</p>
<p><span style="color: #5cc151;">Q: Where is Francois&#8217; brother?</span><br />
A: (Francois) He is spending the night at his girlfriend&#8217;s.</p>
<p>________</p>
<p><span style="text-decoration: underline;"><strong>Sixth and last question round.</strong></span></p>
<p>________</p>
<p><span style="color: #5cc151;">Q: How will weapons work within the game, do you plan on cannons, if so how will they be built?</span><br />
A: (Germain) Cannons killed the castles and ended the dark age because they were unbalanced. Catapults didn&#8217;t. Cannons are cool but we have to put a limit in the level of technology accesible. They will most probably not be there.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will they show signs of fear or happiness when presented with different situations? Either through small emote bubbles, or animated emotions (or both?)</span><br />
A: (Francois) Yes, definitly. Giving emotions to the characters is one of our musts.<br />
________</p>
<p><span style="color: #5cc151;">Q: When will the About section on Sauropod Studio be done xD?</span><br />
A: (Germain) Before the Kickstarter! We have a friend who takes really good pictures, we&#8217;ll put them up with a short description soon.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will you introduce a random event system, One that causes Disadvantages and advantages to players?</span><br />
A: (Francois) Too early to say. Thought about it, though.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there be a &#8220;floor&#8221;? Where all the exploded blocks/Bricktron fell and are waiting to be get picked up?</span><br />
A: (Francois) Absolutly not. It is one of the funny thing when you live on a flying islands.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will monsters be able to make/use seige weapons? How nasty can these monsters actualy get?</span><br />
A: (Germain) We haven&#8217;t programmed the monsters yet, but they will have tricks up their sleeves, like being able to climb and being big and strong. We&#8217;ll start by programming a basic monster, then we&#8217;d like to go crazy.<br />
________</p>
<p><span style="color: #5cc151;">Q: Friendly monsters?</span><br />
A: (Germain) Totally, we have good ideas for those.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there be flying unicorns?</span><br />
A: (Germain) No.<br />
________</p>
<p><span style="color: #5cc151;">Q: Do you ever interact with other indie developers? Like those of Starbound or maybe Cube World?</span><br />
A: (Francois) We have a couple of indie friends here in montreal, but our social game develepper network doesn&#8217;t got farther thant that for now. We are really busie, but we whould definetly like to meet more people doing the same things as us.<br />
________</p>
<p><span style="color: #5cc151;">Q: I noticed we&#8217;re not chatting with any sound designer right now, do you guys have one?</span><br />
A: (Germain) We don&#8217;t. If you like to submit a porfolio, send it to contact@sauropodstudio.com<br />
________</p>
<p><span style="color: #5cc151;">Q: What kind of music do you guys like?</span><br />
A: (Germain) The type of music we put every week in our dev diary! Chiptune is good too.<br />
Red: &#8220;&lt;3 Chiptune&#8221;<br />
________</p>
<p><span style="color: #5cc151;">Q: Neutral Bricktron villages?</span><br />
A: (Germain) In the singleplayer part, most probably.<br />
________</p>
<p><span style="color: #5cc151;">Q: Would there be a tech tree, and bricktrons could research better things such as improved bows or better siege weaponry?</span><br />
A: (Germain) Upgrading you stuff would be nice. We&#8217;ll keep it simple though.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there be animals that have specific behaviors, like fleeing from people, eating, staying in certain areas, living in caves and not leaves them, etc?</span><br />
A: (Germain) Yes! we can&#8217;t reveal exactly what kind of critter, but this is a big part of our concept.<br />
________</p>
<p><span style="color: #5cc151;">Q: Will there be different races of bricktrons? Example: Yellow race specialized in building, Red race specialized in fighting, and so on?</span><br />
A: (Germain) Most of your bricktrons will be yellow. it&#8217;s part of their concept. Instead of changing colors, we&#8217;re going to give them different hats and props. This might change in the future, though.<br />
________</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/return-on-the-qa-session/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Dev diary number five : Redesigning the Bricktron character</title>
		<link>http://www.sauropodstudio.com/dev-diary-number-five-redesigning-the-bricktron-character/</link>
		<comments>http://www.sauropodstudio.com/dev-diary-number-five-redesigning-the-bricktron-character/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 23:43:15 +0000</pubDate>
		<dc:creator>Germain</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sauropodstudio.com/?p=1248</guid>
		<description><![CDATA[Hello! It&#8217;s been a slow week. Combine bad weather, an outbreak of flu among the team, and the fact that we&#8217;re all starting new tasks, nothing concrete really got finished this week. We&#8217;re definitely not procrastinating though, here&#8217;s a list of what we&#8217;ve done: Redesigning the game character So a few weeks ago, we decided [...]]]></description>
			<content:encoded><![CDATA[<h5 class="cufon">Hello!</h5>
<hr/></br></p>
<p>It&#8217;s been a slow week. Combine bad weather, an outbreak of flu among the team, and the fact that we&#8217;re all starting new tasks, nothing concrete really got finished this week. We&#8217;re definitely not procrastinating though, here&#8217;s a list of what we&#8217;ve done:</p>
<style>
			.pp_list.check_alt ul li {
				display: block;
				background: url("http://www.sauropodstudio.com/wp-content/themes/Minos/images/icon/check_alt_16x16.png") no-repeat top left;
			}
		</style>
<div class="pp_list check_alt">
<ul>
<li>Worked on the wood brick. Before this week, wood behaved pretty much like a standard brick, but we have different plans. I mean, there is no point to having a brick with a different texture that does the same thing as the standard one, right? At the moment, it&#8217;s nothing we can show visually, but we&#8217;re designing wood to be useful for building the framework of the building. Wood will be less resistant, but will be more flexible as a building material.</li>
<li>Updated the bricktron pathfinding module. In the past weeks, we talked about updating the pathfinding system so that it uses a faster algorithm. This week, we updated the Bricktron so that it can read that new system easier as well. Before, the bricktron would refer to a global script and ask what path it was supposed to take. Now, each Bricktron has his own script that can find the path on it&#8217;s own. It&#8217;s also faster to allow real-time updating of the path, in case there are moving obstacles in the way.</li>
<li>Started working on the Level Of Detail for the terrain mesh. We&#8217;ve been talking about the LOD for the trees since last month, and we finished it. Now we are starting to implement a system that will reduce the number of polygons on the ground mesh. If everything goes well, this should reduce drastically the system requirements, since the terrain mesh is significantly heavier than the trees. The tree LOD was a proof of concept, and now that it works, we can use it on bigger things.</li>
<li>Redesigned the in-game character model of the Bricktron. This is the subject of the next section:</li>
</ul>
</div>
<h5 class="cufon">Redesigning the game character</h5>
<p>So a few weeks ago, we decided to update our asset importing pipeline. Essentially, this meant fixing scale and orientation issues directly in 3dsmax, instead of in Unity. This fixed a lot of our problems, but unfortunately, this meant that we could not use our original character rig. </p>
<p>What&#8217;s a rig? The rig is basically the skeleton of the character model. When we animate the bricktron, we move the bones of the rig, and the &#8220;skin&#8221; (the visible part of the character) follows and deforms appropriately.</p>
<p>The problem is that rigs rarely scale properly. And since we changed our world scale to match the one we use in unity by a factor of 100, the rig completely exploded. Nothing could be salvaged so I had to re-build it from scratch. This gave me the opportunity to rebuild the character model a bit better too!</p>
<p>Here I will explain my personal process for modeling, rigging, texturing and animating character models:</p>
<h5 class="cufon">Sculpting</h5>
<p>I have a rather unorthodox way of modeling characters. First, I start by sculpting a detailed mesh in a software called Sculptris. It&#8217;s ridiculously easy to use and it&#8217;s free, go <a href="http://www.pixologic.com/sculptris/" title="check it out" target="_blank">check it out</a>. It allows me to model away without having to worry about topology and also lets me go into as much detail as I want. This is by far one of the most enjoyable part of the whole process.<br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Part1.jpg" alt="" title="Part1" width="555" height="370" class="alignnone size-full wp-image-1265" /></p>
<hr/></br></p>
<h5 class="cufon">Topology</h5>
<p>Secondly, before importing this into 3dsmax to create a low poly version of the model, I bring the high resolution mesh into paint mode. This is where things get weird.</p>
<p>I proceed to paint the low poly mesh by hand on the high res surface. This allows me to be much more creative with my topology and lets me try different ideas. It&#8217;s much faster too, in my opinion.<br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Part2.jpg" alt="" title="Part2" width="555" height="370" class="alignnone size-full wp-image-1268" /></p>
<hr/></br></p>
<h5 class="cufon">Low-poly modeling</h5>
<p>Now that this is done, I import the model into 3dsmax, and simply recreate the painted mesh with actual polygons. Normally this would be one of the longer parts of the entire process, but in this case, since I planned everything out beforehand, it took me less than half an hour to get a low poly mesh.<br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Part3.jpg" alt="" title="Part3" width="555" height="370" class="alignnone size-full wp-image-1269" /></p>
<hr/></br></p>
<h5 class="cufon">Unwrapping</h5>
<p>Next, We have to UV Unwrap the low poly mesh so we can apply textures on it. This is the part everyone hates. It&#8217;s hard, complicated and you have to deal with stubborn tools that insist on messing up your work. UV Unwrapping consist of cutting out your model so you can lay it out on a flat surface. It is the digital version of <a href="http://www.google.ca/search?hl=en&#038;q=papercraft&#038;ix=seb&#038;ion=1&#038;bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&#038;biw=1280&#038;bih=899&#038;um=1&#038;ie=UTF-8&#038;tbm=isch&#038;source=og&#038;sa=N&#038;tab=wi&#038;ei=pL5jT72rGaTV0QHX2fDHCA" title="papercraft" target="_blank">papercraft</a>.<br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Part41.jpg" alt="" title="Part4" width="555" height="370" class="alignnone size-full wp-image-1272" /></p>
<hr/></br></p>
<h5 class="cufon">Texturing</h5>
<p>Once the model is properly unwrapped, I do a quick pass for texturing. Contrary to everything else I do in Castle Story, the Bricktron model is not painted by hand. I prefer to build a clay-like shader and bake a bit of the lighting information in the texture. This gets me better results. Notice that I don&#8217;t include the face in this model because we plan on having face animations, and this involves having separate objects for the eyes and the mouth.<br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Part5.jpg" alt="" title="Part5" width="555" height="370" class="alignnone size-full wp-image-1273" /></p>
<hr/></br></p>
<h5 class="cufon">Rigging</h5>
<p>After that I have to build a rig (skeleton). This involves placing the pivot points for the joints in the right spots and testing how the knee of the elbow flexes if I place the joints differently. It is a very complicated process to build the bone hierarchy and create the Inverse Kinematic joints. This part took me most of the week, and I had to start over a few times.<br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Part6.jpg" alt="" title="Part6" width="555" height="370" class="alignnone size-full wp-image-1276" /></p>
<hr/></br></p>
<h5 class="cufon">Skinning</h5>
<p>Then we have to skin the low poly mesh to the bones. Basically, this means attaching every vertices (the points where the lines meet to form polygons) to their respective bones. To get a skin-like effect, we attach most vertices to multiple bones with a percentage. For example, a vertex on the top of the head will be attached to the head bone with a weight of 100%. However, a  vertex in the armpit might be attached to the shoulder, to the upper arm and to the spine with a weight of 33% each. If this is done properly, the skin will deform realistically and the character will look good.<br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Part7.jpg" alt="" title="Part7" width="555" height="370" class="alignnone size-full wp-image-1277" /></p>
<hr/></br></p>
<h5 class="cufon">Animating</h5>
<p>Finally we animate the character. This is where i&#8217;m at right now. I havent started this part yet. I will have to create animations for every possible movement of the Bricktron. There may be dozens or hundreds of animation in a finished character, but if I do a good job, they should all blend into each other and the character will look lifelike.<br />
<img src="http://www.sauropodstudio.com/wp-content/uploads/2012/03/Part8.jpg" alt="" title="Part8" width="555" height="370" class="alignnone size-full wp-image-1278" /></p>
<hr/></br></p>
<p>That&#8217;s all of it!</p>
<p>So yeah, this blog post is getting pretty long, so I&#8217;ll wrap it up real quick.</p>
<div class="one_half ">
<h5 class="cufon">Soundtrack of the week</h5>
<hr /></br><br />
This was a pretty depressing week. Sickness, rain and cold. So I guess this calls for an equally dark soundtrack. An all time favorite band of mine, Massive Attack&#8217;s <i>Heligoland</i> has some tunes that really stick in you head for a while, <i>Splitting the Atom</i> and <i>Paradise Circus</i> are good examples.
</div>
<div class="one_half last ">
<div style="text-align:center;">
<p><object width="277" height="400" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gsPlaylist6852590731" name="gsPlaylist6852590731"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=68525907&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><object type="application/x-shockwave-flash" data="http://grooveshark.com/widget.swf" width="277" height="400"><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&#038;playlistID=68525907&#038;bbg=f2f2f2&#038;bth=f2f2f2&#038;pfg=f2f2f2&#038;lfg=f2f2f2&#038;bt=5dc251&#038;pbg=5dc251&#038;pfgh=5dc251&#038;si=5dc251&#038;lbg=5dc251&#038;lfgh=5dc251&#038;sb=5dc251&#038;bfg=ffffff&#038;pbgh=ffffff&#038;lbgh=ffffff&#038;sbh=ffffff&#038;p=0" /><span><a href="http://grooveshark.com/playlist/Massive+Attack+Heligoland/68525907" title="Massive Attack - Heligoland by Germain Couet on Grooveshark">Massive Attack &#8211; Heligoland by Germain Couet on Grooveshark</a></span></object></object></p>
</div>
</div>
<p><br class="clear"/><br />
</br></br></p>
<p>Anyway, that&#8217;s it for us. Don&#8217;t miss the live chat session, like&#8230; right now! Friday the 16th, 8pm Eastern Time, on the CastleStoryOnline forum IRC.</p>
<p>See you next week,<br />
Peace.</p>
<h5 class="cufon">The Sauropod team</h5>
<hr />
]]></content:encoded>
			<wfw:commentRss>http://www.sauropodstudio.com/dev-diary-number-five-redesigning-the-bricktron-character/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>


