<?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>BakedOn Entertainment - Online Multiplayer Games &#187; unity3d</title>
	<atom:link href="http://www.bakedon.com/tag/unity3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bakedon.com</link>
	<description></description>
	<lastBuildDate>Wed, 29 Dec 2010 17:47:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Ghostees: Unity3D GUI and Facebook Integration</title>
		<link>http://www.bakedon.com/2010/02/ghostees-unity3d-gui-and-facebook-integration/</link>
		<comments>http://www.bakedon.com/2010/02/ghostees-unity3d-gui-and-facebook-integration/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 03:28:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Ghostees]]></category>
		<category><![CDATA[unity3d]]></category>

		<guid isPermaLink="false">http://www.bakedon.com/?p=78</guid>
		<description><![CDATA[I&#8217;ve spent the last couple of days working with Unity3D&#8217;s GUI system. Here is a screenshot of the character creation screen. I&#8217;ve also been adding Facebook integration.  So far the integration solutions for Unity3D that I&#8217;ve found so far have had huge security holes so I&#8217;ve had to come up with something myself. Not to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent the last couple of days working with Unity3D&#8217;s GUI system. Here is a screenshot of the character creation screen.</p>
<p>I&#8217;ve also been adding Facebook integration.  So far the integration solutions for Unity3D that I&#8217;ve found so far have had huge security holes so I&#8217;ve had to come up with something myself. Not to say it doesn&#8217;t have holes either but at least I tried to keep people from hacking the app <img src='http://www.bakedon.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-78"></span></p>
<p style="text-align: center;"><a href="http://www.bakedon.com/wp-content/uploads/2010/02/2010-02-27-Ghostees-create.png"><img class="size-full wp-image-77 aligncenter" title="2010-02-27-Ghostees-create" src="http://www.bakedon.com/wp-content/uploads/2010/02/2010-02-27-Ghostees-create.png" alt="Early Ghostees Character Create Sreenshot" width="483" height="487" /></a></p>
<p>What I&#8217;ve done is use the .NET Facebook API. I validate the Facebook user and look up their details in SimpleDB and put it all together in a class.  I serialize the class, RSA encrypt the bits salt and sign the data.  I send this as a cookie that gets picked up in the Facebook page and forwarded to Unity3D through JavaScript.</p>
<p>Unity3D takes this blob of data when establishing communication with the UDP server.  The server can then validate the signature, decrypt the data and viola.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bakedon.com/2010/02/ghostees-unity3d-gui-and-facebook-integration/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ghostees: Load Testing The Server</title>
		<link>http://www.bakedon.com/2010/01/ghostees-load-testing-the-server/</link>
		<comments>http://www.bakedon.com/2010/01/ghostees-load-testing-the-server/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 21:01:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Ghostees]]></category>
		<category><![CDATA[MMORPG]]></category>
		<category><![CDATA[unity3d]]></category>

		<guid isPermaLink="false">http://www.bakedon.com/?p=68</guid>
		<description><![CDATA[I created this video while I was testing the connection load of the server. Each capsule you see is an automated connection moving randomly through the world. Since then I have changed them to actual character animations which looks way cooler but I haven&#8217;t taken time to record a video. The server culls down how [...]]]></description>
			<content:encoded><![CDATA[<p>I created this video while I was testing the connection load of the server.  Each capsule you see is an automated connection moving randomly through the world. Since then I have changed them to actual character animations which looks way cooler but I haven&#8217;t taken time to record a video.</p>
<p><span id="more-68"></span>The server culls down how many entities the game client will see so not to overload it.  On the server I have masks that are used to categorize and prioritize what needs to be seen on any client.  Click the video to head on over to youtube.com and watch it in HD.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="292" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/kCp2-nfibzY&amp;hl=en_US&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="292" src="http://www.youtube.com/v/kCp2-nfibzY&amp;hl=en_US&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><!--more-->As of this writing, I&#8217;ve had the server up to 400 concurrent connections @ 50% cpu but in the next build I think I can double that performance.  There are many optimizations I know I can do at this point. Load has a lot to do with the number of entities that can see each other at any one time which corresponds to the number of messages I need to generate.</p>
<p>The chart below is with 95 connected entities that can all literally see each other.</p>
<p><a href="http://www.bakedon.com/wp-content/uploads/2010/01/load-with-95-npc-connections.jpg"><img class="alignnone size-medium wp-image-72" title="Server load with 95 npc connections" src="http://www.bakedon.com/wp-content/uploads/2010/01/load-with-95-npc-connections-279x300.jpg" alt="" width="279" height="300" /></a></p>
<p>As it is in that video, every entity can see every other entity within a vision radius. To achieve the 400 connections, I reduced the vision radius of NPCs and left the larger radius for actual players. This is where the masking comes in.  NPCs don&#8217;t really care about a lot of entities.  They may not care about any entities of their same race for instance.  They may only care about players or perhaps even entities of a race they are at war with.  The mask is simply a set of flags that determine who they care about seeing.  Combine this with an appropriate vision radius.  For instance, NPC&#8217;s don&#8217;t have to see as far as players. They only need to see as far as their maximum aggro radius.  On the other hand, players need to see further so that characters don&#8217;t magically warp in.</p>
<p>World design also plays a part in controlling this.  If you can see a great distance in front of you at any one time, you could potentially see a lot of entities.  Have a look carefully at the design of Orgimmar or Iron Forge in World of Warcraft.  Also think about how dungeon instances are designed. These areas are designed either to manage a high density of players or to keep game latency down to a minimum by carefully managing your visual distance.  This will keep both the client and server snappy.</p>
<p>If you have other ideas for managing this, I&#8217;d love to hear them. Please post a comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bakedon.com/2010/01/ghostees-load-testing-the-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity3d Additive Projector with Alpha Blend</title>
		<link>http://www.bakedon.com/2009/09/unity3d-additive-projector-with-alpha-blend/</link>
		<comments>http://www.bakedon.com/2009/09/unity3d-additive-projector-with-alpha-blend/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 02:34:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[shaders]]></category>
		<category><![CDATA[unity3d]]></category>

		<guid isPermaLink="false">http://www.bakedon.com/?p=61</guid>
		<description><![CDATA[Tonight I worked on learning the basics of Unity3D&#8217;s GUI system.  It&#8217;s suprisingly easy to use. I also worked on projecting zodiac effects onto a plane which was suprisingly difficult. I managed to find a shader that does this [need link!]. http://bakedon.com/unity/projection]]></description>
			<content:encoded><![CDATA[<p>Tonight I worked on learning the basics of Unity3D&#8217;s GUI system.  It&#8217;s suprisingly easy to use.</p>
<p>I also worked on projecting zodiac effects onto a plane which was suprisingly difficult. I managed to find a shader that does this [need link!].</p>
<div class="preview">
<a href="http://bakedon.com/unity/projection">http://bakedon.com/unity/projection</a><br/><br/>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bakedon.com/2009/09/unity3d-additive-projector-with-alpha-blend/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

