<?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>vostopia.com</title>
	<atom:link href="http://blog.vostopia.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.vostopia.com</link>
	<description>a blog about games, avatars and virtual goods</description>
	<lastBuildDate>Tue, 21 Feb 2012 14:26:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Using git flow and hudson to manage releases</title>
		<link>http://blog.vostopia.com/2012/02/21/using-git-flow-and-hudson-to-manage-releases/</link>
		<comments>http://blog.vostopia.com/2012/02/21/using-git-flow-and-hudson-to-manage-releases/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 14:26:16 +0000</pubDate>
		<dc:creator>Tore</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=298</guid>
		<description><![CDATA[I promised the norwegian unity facebook group that I would show how we at vostopia use git flow and hudson to manage the releases of the vostopia avatar api client. There&#8217;s quite a bit of setup to get it going, and &#8230; Continue reading &#8594;]]></description>
			<content:encoded><![CDATA[<p>I promised the <a href="https://www.facebook.com/groups/unitynorge/" class="aga aga_6">norwegian unity facebook group</a> that I would show how we at vostopia use git flow and hudson to manage the releases of the vostopia avatar api client.</p>
<p>There&#8217;s quite a bit of setup to get it going, and this post won&#8217;t cover all the details. Rather it is a high level description of the setup we have. I hope it can be useful for anyone who is considering setting up automated builds for their unity project.</p>
<p><span id="more-298"></span></p>
<h2>Git Flow</h2>
<p><a href="http://nvie.com/posts/a-successful-git-branching-model/" class="aga aga_7">Git flow</a> is a branching model described by Vincent Driessen two years ago. Driessen has also made available a <a href="https://github.com/nvie/gitflow" class="aga aga_8">set of scripts</a> to more easily support this model. I really recommend reading the original git flow blog post to fully understand the branching model, but the main concept is two have two long lived branches, develop and master. Master represents the currently released version, and is always stable, always ready to be released, while develop is the currently-under-development branch, and while it should never be completely broken, it might be unstable.</p>
<p>Git flow also describes how to use feature branches based on the develop branch and hotfixes based on the master branch, but the most important concept is that master is always stable, and develop is merged into master when a new release is being produced.</p>
<h2>Jenkins</h2>
<p><a href="http://jenkins-ci.org/" class="aga aga_9">Jenkins</a> is a continuous integration server (a <a href="http://en.wikipedia.org/wiki/Hudson_(software)#The_Hudson.E2.80.93Jenkins_Split" class="aga aga_10">fork of Hudson</a>). It can be configured to monitor VCS repositories and perform tasks. It is often used to automatically run a test suite or create nightly builds. We use it to automatically build our projects when new commits are pushed.</p>
<h2>Our Setup</h2>
<p>The avatar api project consists of a visual studio project that compiles to a few dlls, which are outputted into a Unity project. The unity project is in turn converted into a unitypackage and uploaded to our website.</p>
<p>Our jenkins server has two jobs for the avatar api project, one for the develop branch and another for the master branch. The jobs are almost identical, in that they fetch the source code, compile the C# project, copy the dlls into the unity project and then runs Unity in <a href="http://unity3d.com/support/documentation/Manual/Command%20Line%20Arguments.html" class="aga aga_11">batch mode</a> to generate a unitypackage.</p>
<p>For the develop branch job, we output the unitypackage to our test server, and integrate it back into other projects that depend on the avatar api, to verify that it&#8217;s working.</p>
<p>Because the master branch is always created from a stable commit in develop, we know that the master branch is always ready to be released. So why wait? The Jenkins server doesn&#8217;t wait, and automatically uploads successful builds of master to http://vostopia.com/developer. This way, our releases are completely managed from git. <img src='http://blog.vostopia.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h2>Version Numbers</h2>
<p>One thing git flow does not automatically provide, is a sensible versioning scheme, but reasonable version numbers are important to keep track of bugs, both internally and externally.</p>
<p>We have a version.txt in the project containing only the version number. Whenever a public release is made (i.e. whenever develop is merged into master), this file is updated, and the release version numbers are simply the contents of this file, e.g. 1.2.</p>
<p>Development builds are numbered the same way, but have postfix uniquely identifying the commit that generated the build. The postfix consists of the number of commits since the last change in version.txt as well as the sha1 short for the commit. Similar to the output of git describe. This gives us internal version numbers like &#8220;1.2.4-6949ec8&#8243;, which can be interpreted as commit &#8220;6949ec8&#8243;, located 4 commits after released version 1.2.</p>
<h2>The future</h2>
<p>The main issue I have with our current system is that it doesn&#8217;t effectively use the release-branch concept of git flow. If fully embracing git flow, you&#8217;d start a release branch off of develop, and only release when the release branch has attained stability. Our Jenkins jobs only listen to changes on specific branches, and therefore won&#8217;t build anything on the short lived release branches. Changing this behaviour is probably next on my deployment wish list.</p>
<p>Another sore thumb is that I currently have to manually update all our dependent projects after a new release of the avatar api. I have made a command line tool that downloads the lastest version from our test/release server and installs it, but it&#8217;s still on a per project basis. I would like to take it one step further, and automatically integrate the newly built avatar api into all dependent projects, run a few tests to verify it&#8217;s working, and push it back onto the git repository. It&#8217;s quite a bit of work to make sure it all works though, and I don&#8217;t know when I&#8217;ll find time to set it up.</p>
<p>My normal choice of server for Jenkins would be a headless linux box, but because we need Unity, we installed Jenkins on one of our retired windows workstations. Getting msysgit and public key authentication to work required setting up Jenkins to run as a real user instead of the normal generated jenkins user. Furthermore, msysgit is a bit flakey, and sometimes the ssh process hangs for no apparent reason, blocking the build.</p>
<p>I do most of my work on a Mac these days, and I&#8217;m considering getting a Mac Mini or something to act as a build server instead. That would give the added bonus of being able to do automated builds of iOS apps as well, but that&#8217;s for another day <img src='http://blog.vostopia.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<ul></ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2012/02/21/using-git-flow-and-hudson-to-manage-releases/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New stuff! EX-Armour and the Clown outfit&#8230;</title>
		<link>http://blog.vostopia.com/2011/12/21/new-stuff-ex-armour-and-the-clown-outfit/</link>
		<comments>http://blog.vostopia.com/2011/12/21/new-stuff-ex-armour-and-the-clown-outfit/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 18:48:11 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Avatar Items]]></category>
		<category><![CDATA[Avatar]]></category>
		<category><![CDATA[Clown]]></category>
		<category><![CDATA[Customisation]]></category>
		<category><![CDATA[EX-Armour]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=292</guid>
		<description><![CDATA[Just in time for Christmas, some new gear! Get suited up in the EX-Armour or get silly with the Clown outfit =)]]></description>
			<content:encoded><![CDATA[<p>Just in time for Christmas, some new gear! Get suited up in the EX-Armour or get silly with the Clown outfit =)</p>
<p><a href="http://blog.vostopia.com/wp-content/uploads/2011/12/blog-ex-armour-clown.png" ><img class="aligncenter size-full wp-image-294" title="blog---ex-armour-clown" src="http://blog.vostopia.com/wp-content/uploads/2011/12/blog-ex-armour-clown.png" alt="" width="800" height="802" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2011/12/21/new-stuff-ex-armour-and-the-clown-outfit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choices, choices&#8230;</title>
		<link>http://blog.vostopia.com/2011/12/08/choices-choices/</link>
		<comments>http://blog.vostopia.com/2011/12/08/choices-choices/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 16:30:02 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Avatar]]></category>
		<category><![CDATA[Customisation]]></category>
		<category><![CDATA[Screengrabs]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=286</guid>
		<description><![CDATA[Coming soon =)]]></description>
			<content:encoded><![CDATA[<p>Coming soon =)</p>
<p><a href="http://blog.vostopia.com/wp-content/uploads/2011/12/blog-incoming-options.png" ><img class="aligncenter size-full wp-image-287" title="Incoming Options" src="http://blog.vostopia.com/wp-content/uploads/2011/12/blog-incoming-options.png" alt="" width="668" height="470" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2011/12/08/choices-choices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video Interview with Bjarne at Unite</title>
		<link>http://blog.vostopia.com/2011/10/13/video-interview-with-bjarne-at-unite/</link>
		<comments>http://blog.vostopia.com/2011/10/13/video-interview-with-bjarne-at-unite/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 23:17:06 +0000</pubDate>
		<dc:creator>Bjarne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=280</guid>
		<description><![CDATA[While we were all out in San Francisco for Unite, Bjarne was interviewed by design3. Check out the video over at youtube: Interview with Bjarne at Unite]]></description>
			<content:encoded><![CDATA[<p>While we were all out in San Francisco for Unite, Bjarne was interviewed by design3. Check out the video over at youtube: <a href="http://www.youtube.com/watch?v=Uw2KabuHo8c&amp;feature=youtu.be" class="aga aga_13">Interview with Bjarne at Unite</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2011/10/13/video-interview-with-bjarne-at-unite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unite 2011</title>
		<link>http://blog.vostopia.com/2011/10/03/unite2011/</link>
		<comments>http://blog.vostopia.com/2011/10/03/unite2011/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 22:35:13 +0000</pubDate>
		<dc:creator>Tore</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=268</guid>
		<description><![CDATA[Unite 2011 is over. It was a wild ride and I&#8217;m now chilling out in a cool little cafe on Polk Street trying to process it all. It&#8217;s really great to have these yearly events reminding us how much has &#8230; Continue reading &#8594;]]></description>
			<content:encoded><![CDATA[<p>Unite 2011 is over. It was a wild ride and I&#8217;m now chilling out in a cool little cafe on Polk Street trying to process it all.</p>
<p>It&#8217;s really great to have these yearly events reminding us how much has happened in the last year. Back at Unite 2010 we had a barely stitched together website with one game and loading avatars. The lack of a good demo made it difficult to express our ideas and vision, and although we had a great time, we came back without any solid leads.</p>
<p>This year was completely different. Having launched Velocipede and commercialized our portal really helped on our credibility, but more importantly, we made a demo running on iOS and Android showing off some of what the avatar system can do. Walking around the floor armed with a tablet made it so much more easy to explain what we do and how we can provide something awesome to developers. Unfortunately, there was no organized business speed dating this year, but just walking around talking to people and showing our demo worked pretty well and gave us some new leads.</p>
<div id="attachment_276" class="wp-caption alignnone" style="width: 650px"><a href="http://blog.vostopia.com/wp-content/uploads/2011/10/photo.jpg" ><img class="size-large wp-image-276" title="photo" src="http://blog.vostopia.com/wp-content/uploads/2011/10/photo-1024x764.jpg" alt="Mike &amp; Tore Working" width="640" height="477" /></a><p class="wp-caption-text">Mike &amp; Tore hard at work on the finishing touches of our Unite2011 demo</p></div>
<p><span id="more-268"></span></p>
<p>I talked to a whole lot of people doing everything under the sun (and a few things more) with Unity. Interior design software, instructional serious games, Christian cartoons for kids, 2.5D sidescroller engine, and a lot more. It&#8217;s really incredible how much cool stuff people are making with Unity, and I&#8217;m really psyched about trying to help some of those guys getting customizable avatars in their creations.</p>
<p>Of all the crazy projects, Code Hero of Primer Labs really stands out. It&#8217;s an ambitious project trying to teach _everyone_ how to program through a game where you gradually uncover ways to modify your environment through scripting. We met Alex at Unite last year, and in some ways he was kind of in the same position as us. Lots of passion and ideas but lacking demos to effectively show what he was making. This year he was on home grounds armed with a really nice demo of Code Hero and enough passion to power a small village. I&#8217;ve always loved coding games, from robowars to Colobot, and I really hope that they&#8217;ll succeed in making everybody programmers.</p>
<p>Now the rest of the team has headed home to keep building an awesome system, and get it on the Unity Asset Store. I&#8217;ll be in San Francisco another week before heading to Austin for GDC Online and doing the entire conference thing again!</p>
<p>Thanks Unity and everyone who was at the conference for a good time at Unite2011, and see you all next year,</p>
<p>-Bjarne</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2011/10/03/unite2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with animation layers</title>
		<link>http://blog.vostopia.com/2011/08/31/fun-with-animation-layers/</link>
		<comments>http://blog.vostopia.com/2011/08/31/fun-with-animation-layers/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 16:09:07 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Avatar]]></category>
		<category><![CDATA[Proportions]]></category>
		<category><![CDATA[Scale]]></category>
		<category><![CDATA[Screengrabs]]></category>
		<category><![CDATA[Tests]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=261</guid>
		<description><![CDATA[I&#8217;m currently working on some example presets to showcase the flexibility of our avatar system.  Still some kinks to work out, but it&#8217;s pretty cool to see how it&#8217;s holding up so far! These are screengrabs from the Unity player, &#8230; Continue reading &#8594;]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently working on some example presets to showcase the flexibility of our avatar system.  Still some kinks to work out, but it&#8217;s pretty cool to see how it&#8217;s holding up so far!</p>
<p><a href="http://blog.vostopia.com/wp-content/uploads/2011/08/Unity_ScaleTests_Labeled.png" ><img class="alignleft size-full wp-image-262" title="Unity_ScaleTests_Labeled" src="http://blog.vostopia.com/wp-content/uploads/2011/08/Unity_ScaleTests_Labeled.png" alt="" width="1000" height="319" /></a></p>
<p>These are screengrabs from the Unity player, it&#8217;s pretty hypnotic&#8230;hmm, will see if we can post the actual demo soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2011/08/31/fun-with-animation-layers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Survivors &#8211; Basic hostile plant progress</title>
		<link>http://blog.vostopia.com/2011/08/26/survivors-basic-hostile-plant-progress/</link>
		<comments>http://blog.vostopia.com/2011/08/26/survivors-basic-hostile-plant-progress/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 14:23:26 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Survivors]]></category>
		<category><![CDATA[Ambient Occlusion]]></category>
		<category><![CDATA[Hostile]]></category>
		<category><![CDATA[Plant]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=256</guid>
		<description><![CDATA[Still need to come up with a name for these guys&#8230; Here&#8217;s the basic mob showing their ambient occlusion and colour map passes.]]></description>
			<content:encoded><![CDATA[<p>Still need to come up with a name for these guys&#8230;</p>
<p><a href="http://blog.vostopia.com/wp-content/uploads/2011/08/SG_BasicPlant00_s.png" ><img class="aligncenter size-full wp-image-257" title="SG_BasicPlant00_s" src="http://blog.vostopia.com/wp-content/uploads/2011/08/SG_BasicPlant00_s.png" alt="" width="600" height="300" /></a>Here&#8217;s the basic mob showing their ambient occlusion and colour map passes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2011/08/26/survivors-basic-hostile-plant-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Man up with a moustache!</title>
		<link>http://blog.vostopia.com/2011/08/19/man-up-with-a-moustache/</link>
		<comments>http://blog.vostopia.com/2011/08/19/man-up-with-a-moustache/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 16:59:41 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[dali]]></category>
		<category><![CDATA[facial hair]]></category>
		<category><![CDATA[fumanchu]]></category>
		<category><![CDATA[goatee]]></category>
		<category><![CDATA[handlebar]]></category>
		<category><![CDATA[horseshoe]]></category>
		<category><![CDATA[hot-blooded sideburns]]></category>
		<category><![CDATA[magnum]]></category>
		<category><![CDATA[moustaches]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=249</guid>
		<description><![CDATA[A selection of new facial hair options have been added, how will you wear yours?  ={D Added: Fu Manchu, Horseshoe, Dali, Plumber, Magnum, Goatee*, Hot-Blooded sideburns, Handlebar (not pictured) *What was previously mislabelled as &#8220;Goatee&#8221; has been corrected as &#8220;Van &#8230; Continue reading &#8594;]]></description>
			<content:encoded><![CDATA[<p>A selection of new facial hair options have been added, how will you wear yours?  ={D</p>
<p><a href="http://blog.vostopia.com/wp-content/uploads/2011/08/Facial-Hair-Release-1.png" ><img class="aligncenter size-full wp-image-250" title="Facial-Hair-Release-1" src="http://blog.vostopia.com/wp-content/uploads/2011/08/Facial-Hair-Release-1.png" alt="" width="600" height="123" /></a><span id="more-249"></span>Added:</p>
<p>Fu Manchu, Horseshoe, Dali, Plumber, Magnum, Goatee*, Hot-Blooded sideburns, Handlebar (not pictured)</p>
<p>*What was previously mislabelled as &#8220;Goatee&#8221; has been corrected as &#8220;Van Dyke&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2011/08/19/man-up-with-a-moustache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update to Wingsuit Challenge! Now v2.0!</title>
		<link>http://blog.vostopia.com/2011/08/10/update-to-wingsuit-challenge-now-v2-0/</link>
		<comments>http://blog.vostopia.com/2011/08/10/update-to-wingsuit-challenge-now-v2-0/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 12:33:17 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Wingsuit Challenge]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=243</guid>
		<description><![CDATA[It&#8217;s live and the leaderboards have been reset! Head here to play:  http://vostopia.com/en/wsc/play/ More info below on the new changes: V2.0 Release notes: Introduced stamina bar Tricks now use up your stamina bar (Barrel rolls are more tiring than forward &#8230; Continue reading &#8594;]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s live and the leaderboards have been reset!</p>
<p>Head here to play:  <a title="http://vostopia.com/en/wsc/play/" href="http://vostopia.com/en/wsc/play/"  target="_self">http://vostopia.com/en/wsc/play/</a></p>
<p>More info below on the new changes:</p>
<p><span id="more-243"></span><strong>V2.0 Release notes:</strong></p>
<ul>
<li>Introduced stamina bar</li>
<li>Tricks now use up your stamina bar (Barrel rolls are more tiring than forward tucks)</li>
<li> The stamina bar recharges over time</li>
<li>Yellow = you have enough energy for a forward tuck</li>
<li>Green = you have enough energy for a barrel roll</li>
<li>Small reduction in points earned for flight duration</li>
<li>The secret route <em>should</em> now be the only legimate way to get to the cruise ship</li>
<li>Lighting tweaks</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2011/08/10/update-to-wingsuit-challenge-now-v2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Incoming update for Wingsuit Challenge</title>
		<link>http://blog.vostopia.com/2011/07/08/incoming-update-for-wingsuit-challenge/</link>
		<comments>http://blog.vostopia.com/2011/07/08/incoming-update-for-wingsuit-challenge/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 16:12:53 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Wingsuit Challenge]]></category>

		<guid isPermaLink="false">http://blog.vostopia.com/?p=237</guid>
		<description><![CDATA[Even with all the excitement about the Tour de France and Velocipede, we haven&#8217;t forgotten about Wingsuit Challenge!  We&#8217;ve been working on implementing stamina to the game&#8230;now tricks will use this up, but it does recharge over time!  We hope &#8230; Continue reading &#8594;]]></description>
			<content:encoded><![CDATA[<p>Even with all the excitement about the Tour de France and Velocipede, we haven&#8217;t forgotten about Wingsuit Challenge!  We&#8217;ve been working on implementing stamina to the game&#8230;now tricks will use this up, but it does recharge over time!  We hope to be rolling out the update in the near future, watch out for it! =)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vostopia.com/2011/07/08/incoming-update-for-wingsuit-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

