<?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>JADBOX: Web Application Musings &#187; Game Development</title>
	<atom:link href="http://www.jadbox.com/category/gamedev/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jadbox.com</link>
	<description>Programming, Visualization and Game Development Theory</description>
	<lastBuildDate>Mon, 16 Jan 2012 01:15:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Functional Dreamers</title>
		<link>http://www.jadbox.com/2012/01/functional-dreamers/</link>
		<comments>http://www.jadbox.com/2012/01/functional-dreamers/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 21:17:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[General Programming]]></category>
		<category><![CDATA[Lifestyle]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1485</guid>
		<description><![CDATA[In the Mayan calendar, 2012 is suppose to be a year of deep cleansing and rebirth for the world. In this spirit, I&#8217;ve been branching out into new fields and broadening my conceptual view of software development. The more I learn about programming fundamentals, the closer I get to a notion of which is considered [...]]]></description>
			<content:encoded><![CDATA[<p><img class="wp-image-1486 alignright" title="mayancalander_t268" src="http://www.jadbox.com/wp-content/uploads/mayancalander_t268.jpg" alt="" width="160" height="160" />In the Mayan calendar, 2012 is suppose to be a year of deep cleansing and rebirth for the world. In this spirit, I&#8217;ve been branching out into new fields and broadening my conceptual view of software development. The more I learn about programming fundamentals, the closer I get to a notion of which is considered &#8220;programming nirvana&#8221;. When I first started listening to people about this concept, I was very skeptical. All I was hearing was &#8220;blah blah no-variables blah higher-order-functions blah&#8221;. Like any programmer, my brain starts crashing as soon as I hear the statement that a language can be productive without variables. How is it possible to make anything meaningful without some internal state within methods and classes? Well, the answer to this is rather complex and outside the scope of this posting. The vehicle driving these concepts is called functional programming (FP), and it&#8217;s intrinsic highly abstract nature is usually very difficult for programmers to swallow. Going into the future though, I hope to post more about functional programming here. However, the real purpose of this article is to acknowledge some of the most astoundingly brilliant scientific minds that are changing my industry. I tip my hat to these gentlemen and scholars:</p>
<h3>Haskell</h3>
<table>
<tbody>
<tr>
<td align="center"><img class="wp-image-1488 aligncenter" title="HaskellBCurry" src="http://www.jadbox.com/wp-content/uploads/HaskellBCurry--150x150.jpg" alt="" width="150" height="150" /></td>
<td align="center"><img class="size-thumbnail wp-image-1489 aligncenter" title="Simon Peyton-Jones" src="http://www.jadbox.com/wp-content/uploads/Simon-Peyton-Jones-150x150.jpg" alt="" width="150" height="150" /></td>
<td align="center"><img class="size-thumbnail wp-image-1490 aligncenter" title="ErikMeijer" src="http://www.jadbox.com/wp-content/uploads/ErikMeijer-150x150.jpg" alt="" width="150" height="150" /></td>
</tr>
<tr>
<td style="text-align: center;"><a title="Haskell Brooks Curry" href="http://www.haskell.org/haskellwiki/Haskell_Brooks_Curry">Haskell B. Curry</a><br />
Father of Haskell foundations</td>
<td style="text-align: center;"><a title="Simon Jones" href="http://research.microsoft.com/en-us/people/simonpj/">Simon Peyton-Jones</a><br />
Implemented Haskell GHC compiler</td>
<td style="text-align: center;"><a title="Erik Meijer" href="http://channel9.msdn.com/Tags/erik+meijer?sort=rating">Erik Meijer</a><br />
Major Supporter and an amazing teacher</td>
</tr>
</tbody>
</table>
<h3>FP Geniuses</h3>
<table>
<tbody>
<tr>
<td align="center"><img class="size-thumbnail wp-image-1493 aligncenter" title="Rich_Hickey" src="http://www.jadbox.com/wp-content/uploads/Rich_Hickey-150x150.jpg" alt="" width="150" height="150" /></td>
<td align="center"><img class="alignleft size-thumbnail wp-image-1494" title="Joe Armstrong" src="http://www.jadbox.com/wp-content/uploads/Joe-Armstrong-150x150.jpg" alt="" width="150" height="150" /></td>
<td align="center"><img class="alignleft size-thumbnail wp-image-1495" title="Martin Odersky" src="http://www.jadbox.com/wp-content/uploads/Martin-Odersky-150x150.jpg" alt="" width="150" height="150" /></td>
</tr>
<tr>
<td style="text-align: center;"><a title="Rich Hickey" href="http://www.computerworld.com.au/article/313989/-z_programming_languages_clojure">Rich Hickey</a><br />
Creator of Clojure and FP pioneer</td>
<td style="text-align: center;"><a title="Joe Armstrong" href="http://www.computerworld.com.au/article/307418/a-z_programming_languages_erlang/">Joe Armstrong</a><br />
Erlang founder</td>
<td style="text-align: center;"><a title="Martin" href="http://www.computerworld.com.au/article/315254/-z_programming_languages_scala">Martin Odersky</a><br />
The brain behind Scala</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td align="center"><img class="alignleft size-thumbnail wp-image-1516" title="C9LecturesDonSymeFSharpP1_512_ch9" src="http://www.jadbox.com/wp-content/uploads/C9LecturesDonSymeFSharpP1_512_ch9-150x150.png" alt="" width="150" height="150" /></td>
<td align="center"><img class="alignleft size-thumbnail wp-image-1520" title="jmcbw" src="http://www.jadbox.com/wp-content/uploads/jmcbw-150x150.jpg" alt="" width="150" height="150" /></td>
<td align="center"><img class="size-thumbnail wp-image-1522 aligncenter" title="ConalElliott" src="http://www.jadbox.com/wp-content/uploads/ConalElliott-150x150.jpg" alt="" width="150" height="150" /></td>
</tr>
<tr>
<td style="text-align: center;"><a title="Don Syme" href="http://en.wikipedia.org/wiki/Don_Syme">Don Syme</a><br />
Inventor of F#</td>
<td style="text-align: center;"><a title="John McCarthy" href="http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)">John McCarthy</a><br />
Lisp and FP pioneer</td>
<td style="text-align: center;"><a title="Conal Elliott" href="http://conal.net/">Conal Elliott</a><br />
Conceptualized Functional Reactive Programming</td>
</tr>
</tbody>
</table>
<p>Honestly, I cannot state my respect for the above individuals enough! They have invested an enormous amount of personal time into an ideal that they are crazily passionate about. Each one of them want to make software development better from both the coder&#8217;s standpoint and platform perspective. As a teaser to these principles, below is a video of Simon Peyton-Jones and Erik Meijer talking about their view of <strong>coding nirvana</strong>: <iframe width="320" height="240" style="height: 288px; width: 512px;" src="http://channel9.msdn.com/Blogs/Charles/Simon-Peyton-Jones-Towards-a-Programming-Language-Nirvana/player?w=512&amp;h=288" frameborder="0" scrolling="no"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2012/01/functional-dreamers/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Flash 11 &#8211; UDK and Unity arrive</title>
		<link>http://www.jadbox.com/2011/10/flash-11-udk-and-unity-arrive/</link>
		<comments>http://www.jadbox.com/2011/10/flash-11-udk-and-unity-arrive/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 23:53:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash/Flex/AIR]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1445</guid>
		<description><![CDATA[With the advent of HTML5/WEBGL gaining popularity, Adobe knew it had to move fast. Within a matter of two years, they designed and implemented one of the largest platform updates I&#8217;ve seen in the industry- Flash Player 11. It sports direct GPU integration allowing for console quality games to be possible through the browser. If [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-1447" title="flash-11" src="http://www.jadbox.com/wp-content/uploads/flash-1.jpg" alt="" width="512" height="222" /></p>
<p>With the advent of HTML5/WEBGL gaining popularity, Adobe knew it had to move fast. Within a matter of two years, they designed and implemented one of the largest platform updates I&#8217;ve seen in the industry- Flash Player 11. It sports direct GPU integration allowing for console quality games to be possible through the browser. If this wasn&#8217;t big enough news, they have been working with Unity and UDK to enable an export format from those [now] game tooling platforms. Below is a video of the Unreal Engine 3 running within the browser:</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/UQiUP2Hd60Y" frameborder="0" allowfullscreen="">Loading video&#8230;</iframe></p>
<p>I&#8217;ll be spending the next couple weeks writing my own engine for Flash 11 and will update here when I have something working. The new API is not as easy compared to the standard display list or even Papervision for that matter, however it allows you almost total control over the GPU shader pipeline. While ActionScript 3 (AS3) can get the job done, I wonder how long before the haXe community starts implementing the new version. I&#8217;m super excited to experience such a radical new set of tools for game development!</p>
<p><strong>Related external articles: </strong><br />
<a href="http://www.epicgames.com/news/unreal-engine-3-supports-adobe-flash/">http://www.epicgames.com/news/unreal-engine-3-supports-adobe-flash/<br />
</a><a href="http://blogs.unity3d.com/2011/02/27/unity-flash-3d-on-the-web/">http://blogs.unity3d.com/2011/02/27/unity-flash-3d-on-the-web/</a><a href="http://www.epicgames.com/news/unreal-engine-3-supports-adobe-flash/"> </a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2011/10/flash-11-udk-and-unity-arrive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAD Update: Social Games</title>
		<link>http://www.jadbox.com/2011/04/jad-update-social-games/</link>
		<comments>http://www.jadbox.com/2011/04/jad-update-social-games/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 19:22:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash/Flex/AIR]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Lifestyle]]></category>
		<category><![CDATA[Showcase]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1411</guid>
		<description><![CDATA[I&#8217;ve decided that I&#8217;ve neglected my blog long enough and decided it was time for an update. Here we go *long breath*&#8230;. Within just the past couple years, I&#8217;ve moved from Michigan to San Francisco and have been working primary in building mobile and Facebook social games that have given rise in the gaming industry. I did [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1417" title="jad" src="http://www.jadbox.com/wp-content/uploads/jad.jpg" alt="" width="288" height="384" />I&#8217;ve decided that I&#8217;ve neglected my blog long enough and decided it was time for an update. Here we go *long breath*&#8230;. Within just the past couple years, I&#8217;ve moved from Michigan to San Francisco and have been working primary in building mobile and Facebook social games that have given rise in the gaming industry. I did a number of projects at <a href="http://www.crowdstar.com/">Crowdstar</a> including Hello City and Mighty Pirates, and now I&#8217;m working on the largest project yet in my career at a newer startup called <a href="http://metamoki.com/">Metamoki</a> (created by <a href="http://metamoki.com/about/">Dave Maestri</a>, founder of <a href="http://apps.facebook.com/mobwars/?mw_ref=website">Mafia Wars</a>). The game development industry in Silicon Valley is rather interesting on a couple of facets. In some ways, it&#8217;s repeating the game design that originated back in the DOS and Commodore days. On the other hand, there are mechanics that are new and &#8216;alien&#8217; in nature. Of course I am referring to the &#8220;social&#8221; aspect of Facebook games. In some FB games, the meaning of social is almost laughable as it doesn&#8217;t really exist. Even the best games in the industry still do not compare to the social aspect of co-op gaming that is rather prevent now in modern commercial games. Recently, big names in the traditional gaming industry are starting their own studios in hopes of breaking into the market. It will be very interesting to see what happens within the next two years.</p>
<p>Aside from the industry as a whole, I&#8217;ve been busy writing my own isometric engine, data structures, tooling, and learning other languages to support my day-to-day work. As soon as I think I&#8217;ve built the fastest possible system, I always find one more way to make the performance that much faster. I&#8217;ve also come to understand computer science more on a fundamental level beyond languages. It really helps to know what is happening behind the scenes when using language core libraries&#8230; just because a language provides a core function doesn&#8217;t mean you should use it! I have written a great deal of code that basically does what Flash already provides, but the level of performance can reach an average of 2-10x improvement (which helps significantly). I&#8217;ve also been following the methodologies of SOLID &lt;<a href="http://en.wikipedia.org/wiki/Solid_(object-oriented_design)">http://en.wikipedia.org/wiki/Solid_(object-oriented_design)</a>&gt; and being mindful of these principles really improves the rate in which I can iterate game concepts and cuts down time to complete maintenance tasks.</p>
<p>I&#8217;ll finally wrap-up and show off the last two games I&#8217;ve developed at my previous work with <a href="http://www.crowdstar.com/">Crowdstar</a>:</p>
<p><img class="alignnone size-full wp-image-1414" title="hellocity_sh" src="http://www.jadbox.com/wp-content/uploads/hellocity_sh.jpg" alt="" width="648" height="345" /></p>
<p>&nbsp;</p>
<p><img class="alignnone size-full wp-image-1413" title="pirates_scr" src="http://www.jadbox.com/wp-content/uploads/pirates_scr.png" alt="" width="606" height="510" /></p>
<p><strong>Visit the games below:</strong></p>
<div class="alignleft"><a href="http://apps.facebook.com/hello-city"><img title="hellocity" src="http://www.jadbox.com/wp-content/uploads/hellocity-251x300.png" alt="" width="251" height="300" /></a><br />
<a href="http://apps.facebook.com/hello-city">http://</a><a href="http://apps.facebook.com/hello-city">apps.facebook.com/hello-city</a></div>
<div class="alignleft">&#8230;</div>
<div class="alignleft"><a href="http://apps.facebook.com/mighty-pirates"><img class="alignnone size-medium wp-image-1416" title="pirates" src="http://www.jadbox.com/wp-content/uploads/pirates-251x300.png" alt="" width="251" height="300" /></a><br />
<a href="http://apps.facebook.com/mighty-pirates">http://apps.facebook.com/mighty-pirates</a></div>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="font-family: Arial, sans-serif; font-size: 12px; line-height: 18px;"><strong style="outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 12px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;">Maestri</strong></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2011/04/jad-update-social-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash component oriented programming</title>
		<link>http://www.jadbox.com/2010/11/flash-component-oriented-programming/</link>
		<comments>http://www.jadbox.com/2010/11/flash-component-oriented-programming/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 02:47:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash/Flex/AIR]]></category>
		<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1399</guid>
		<description><![CDATA[In this article, the author is a bit half-crazed&#8230; bantering that OOP is dead in light of entity/component systems. However, if you can get past that, it&#8217;s a good read on the benefits of composing game objects using only composition (instead of complex inheritance): http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/ An example approach to implement an entity system might be [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="AS3 components" src="http://t3.gstatic.com/images?q=tbn:ANd9GcQIpynKrGWGtyyZtOKPmoYY4n4tbhQcTvotOL-Bu-nxh6cdR_k&amp;t=1&amp;h=167&amp;w=223&amp;usg=__B1uAtYhi1zZp85K_KW_Lp3aONfs=" alt="" width="223" height="167" />In this article, the author is a bit half-crazed&#8230; bantering that OOP is dead in light of entity/component systems. However, if you can get past that, it&#8217;s a good read on the benefits of composing game objects using only composition (instead of complex inheritance):<br />
<a href="http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/">http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/</a></p>
<p><strong>An example approach to implement an entity system might be as follows:</strong></p>
<div class="codecolorer-container actionscript3 twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339966; font-weight: bold;">function</span> example<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span><br />
<span style="color: #009900; font-style: italic;">// find game entities by tags or what components it has.</span><br />
<span style="color: #6699cc; font-weight: bold;">var</span> entity<span style="color: #000066; font-weight: bold;">:</span>Entity = Entity<span style="color: #000066; font-weight: bold;">.</span>getEntity<span style="color: #000000;">&#40;</span>Tags<span style="color: #000066; font-weight: bold;">.</span>SPACE_SHIP<span style="color: #000066; font-weight: bold;">,</span> Tags<span style="color: #000066; font-weight: bold;">.</span>USER_OWNED<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
entity<span style="color: #000066; font-weight: bold;">.</span>health<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">.</span>current<span style="color: #000066; font-weight: bold;">--;</span><br />
entity<span style="color: #000066; font-weight: bold;">.</span>health<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">reset</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">//or entity.health().saveToServer();</span><br />
entity<span style="color: #000066; font-weight: bold;">.</span>mc<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span> = <span style="color: #000000; font-weight:bold;">10</span><span style="color: #000066; font-weight: bold;">;</span><br />
entity<span style="color: #000066; font-weight: bold;">.</span>tooltip<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">// setup a tooltip on this entity.</span><br />
<span style="color: #000000;">&#125;</span></div></div>
<div class="codecolorer-container actionscript3 twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #9900cc; font-weight: bold;">class</span> Entity <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">//Contains getters to all game components (this class could be subclassed)</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> has<span style="color: #000000;">&#40;</span><span style="color: #000066; font-weight: bold;">...</span>args<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=boolean%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:boolean.html"><span style="color: #004993;">Boolean</span></a> <span style="color: #000000;">&#123;</span> <span style="color: #000066; font-weight: bold;">...</span> <span style="color: #000000;">&#125;</span> <span style="color: #009900; font-style: italic;">//args are either Tags or component class references</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> tag<span style="color: #000000;">&#40;</span><span style="color: #004993;">name</span><span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span> tags<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">push</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">name</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#125;</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> static <span style="color: #339966; font-weight: bold;">function</span> getEntity<span style="color: #000000;">&#40;</span><span style="color: #000066; font-weight: bold;">...</span>args<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span>Entity <span style="color: #000000;">&#123;</span> <span style="color: #000066; font-weight: bold;">...</span> <span style="color: #000000;">&#125;</span> &nbsp;<span style="color: #009900; font-style: italic;">//args are either Tags or component class references</span><br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> tags<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=array%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:array.html"><span style="color: #004993;">Array</span></a>=<span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<br />
&nbsp;<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _tooltip<span style="color: #000066; font-weight: bold;">:</span>Tooltip<span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> tooltip<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span>Tooltip <span style="color: #000000;">&#123;</span> <span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span>_tooltip<span style="color: #000000;">&#41;</span> <span style="color: #0033ff; font-weight: bold;">return</span> _tooltip<span style="color: #000066; font-weight: bold;">;</span> <span style="color: #0033ff; font-weight: bold;">else</span> <span style="color: #0033ff; font-weight: bold;">return</span> _tooltip = <span style="color: #0033ff; font-weight: bold;">new</span> Tooltip<span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #000000;">&#125;</span> <span style="color: #009900; font-style: italic;">// could be getters</span><br />
<span style="color: #000066; font-weight: bold;">....</span><br />
<span style="color: #000000;">&#125;</span></div></div>
<div class="codecolorer-container actionscript3 twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><a href="http://www.google.com/search?q=class%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:class.html"><span style="color: #004993;">Class</span></a> Tooltip <span style="color: #000000;">&#123;</span> <span style="color: #009900; font-style: italic;">// multi purpose tooltip class</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> Tooltip<span style="color: #000000;">&#40;</span>entity<span style="color: #000066; font-weight: bold;">:</span>Entity<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span><br />
<span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span>entity<span style="color: #000066; font-weight: bold;">.</span>has<span style="color: #000000;">&#40;</span>Tags<span style="color: #000066; font-weight: bold;">.</span>SPACE_SHIP<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> &nbsp;shipTip<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span>entity<span style="color: #000066; font-weight: bold;">.</span>has<span style="color: #000000;">&#40;</span>Tags<span style="color: #000066; font-weight: bold;">.</span>CHARACTER<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> &nbsp;pirateTip<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span>entity<span style="color: #000066; font-weight: bold;">.</span>has<span style="color: #000000;">&#40;</span><a href="http://www.google.com/search?q=movieclip%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:movieclip.html"><span style="color: #004993;">MovieClip</span></a><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> entity<span style="color: #000066; font-weight: bold;">.</span>mc<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span> tooltip_mc <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> shipTip<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span> <span style="color: #000066; font-weight: bold;">...</span> <span style="color: #000000;">&#125;</span> <span style="color: #009900; font-style: italic;">// position and setup gfx</span><br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> pirateTip<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span> <span style="color: #000066; font-weight: bold;">...</span> <span style="color: #000000;">&#125;</span> <span style="color: #009900; font-style: italic;">// position and setup gfx</span><br />
<span style="color: #000000;">&#125;</span></div></div>
<div class="codecolorer-container actionscript3 twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #9900cc; font-weight: bold;">class</span> Tags <span style="color: #000000;">&#123;</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> static const SPACE_SHIP<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a>=<span style="color: #990000;">&quot;ship&quot;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> static const USER_OWNED<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a> = <span style="color: #990000;">&quot;userShip&quot;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #0033ff; font-weight: bold;">public</span> static const CHARACTER<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a> = <span style="color: #990000;">&quot;character&quot;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span></div></div>
<p><strong>What are your thoughts? Can a pure entity system be implemented in AS3? Are entity systems worth pursuing in AS3 game development?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2010/11/flash-component-oriented-programming/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Unity3D 3.0 released</title>
		<link>http://www.jadbox.com/2010/09/unity3d-3-0-released/</link>
		<comments>http://www.jadbox.com/2010/09/unity3d-3-0-released/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 21:46:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[unity3d]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1390</guid>
		<description><![CDATA[Unity3D 3.0 release information and download location.]]></description>
			<content:encoded><![CDATA[<p>Grab it over at: <a href="http://unity3d.com">http://unity3d.com/<br />
<img class="alignnone" title="Unity3" src="http://download.unity3d.com/unity/whats-new/images/unity-3.0/gallery/1-normal.jpg" alt="" width="514" height="320" /> </a></p>
<p>Changes:</p>
<h3>Android Support:</h3>
<ul>
<li>Support for Android OS is added in this version.</li>
<li>Please note that this an early build and does not represent the final Unity Android quality.</li>
</ul>
<h3>Standard Assets:</h3>
<ul>
<li>Standard packages split into more specialized and smaller packages.</li>
<li><strong>New Image Effects</strong>: Sun Shafts (aka God Rays); Bloom &amp; Lens Flares; Vignetting &amp; Chromatic Aberration; Curve based Color Correction; Depth of Field; Contrast Enhance (aka Unsharp Mask); Geometry Outline; Fisheye; Create Shading.</li>
<li>Improved particle effects.</li>
<li>New Skyboxes with alpha channels to be compatible with Image Effects.</li>
<li>New Editor Scripts for useful shortcuts that are not built-in.</li>
<li>Improved First Person Controller that uses Character Motor script.</li>
<li>New <strong>CharacterMotor</strong> script for use with CharacterControllers.
<ul>
<li>Proper movement on slopes and steps without loosing grounding.</li>
<li>Support for standing on moving platforms with multiple movement transfer modes when jumping off.</li>
<li>Variable height jumping and other jump improvements.</li>
<li>Improved speed and acceleration control.</li>
<li>Customizable sliding and perpendicular jumping can prevent climbing up too steep surfaces.</li>
<li>Detached from input so it can be used for first person, third person, AI, etc.</li>
</ul>
</li>
</ul>
<h3>New Editor Features:</h3>
<ul>
<li><strong>Black is the new 50% gray.</strong> Unity Pro got a new look &#8211; you can toggle it in the preferences.</li>
<li><strong>Procedural Tree Creator</strong>. <a href="http://unity3d.com/support/documentation/Components/class-Tree.html">Documentation</a>.</li>
<li><strong>Integrated Lightmapping</strong> via Illuminate Labs&#8217; Beast. <a href="http://unity3d.com/support/documentation/Manual/Lightmapping.html">Documentation</a>.
<ul>
<li>Automatic generation of lightmap UVs (mesh import setting).</li>
<li>Terrains use the same solution and gain a whole new look when used with skylight.</li>
<li>You no longer use special &#8220;Lightmapped&#8221; shaders; all shaders that interact with lighting can handle lightmaps. Dynamic shadows from characters mix with lightmaps properly.</li>
</ul>
</li>
<li><strong>Object Selector</strong>. We no long show a simple dropdown menu; instead a swanky new window opens up, with previews and everything.</li>
<li><strong>Scene View improvements</strong> (<a href="http://unity3d.com/support/documentation/Manual/Using%20The%20Scene%20View.html">documentation</a>):
<ul>
<li>Search field with interactive highlighting of objects.</li>
<li>Rectangle selection.</li>
<li>Vertex Snapping for precise object placement.</li>
<li>Live previews of material, prefab and texture drags into the scene view.</li>
<li>Improved camera handles, and a camera preview window.</li>
<li>Improved light handles.</li>
<li>More consistent scene navigation controls.</li>
</ul>
</li>
<li><strong>New texture Import Settings dialog</strong> with simpler interface &amp; per-platform import settings.</li>
<li><strong>New Build Settings window</strong> to better support multiple platforms.</li>
<li>New and more organized platform-aware <strong>Player Settings Inspector</strong>.</li>
<li>Curve Popup Window:
<ul>
<li>Any public script variable of type <tt>AnimationCurve</tt> is now exposed in the Inspector as a curve field.</li>
<li>Clicking a curve field opens a popup window with a curve editor, similar to the curve editor in the Animation Window.</li>
<li>Customizable curve fields can also be used in custom editor windows.</li>
</ul>
</li>
<li>Editor checks when new versions are available&lt; and notifies the user.</li>
<li>Texture compression is now multi-threaded for faster texture imports on multi-core computers.</li>
<li>Asset Server Window:
<ul>
<li>History window shows multiline commit descriptions directly in the list instead of tooltips.</li>
<li>Selected history window items are revealed better.</li>
<li>Framing (F key) works for history window file list.</li>
<li>Remember user/password per host name.</li>
<li>Disable merge button in conflict resolution window for non-merge-able items.</li>
</ul>
</li>
<li>Improved error reporting for shaders. Shader Inspector also displays the list of errors &amp; warnings for selected shader.</li>
<li>Implemented snap to grid in Curve Popup Window and Animation View when holding down Control (Command on OS X). Control/Command no longer adds to selection, but Shift can still be used for that.</li>
<li>Editor Console displays total number of errors &amp; warnings in lower right corner.</li>
<li>Improved inspector for movie audio.</li>
<li>Windows: Double-clicking <tt>*.unitypackage</tt> will open and import it.</li>
<li>Editor API has been expanded: <a href="http://unity3d.com/support/documentation/ScriptReference/40_history.html#3.0.0">documentation</a>.</li>
<li>Added option to search for object types instead of names in the project search field.</li>
<li>Can now drag objects onto an array field in the inspector to add them to the array.</li>
<li>Can now drag project folders onto the Project Wizard on Mac OS X to select them.</li>
<li>Nicer display of thumbnails when dragging tabbed editor windows.</li>
<li>Long operations show progress badge on the Unity Dock icon in Mac OS X and on the taskbar button in Windows 7.</li>
<li>Added support for touchpad gestures in OS X editor, for maximizing windows (pinch gesture), and switching camera in scene view (swipe gesture).</li>
<li>Overdraw visualization mode does not do alpha testing now. Alpha tested pixels still cost on the GPU, so better to visualize the real cost.</li>
<li>Animation window can display animation clips from prefab, just click the prefab&#8217;s root game object.</li>
<li>Protect Transform position, rotation, scale against invalid values.</li>
<li>Build Pipeline: Typetrees are removed from serialized files (assets) when possible, this make resource files smaller and loading time faster.</li>
<li>Double-clicking a Game Object in Hierarchy View will frame select it in Scene View.</li>
<li>When going out of Play mode and the Game View is docked together with other tabs, go to last active tab instead of always focusing or creating a Scene View tab.</li>
<li>Now the Hierarchy View has a toolbar too.</li>
<li>API Compatibility setting in player settings lets you choose your mono profile. Use 2.0 if you&#8217;re having trouble with 3rd party assemblies (2.0 not available for web player).</li>
<li>High resolution icon support for players (Windows: 256&#215;256 and 128&#215;128; iOS: 114&#215;114).</li>
<li>Search results in project and scene search are now sorted alphabetically.</li>
<li>Inspector Lock got a real button instead of being hidden in a menu.</li>
<li>Rotate Tool now includes &#8216;Look At Point&#8217; option when Shift + Control/Command keys are held.</li>
<li>Audition audio in SceneView. Scene view search now filters audio sources as well.</li>
<li>Added Web Player build templates.</li>
<li>It is now possible to update Asset Server project to specific revision through command line.</li>
</ul>
<h3>New Graphics Features:</h3>
<ul>
<li><strong>Static Occlusion Culling</strong> using Umbra sPVS.</li>
<li><strong>Geometry Batching</strong>: static and dynamic batching from Unity iPhone 1.7 comes to all platforms.</li>
<li>Rendering paths: <em>(choose in Player Settings or per-Camera; <a href="http://unity3d.com/support/documentation/Manual/RenderingPaths.html">documentation</a>)</em>
<ul>
<li><strong>Deferred Lighting</strong>. A deferred rendering scheme, where realtime lights are not <em>horribly expensive</em> anymore. Lighting cost is only dependent on the number of pixels it touches, so you can have lots of small lights for cheap.</li>
<li><strong>Vertex Lit</strong>. This makes all shaders &amp; lights use fixed function per-vertex lighting. In exchange, this is <em>fast</em>; primarily targeted at mobile platforms and low-end web.</li>
<li><strong>Forward</strong> rendering path had lots of changes compared to Unity 2.x, see <a href="http://unity3d.com/unity/whats-new/unity-3#changes_forward_rendering">below</a>.</li>
</ul>
</li>
<li><strong>Surface Shaders</strong> &#8211; a much easier way to write shaders that interact with lighting. <em>We don&#8217;t have the docs for it yet; you&#8217;ll have to trust us that it&#8217;s awesome!</em></li>
<li><strong>Speed!</strong> We have optimized the rendering code; it&#8217;s often 20-50% faster than 2.6 in the same scene setups.</li>
<li><strong>OpenGL ES 2.0</strong> for iOS and Android. You can use shaders for objects, post-processing effects etc.
<ul>
<li>Regular Cg/HLSL shaders and Unity 3 Surface Shaders will be cross-compiled into GLSL behind the scenes. Resulting GLSL will be optimized as well, because mobile platforms are not very good at optimizing the shaders.</li>
<li>Of course, since mobile platforms are not very powerful, you should use OpenGL ES 1.1 if possible.</li>
</ul>
</li>
<li><strong>Particle Rotation</strong>: <tt>Particle.rotation</tt>, <tt>Particle.angularVelocity</tt> and respective properties in <tt>ParticleEmitter</tt>.</li>
<li><strong>Soft Particles!</strong> When you use Deferred Lighting <em>and</em> have Soft Particles on in Quality Settings, particles will fade out close to intersections with the scene. All built-in Particle shaders (except VertexLit) support this.</li>
<li><strong>Shadowing improvements</strong>: use native shadow maps on Direct3D (faster, less memory, native filtering); much reduced self-shadowing artifacts; Soft shadows support for Point lights; much less &#8220;shadow halos&#8221; around objects for directional light soft shadows; optimized shadows for Forward rendering path (shares depth buffer with main rendering); optimized shaders for directional light shadows.</li>
<li>Terrain: Added slider (under Terrain Settings) to control detail object density.</li>
<li>Vertex shaders for Shader Model 3.0 on Direct3D9 and GLSL on OpenGL can read from textures.</li>
<li>Skybox is rendered after opaque geometry. Improves performance if your application is fillrate bound.</li>
<li>Separate Alpha Blending: use <tt>Blend <em>ColorSrc ColorDest</em>, <em>AlphaSrc AlphaDest</em></tt> in ShaderLab.</li>
<li>In-editor visualization on which objects would use which rendering paths (green/yellow/red for deferred/forward/vertexlit).</li>
<li><tt>#pragma glsl</tt> for compiling Cg/HLSL shaders into GLSL instead of ARB assembly programs on OpenGL.</li>
<li>Compiling shaders to <tt>#pragma target 3.0</tt> allows 512 texture indirections on OpenGL (up from 4).</li>
<li>Development standalone players on Windows have Direct3D PIX events; useful if you use PIX, Intel GPA or other graphics performance tools.</li>
<li>Fog <em>just works</em> on Direct3D with Shader Model 3.0 shaders, on OpenGL with GLSL and on OpenGL ES 2.0. Additionally, there&#8217;s no need to write <tt>#pragma fragmentoption ARB_fog_exp2</tt> in your shaders anymore; just remove that line.</li>
<li><tt>CameraDepthTexture</tt> modes can be combined if you want to get both depth &amp; depth+normals textures.</li>
<li>It is possible to forcibly disable Anisotropic filtering on a texture, even when Quality Settings have anisotropic on all textures. Just set anisotropic slider on the texture to zero.</li>
<li>Uniformly scaled objects will no longer be pre-scaled before rendering &#8211; instead uniform scale is now natively supported by the renderer.</li>
<li>Cg/HLSL <tt>VPOS</tt> (pixel position) pixel shader input semantic is supported now.</li>
<li>Terrain: Expose detail resolution per patch; previously was hardcoded to 8.</li>
<li>Terrain: Improved performance of painting textures &amp; detail objects.</li>
</ul>
<h3>Asset Pipeline Improvements:</h3>
<ul>
<li>Upgraded to FBX SDK 2011.2.</li>
<li>Import support for stepped and linear keys for position curves; improved compression and curve fitting for position curves.</li>
<li>Settings for allowed animation compression error in mesh importer.</li>
<li>Implemented support for importing 1 unit in 3dsmax as 1 unit in Unity (the default is 1 cm in 3dsmax as 1 unit in Unity).</li>
<li>Implemented import of tangent space from FBX, .max, .mb and .ma files.</li>
<li>Switched Cinema4D import process to work in background mode.</li>
<li>Support for Cinema4D R11 on Mac OS X.</li>
<li>Support for FBX2010 format when exporting from Cinema4D.</li>
</ul>
<h3>Audio Improvements:</h3>
<ul>
<li><strong>Filter components</strong>: Reverb, Echo, Distortion, Chorus, High- and Low-pass. Can be applied to each audio source or globally to the listener.</li>
<li><strong>Reverb Zones</strong>: Apply reverb to main audio output, when the listener is within zone(s) defined by a position and min/max radii.</li>
<li><strong>Live output and spectrum data access</strong> from each audio source or globally from the listener.</li>
<li><strong>Tracker/Mod file support</strong>.</li>
<li>Sample-accurate synching. Sources played in the same frame are always started at the exact same point in time. Sources can be delayed and played in the future on an exact sample accurate boundary with <tt>.Play(int64 delay)</tt>.</li>
<li>Surround sound (7.1, 5.1, 4.0, ProLogic DTS) support.</li>
<li>Attenuation curves for volume, spread, panning and lowpass filter factors.</li>
<li>Doppler factor per audio source.</li>
<li>AudioSource prioritization.</li>
<li>iOS latency settings. Choose between Default, Best Performance, Good Latency and Best Latency.</li>
<li>Asset memory is freed after loading audio data.</li>
</ul>
<h3>Physics Improvements:</h3>
<ul>
<li>Upgraded PhysX to 2.8.3.</li>
<li><strong>Cloth and clothing simulation</strong>: use the new <tt>InteractiveCloth</tt>, <tt>SkinnedCloth</tt> and <tt>ClothRenderer</tt> components.</li>
<li><strong>Layer based ignore collisions</strong>: use the Physics inspector or <tt>Physics.IgnoreCollision()</tt>.</li>
<li>Continuous collision detection, to make sure that fast moving colliders will not pass through other colliders. See<tt>Collider.collisionDetectionMode</tt>.</li>
<li>Added <tt>Physics.SphereCast()</tt> and <tt>Physics.CapsuleCast()</tt> to implement volume raycasts.</li>
<li>Added <tt>Rigidbody.SweepTest()</tt> to check if a Rigidbody would collide with anything if moved into a certain direction.</li>
</ul>
<h3>New Scripting Features <a href="http://unity3d.com/support/documentation/Manual/MonoUpgradeDetails.html">(documentation)</a>:</h3>
<ul>
<li><strong>Mono Develop</strong> for script editing and debugging! <a href="http://unity3d.com/support/documentation/Manual/HOWTO-MonoDevelop.html">Documentation</a>.</li>
<li><strong>Upgrade Mono and C# compiler to Mono 2.6.3</strong>. This brings C# 3.5, variable type inference, lambda expressions, LINQ and more.</li>
<li><strong>New UnityScript compiler</strong>: generics, interfaces, structs, type cast operator, anonymous functions/closures, lambda expressions, function types, type inferred array comprehensions and more.</li>
<li>New Boo compiler.</li>
<li>Mono class libraries derived from Silverlight profile for the web player.</li>
<li>Socket security sandbox implementation. Just like Flash (think crossdomain.xml).</li>
<li>WWW class security sandbox implementation. Just like Flash (think crossdomain.xml).</li>
<li>Per-platform script defines. Use UNITY_EDITOR, UNITY_WEBPLAYER, UNITY_IPHONE etc. <a href="http://unity3d.com/support/documentation/Manual/Platform%20Dependent%20Compilation.html">Documentation</a>.</li>
<li>Improved UnityScript compilation speed.</li>
<li>New scripting API functions (<a href="http://unity3d.com/support/documentation/ScriptReference/40_history.html#3.0.0">documentation</a>). Some highlights:
<ul>
<li><tt><a rel="noreferrer">WWW.responseHeaders</a></tt> will contain the response headers received from the HTTP server.</li>
<li><tt>Application.isWebPlayer</tt>.</li>
<li><tt>SystemInfo.graphicsPixelFillrate</tt> to query GPU pixel fillrate. Returns fillrate for about a thousand GPUs out there.</li>
<li><tt>GL.ClearWithSkybox</tt>.</li>
<li>Math functions: <tt>MoveTowards</tt> to <tt>Mathf</tt>, <tt>Vector2</tt>, <tt>Vector3</tt>, and <tt>Vector4</tt>; <tt>Quaternion.RotateTowards</tt>.</li>
</ul>
</li>
<li>Changed <tt>Mathf.Approximately</tt> to not only be useful for comparing very small numbers.</li>
<li>Stacktraces have been prettified, useless information is better stripped from stack traces.</li>
</ul>
<h3>Other Improvements:</h3>
<ul>
<li><strong>Web Player: Java and ClickOnce based installer on Windows</strong> for true one-click installation process.</li>
<li><strong>IME input support</strong> (for languages like Japanese, which require multiple keypresses to enter a character) on Windows, and in the editor and standalone on the Mac.</li>
<li><strong>Support for OS font rendering</strong> (new &#8220;dynamic&#8221; font rendering mode), to save space in distribution and texture sizes. Textures are generated dynamically to contain the characters which are needed.</li>
<li><strong>Documentation</strong>: scripting examples in UnityScript; C# and Boo. Docs for all platforms merged and platform specific parts toggle-able.</li>
<li>Web Player: <tt>UnityObject.js</tt> script makes Web Player embedding easier.</li>
<li>iOS: Added <tt>cpu-waits-gpu</tt> metric in internal profiler; useful for tracking down GPU bound applications.</li>
<li>iOS: Native resolution support for iPhone 4.</li>
<li>iOS: Improved game build sizes.</li>
<li>iOS: Unity Remote 2: It is possible to turn off image syncing between editor and device. Useful for input-critical games.</li>
<li>OS X Web Player: Now supports NPDrawingModelInvalidatingCoreAnimation, as will be required by future versions of Chrome.</li>
<li>Networking: RakNet upgraded to version 3.732</li>
<li>Networking: Connection tester, <tt>Network.TestConnection()</tt>, now reports your NAT implementation type more accurately.</li>
<li>Networking: Exposed <tt>Network.logLevel</tt> so you can change the amount of log output at runtime.</li>
<li>Networking: Added network GUID, used for NAT punchthrough.</li>
<li>Bug Reporter: Supports multiple file attachments; trims attached log files if they are too large.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2010/09/unity3d-3-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rise of the languages</title>
		<link>http://www.jadbox.com/2009/11/rise-of-the-languages/</link>
		<comments>http://www.jadbox.com/2009/11/rise-of-the-languages/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 15:48:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[General Programming]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1366</guid>
		<description><![CDATA[This month has been a very interesting/exciting for programmers of all backgrounds and may be the cornerstone of an industry wide conceptual change. Unity3D, a primarily web based 3D accelerated language, has announced their &#8220;indie&#8221; version of their engine as a free no-strings-attached package. This was a wise choice for the company as Google&#8217;s free [...]]]></description>
			<content:encoded><![CDATA[<p>This month has been a very interesting/exciting for programmers of all backgrounds and may be the cornerstone of an industry wide conceptual change.</p>
<p><img class="size-medium wp-image-1065 alignleft" style="clear:left" title="unity3d logo" src="http://www.jadbox.com/wp-content/uploads/2009/04/unity3d-300x119.gif" alt="unity3d logo" width="182" height="75" />Unity3D, a primarily web based 3D accelerated language, has announced their &#8220;indie&#8221; version of their engine as a free no-strings-attached package. This was a wise choice for the company as Google&#8217;s free O3D alternative has been gaining support and Adobe&#8217;s Flash is rumored to get 3D acceleration soon.</p>
<p><img class="alignleft size-full wp-image-1367" title="logo-udk" src="http://www.jadbox.com/wp-content/uploads/2009/11/logo-udk.gif" alt="logo-udk" width="189" height="69" />In just a week later, Epic Games released the Unreal Development Kit (UDK), a desktop commercial gaming engine, free of change for non-profit usage. UDK, however, does not compete with Unity3D. UDK has an incredible desktop graphics engine that Unity3D would not be able to compare to. However, Unity3D can run over the browser, has a super small file size for compiled games, and is much easier to learn than UDK. It is also worth mentioning that Unity3D is not a direct competitor to Flash either as its tools for 2D development are poor at best and Flash is installed on almost 97% of all computers (while Unity3D is around 6% I think). There has been little news on the haXe side of things in the past month which is a little disappointing considering the potential of the language.</p>
<p><img class="size-full wp-image-1368 alignleft" style="clear: left;" title="Google Go" src="http://www.jadbox.com/wp-content/uploads/2009/11/logo-153x55.png" alt="Google Go" width="153" height="55" />Finally, Google unveiled Go programming language which is tailored towards system and server development and takes advantage of concepts like multi-threading and server clustering of tasks. While this is not terribly exciting for some, this language may reduce much of the massive complexity employed for enterprise systems and servers today.</p>
<p>One of the underlying themes we are seeing here today is that the user community around a platform is king. A developed language may be perfect and boast all kinds of features, but without users, it inevitably fails. As a developer, this is a fantastic change in the industry as it means cheaper or free entry into powerful languages and more help and support being offered to the community from the creators.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2009/11/rise-of-the-languages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Round 2: haXe vs Unity3D vs O3D vs SFML</title>
		<link>http://www.jadbox.com/2009/08/round-2-haxe-vs-unity3d-vs-o3d-vs-sfml/</link>
		<comments>http://www.jadbox.com/2009/08/round-2-haxe-vs-unity3d-vs-o3d-vs-sfml/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 17:52:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[General Programming]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1323</guid>
		<description><![CDATA[The bell rings, and it&#8217;s another showdown between modern drawing APIs. Over the past couple weeks, I have weeded out many of my choices of libraries to now these four. What happened to some of the others? XNA, I determined, was way too XBOX360 centric with its multitasking, shaders, and DRM all tailored to the [...]]]></description>
			<content:encoded><![CDATA[<p>The bell rings, and it&#8217;s another showdown between modern drawing APIs. Over the past couple weeks, I have weeded out many of my choices of libraries to now these four. What happened to some of the others? XNA, I determined, was way too XBOX360 centric with its multitasking, shaders, and DRM all tailored to the platform. Again, my primary aim was to develop on a Windows platform with possibly Mac compatibility. In addition, XNA requires end PC users to install the XNA framework package which only causes additional hassle for the user to install the game. Blade3D is also removed from the list as they recently went under last week, leaving many of their subscribers scratching their heads. Below is my up-to-date list for viable platforms to use for developing my prototypes and AI research:</p>
<p><strong><img class="alignnone size-full wp-image-1064" title="haxe_logo" src="http://www.jadbox.com/wp-content/uploads/2009/04/haxe_logo.gif" alt="haxe_logo" width="252" height="72" /><br />
</strong></p>
<ul>
<li>PROs
<ul>
<li>Faster than AS3 10% to 200% depending on use</li>
<li>Single language to also write the server platform</li>
<li>Flash Player 10 has a huge penetration rate (87% roughly)</li>
</ul>
</li>
<li>CONs
<ul>
<li>Still rather slow</li>
</ul>
</li>
</ul>
<p><strong><img class="alignnone size-medium wp-image-1065" title="unity3d logo" src="http://www.jadbox.com/wp-content/uploads/2009/04/unity3d-300x119.gif" alt="unity3d logo" width="237" height="94" /></strong></p>
<ul>
<li>PROs
<ul>
<li>Faster than Flash by at least 400% in math and drawing APIs</li>
<li>Growing community (10,000+ users)</li>
</ul>
</li>
<li>CONs
<ul>
<li>Costly</li>
<li>Focused around primarily 3D development</li>
<li>Small penetration rate for its player (maybe 5% or less)</li>
</ul>
</li>
</ul>
<p><strong>O3D </strong>by Google Labs<strong><br />
</strong></p>
<ul>
<li>PROs
<ul>
<li>Comparable to Unity3D</li>
<li>Bleeding edge technology</li>
<li>Google&#8217;s supported platform</li>
</ul>
</li>
<li>CONs
<ul>
<li>Buggy and very new</li>
<li>Lacks industrial strength demos</li>
<li>Extremely small player install base (&lt; 1%)</li>
</ul>
</li>
</ul>
<p><strong><img class="alignnone size-full wp-image-1327" title="SFML" src="http://www.jadbox.com/wp-content/uploads/2009/08/SFML.jpg" alt="SFML" width="132" height="84" /></strong><strong>Super Fast Media Library</strong></p>
<ul>
<li>PROs
<ul>
<li>Super fast 2D library (several times faster than the above APIs)</li>
<li>Uses C++ and would allow higher customization and flexibility</li>
</ul>
</li>
<li>CONs
<ul>
<li>Desktop installation / is not loaded by the browser (user barrier)</li>
<li>Only meant for 2D</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2009/08/round-2-haxe-vs-unity3d-vs-o3d-vs-sfml/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HaXe vs Unity3D vs XNA vs others</title>
		<link>http://www.jadbox.com/2009/04/haxe-vs-unity3d-vs-xna-vs-others/</link>
		<comments>http://www.jadbox.com/2009/04/haxe-vs-unity3d-vs-xna-vs-others/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 01:08:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[General Programming]]></category>
		<category><![CDATA[Showcase]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1063</guid>
		<description><![CDATA[For the past couple months, I have been trying to determine the best platform to become my primary language for game AI unit development, shaders, and working on theories of improving the Fridge-A* algorithm. However, choosing the right language has become an arduous task. Hardcore programmers will scream &#8220;C++ is the only way to go!&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>For the past couple months, I have been trying to determine the best platform to become my primary language for game AI unit development, shaders, and working on theories of improving the Fridge-A* algorithm. However, choosing the right language has become an arduous task. Hardcore programmers will scream &#8220;C++ is the only way to go!&#8221; while the elites say &#8220;C is so much better than C++&#8221; and of course there is that one guy who comments &#8220;Why would you use anything other than Assembly language?&#8221; The problem lies in the fact that I am doing this work on my own and <em>do not have XX hours to write an elaborate garbage collector, manage raw threads, or constantly keep track of hundreds of pointers</em>. On the other hand, I must have enough speed and processing power to do the research and development I want. </p>
<p>Some suggest Java as a game platform as the language is respectable. However, graphics rendering speed and the Java gaming community is poor at best in my humble opinion. I did enjoy using BlitzMax back in the day, but the engine is simply not powerful enough to create something near commercial quality. Also, the popularity of the language is low, and I would have little professional use for learning more of the language. Flash AS3 is my primary profession; however, its performance leaves much to be desired at times. On the other side, Silverlight 3 is looking rather nifty, but the API still looks funky and doesn&#8217;t seem like the engine is really mature enough to do any major development in. Perhaps, if Silverlight 4 has near XNA speeds, better shaders and bitmap drawing, and the XAML to C# connection has less oddities in the API&#8230; it would be a contender for my list. Aside from the web platform, I could also go for a super high-end engine like Unreal Engine 3 or Source, but I couldn&#8217;t ever hope to produce something commercial with it because of the insanely expensive licensing (hundreds of thousands we are talking about!). Of course this is also Torque, but I have not been impressed with any of the games made on the platform, and there is a moderate cost to get started with it.</p>
<p>So I eventually evaluated my choices to <a href="http://en.wikipedia.org/wiki/Microsoft_XNA">XNA</a>, <a href="http://en.wikipedia.org/wiki/HaXe">haXe</a>, and <a href="http://en.wikipedia.org/wiki/Unity_(game_engine)">Unity3D</a>:</p>
<p><img class="alignnone size-full wp-image-1066" title="xna logo" src="http://www.jadbox.com/wp-content/uploads/2009/04/xna.gif" alt="xna logo" width="198" height="93" /></p>
<p>Pros:</p>
<ul>
<li>Very fast (Fastest of the choices)</li>
<li>Great shader support</li>
<li>C# is a nice language with advanced OOP support</li>
<li>Xbox and Windows deployment</li>
<li>Free for indie users</li>
</ul>
<p>Cons:</p>
<ul>
<li>Meant really for just the xbox&#8230; there is little support for Windows only deployment and DRM concerns. Also, no luck for Macs.</li>
<li>Unlike the other two, XNA cannot steam which means a smaller audience because of the hassle of downloading</li>
<li>Super new so the community is not that large in general</li>
</ul>
<p><img class="alignnone size-full wp-image-1064" title="haxe_logo" src="http://www.jadbox.com/wp-content/uploads/2009/04/haxe_logo.gif" alt="haxe_logo" width="252" height="72" /></p>
<p>Pros:</p>
<ul>
<li>Compiles out to Flash which 98% of users have already installed</li>
<li>Real-world benchmarks show 2x the speed of Flash 9 using code performance optimizations unique to haXe</li>
<li>From working with haXe, I will use that same knowledge to build javascript and neko scripts in the future if I wanted</li>
<li>I can use my existing knowledge of Flash to accelerate my development</li>
<li>Totally free</li>
</ul>
<p>Cons:</p>
<ul>
<li>No Flash IDE</li>
<li>Also super new with a small community and little to speak of tutorials</li>
<li>Still slower than unity3D and XNA</li>
<li>Currently does not support importing Flash libraries which reduces the amount of existing libraries I can bring over versus just using Flash AS3.</li>
</ul>
<p><img class="alignnone size-full wp-image-1065" title="unity3d logo" src="http://www.jadbox.com/wp-content/uploads/2009/04/unity3d.gif" alt="unity3d logo" width="345" height="137" /></p>
<p>Pros:</p>
<ul>
<li>Fastest of the web 3D engine&#8230; also nice looking</li>
<li>Supports developed on Macs and now Windows</li>
<li>Uses Python for scripting</li>
<li>Supports large number of users for networking and shaders</li>
</ul>
<p>Cons:</p>
<ul>
<li>No free version to try things out (only 30 day trial)</li>
<li>Costly software (the indie license has a terrible roster of features making the Pro version the ideal choice)</li>
<li>Little resources and support for making 2D games&#8230; everything is geared for 3D development. This can be a negative thing for me as I like to develop quick 2D testing scenarios for AI scripts. From what I can see, there are few tools for doing advanced bitmap drawing.</li>
</ul>
<p><strong>Final thoughts:</strong></p>
<p>In truth, I have not made up my mind yet. The pros and cons of all the solutions seem to make every choice the same weight in how it appeals to me. I could forsake all the above options and just go with C++ with Allegro or SDL, but they too have their ups and downs. Allergro is really slow without full DirectX/OpenGL support and SDL seems to have an aged API with little in the future for it. Also, neither of those libraries natively support shaders. XNA would give me all the speed I would need for what I am trying to accomplish, but using a language that streams over the internet would give me a much wider audience.</p>
<p>Well, what do you say readers? Are there other languages I should be looking at? For my next post on the subject, I will try to make some benchmarks in all of the three languages to test their true strengths.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2009/04/haxe-vs-unity3d-vs-xna-vs-others/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Further Reading on Design Patterns</title>
		<link>http://www.jadbox.com/2009/03/further-reading-on-design-patterns/</link>
		<comments>http://www.jadbox.com/2009/03/further-reading-on-design-patterns/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 03:41:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Flash/Flex/AIR]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[General Programming]]></category>
		<category><![CDATA[Lifestyle]]></category>
		<category><![CDATA[Showcase]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1047</guid>
		<description><![CDATA[As a followup on my Wednesday lecture on design patterns, I wanted to post some informative resources for learning more about design patterns outside the next lecture on the topic. Also, I wanted to say thanks for everyone who showed up to hear me rant about code structure (not the most exciting topic in the [...]]]></description>
			<content:encoded><![CDATA[<p>As a followup on my Wednesday lecture on design patterns, I wanted to post some informative resources for learning more about design patterns outside the next lecture on the topic. Also, I wanted to say thanks for everyone who showed up to hear me rant about code structure (not the most exciting topic in the world mind you)!</p>
<p style="text-align: center;"><strong>Design Pattern Definition</strong><br />
<em>In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved. </em><br />
- read more at <a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">WikiPedia</a></p>
<p style="text-align: center;"><strong>MVC </strong><strong>Definition </strong>(the most common principle of Design Patterns)<br />
<img class="aligncenter size-full wp-image-1049" title="graph" src="http://www.jadbox.com/wp-content/uploads/2009/03/mvc.gif" alt="mvc" width="346" height="312" /><br />
&#8220;<em>Model–View–Controller (MVC) is an architectural pattern used in software engineering. Successful use of the pattern isolates business logic from user interface considerations, resulting in an application where it is easier to modify either the visual appearance of the application or the underlying business rules without affecting the other. In MVC, the model represents the information (the data) of the application; the view corresponds to elements of the user interface such as text, checkbox items, and so forth; and the controller manages the communication of data and the business rules used to manipulate the data to and from the model.</em>&#8221;<br />
- read more at <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller">WikiPedia</a></p>
<p><strong>Books:</strong></p>
<ul>
<li><a href="http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1238210502&amp;sr=8-1" target="_blank">Gang of Four&#8217;s original Design Patterns</a></li>
<li><a href="http://www.amazon.com/Advanced-ActionScript-3-Design-Patterns/dp/0321426568/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1238210569&amp;sr=1-2">Advanced ActionScript 3 with Design Patterns</a> (highly recommended)</li>
<li><a href="http://www.amazon.com/ActionScript-3-0-Design-Patterns-Programming/dp/0596528469/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1238210569&amp;sr=1-1">ActionScript 3.0 Design Patterns: Object Oriented Programming Techniques</a></li>
</ul>
<p><strong>AS3 Design Pattern Informational Websites:</strong></p>
<ul>
<li><a href="http://www.as3dp.com/category/principles/" target="_self">www.as3dp.com &#8211; ActionScript 3 Design Pattern Blog</a> (Principles Category)</li>
<li><a href="http://ntt.cc/category/programming/ria-flex/design-patterns">ntt.cc posts on of porting GoF design patterns to AS3</a></li>
</ul>
<p><strong>Flash Design Pattern Frameworks:</strong><br />
<em>(for now, it&#8217;s best to avoid these until you understand the fundamentals of MVC)</em></p>
<ul>
<li><a href="http://www.jadbox.com/flashmvc/">FlashMVC</a></li>
<li><a href="http://puremvc.org/">PureMVC</a></li>
<li><a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm">Cairngorm</a></li>
</ul>
<p><strong>Good Design Priniciples:</strong></p>
<ul>
<li>ALWAYS type your variables (not really design principle but I too often see people doing this still)</li>
<li>An object/MovieClip should contain the actions that it performs (as oppose to objects outside the class forcing it to perform actions)</li>
<li>A class should never be able to &#8220;break&#8221; if the user sets a property or calls a function on it when they are not suppose to. Keep preventive logic in the class that&#8217;s doing the work.</li>
<li>A good chosen design pattern for a problem will not take any longer to implement than not using it with spaghetti code.</li>
</ul>
<p>Feel free to leave comments or email me about any further questions you have about Design Patterns or where to find additional materials on it. Have a great weekend everyone!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2009/03/further-reading-on-design-patterns/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>State of the Developers</title>
		<link>http://www.jadbox.com/2009/03/state-of-the-developers/</link>
		<comments>http://www.jadbox.com/2009/03/state-of-the-developers/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 23:39:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=1006</guid>
		<description><![CDATA[The past week has been extremely busy for me as both work and my personal research projects consume most of my waking moments. However, I believe that it is important more than ever to continue my blogging as it helps me remember the little bits of wisdom I stumble upon and to keep a working [...]]]></description>
			<content:encoded><![CDATA[<p>The past week has been extremely busy for me as both work and my personal research projects consume most of my waking moments. However, I believe that it is important more than ever to continue my blogging as it helps me remember the little bits of wisdom I stumble upon and to keep a working achieve of notes to reflect on. Otherwise these things become forgotten in the hussle of the present. Well without further ado, here are some collected tidbits of information from across the internet:</p>
<p><img class="alignleft size-medium wp-image-1016" title="love_city4" src="http://www.jadbox.com/wp-content/uploads/2009/03/love_city4-300x150.jpg" alt="love_city4" width="300" height="150" /><a href="http://news.quelsolaar.com/#category0">Quelsolaar Blog (http://news.quelsolaar.com/)</a><br />
This is a fantastic blog of Eskil Steenberg who is both an amazing C developer but also humanitarian. He has a fantastic knowledge of <a href="http://www.quelsolaar.com/love/screen_shots.html">shaders</a>, <a href="http://www.quelsolaar.com/technology/enough.html">networking</a>, <a href="http://www.quelsolaar.com/technology/clut.html">color theory</a>, <a href="http://www.quelsolaar.com/verse/index.html">real-time modeling</a>, and <a href="http://www.quelsolaar.com/love/gameplay.html">abstract game theory</a>. His blog covers some of these items as well as some great topics on humanitarian subjects.</p>
<p>Scarygirl being developed by <a href="http://www.touchmypixel.com/">Touchmypixel</a> is a very impressive Flash game. However, I couldn&#8217;t find any information on when it will be released.<br />
<object width="400" height="254" data="http://vimeo.com/moogaloop.swf?clip_id=1142944&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=1142944&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /></object></p>
<p><img class="size-medium wp-image-1009 alignleft" title="studio21" src="http://www.jadbox.com/wp-content/uploads/2009/03/studio21-300x200.jpg" alt="studio21" width="300" height="200" />Shred Nebula, a small game studio in California, released its <a href="http://www.shrednebula.com/design.html">documents (http://www.shrednebula.com/design.html)</a> that details their XBLA game used for pitching to Microsoft. With over 35 pages of amazing conceptual illustrations and information, they where accepted, and their game sold fairly well. Below is a picture of their home brew studio. I love the comfy armchairs for the projector demo setup and the arcade machine in the corner.</p>
<p>Last but not least, I found an interesting video on <a href="http://fora.tv">FORA</a> that talks about the concept of <a href="http://en.wikipedia.org/wiki/Metacognition">metacognition</a>:<br />
<object width="400" height="264" data="http://fora.tv/embedded_player" type="application/x-shockwave-flash"><param name="flashvars" value="webhost=fora.tv&amp;clipid=9126&amp;cliptype=highlight" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="src" value="http://fora.tv/embedded_player" /><param name="allowfullscreen" value="true" /></object></p>
<p>Have any links about the development world that you found interesting? Please do post them below!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2009/03/state-of-the-developers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FlashVars for EVERYONE!</title>
		<link>http://www.jadbox.com/2009/01/flashvars-for-everyone/</link>
		<comments>http://www.jadbox.com/2009/01/flashvars-for-everyone/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 16:49:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash/Flex/AIR]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Showcase]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=810</guid>
		<description><![CDATA[When building utilities that can be used with both Flash and Flex, there are two common hurdles that developers run into. The first one is that Flex does not pull FlashVars the same way that Flash does. This means for ActionScript utilities that rely on html inserted variables will need to be separated into two [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-819" title="flashvarscat" src="http://www.jadbox.com/wp-content/uploads/2009/01/flashvarscat.jpg" alt="flashvarscat" width="230" height="230" />When building utilities that can be used with both Flash and Flex, there are two common hurdles that developers run into. The first one is that Flex does not pull FlashVars the same way that Flash does. This means for ActionScript utilities that rely on html inserted variables will need to be separated into two separate files or need to have flashvars passed into the utility from the outside. Another hurdle is that Flash does not have a global reference to Stage- instead it can only be accessed through display children of stage. This is problematic for utilities that work with Stage as they can only get there reference of stage when it&#8217;s manually passed into the utility as a parameter which can result in an ugly web of stage references being passed around.</p>
<p>However, I finally got the time to develop a workaround that solves both problems with classes FlashVars and StageReference. The tricky part of this implementation was building a utility that could use the class Application but not reference it when it was being built from Flash since it would cause the compiler to fail from the invalid class reference. I worked around this issue by grabbing Application by getDefinitionByName so that the Flash compiler wouldn&#8217;t fail since it was a weak reference.</p>
<p>With Flash, use StageReference.stage = stage in Frame 1 or in your document class&#8217;s constructor. This will give you the global reference to stage and also allow the new class FlashVars to pull flashvars automatically when compiled in a Flash project.</p>
<p>The custom class FlashVars is used in this fashion:</p>
<div class="codecolorer-container actionscript3 twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6699cc; font-weight: bold;">var</span> myFlashvar<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a> = FlashVars<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">parameters</span><span style="color: #000000;">&#91;</span><span style="color: #990000;">&quot;myFlashvar&quot;</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span></div></div>
<p>or</p>
<div class="codecolorer-container actionscript3 twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6699cc; font-weight: bold;">var</span> myFlashvar<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a> = FlashVars<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">parameters</span><span style="color: #000066; font-weight: bold;">.</span>myFlashvar<span style="color: #000066; font-weight: bold;">;</span></div></div>
<p><strong>This usage is exactly the same from Flash and Flex!</strong> No more having to switch from loaderInfo.parameters to Application.application.parameters when porting utilities between Flash and Flex.</p>
<p><strong>Download</strong> (includes StageReference): <strong><a href="http://www.jadbox.com/wp-content/uploads/2009/01/flashvars.zip">flashvars.zip</a></strong></p>
<p><span id="more-810"></span></p>
<p><em>Icon spoofed from <a href="http://icanhascheezburger.com/">icanhascheezburger.com</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2009/01/flashvars-for-everyone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Theory: AI Directives</title>
		<link>http://www.jadbox.com/2008/08/theory-ai-directives/</link>
		<comments>http://www.jadbox.com/2008/08/theory-ai-directives/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 14:52:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Artificial Intelligence (AI)]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=248</guid>
		<description><![CDATA[I have been musing about the best practical way for giving NPCs (non player characters) a clear set of directives for living in its environment using simple AI logic. Based on the notion that any character&#8217;s environment is dynamic, en-queuing a character&#8217;s broad set of daily actions seems impractical. Instead, it would seem more logical [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jadbox.com/wp-content/uploads/2008/08/stenstoutarm-189x300.jpg" alt="" title="NPC" width="189" height="300" class="alignleft size-medium wp-image-249" />I have been musing about the best practical way for giving <a href="http://en.wikipedia.org/wiki/Non-player_character" target="_blank">NPCs (non player characters)</a> a clear set of directives for living in its environment using simple <a href="http://en.wikipedia.org/wiki/Artificial_intelligence" target="_blank">AI</a> logic. Based on the notion that any character&#8217;s environment is dynamic, en-queuing a character&#8217;s broad set of daily actions seems impractical. Instead, it would seem more logical that a NPC is assigned a range of actions they are able or willing to perform and given a rule on when they are &#8216;prone&#8217; to each action based on different weights. For example, instead of having a NPC eat exactly three times a day, the NPC would have a hunger counter and when the value reached so high- they would seek out food. This would allow a higher dynamic range of actions for the character as they could eat more or less during the day based on things like how much physical activity they where doing or if they ate something that reduced their hunger for the next meal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2008/08/theory-ai-directives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Links of the Day</title>
		<link>http://www.jadbox.com/2008/08/flash-links-of-the-day/</link>
		<comments>http://www.jadbox.com/2008/08/flash-links-of-the-day/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 18:47:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash/Flex/AIR]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://www.jadbox.com/?p=214</guid>
		<description><![CDATA[Science&#38;Code: Actionscript optimization Posting on FinalFinal.com on the makings of the Red Invaders Flash Game. Casual Game Development Blog &#8211; Techniques and Algorithms (most theories can be applied to Actionscript)]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-215" title="chain-links-banner" src="http://www.jadbox.com/wp-content/uploads/2008/08/chain-links-banner-150x150.jpg" alt="" width="150" height="150" /><a href="http://scienceandcode.moomug.com/?p=39" target="_blank">Science&amp;Code: Actionscript optimization</a></p>
<p><a href="http://finalfinal.net/blog/2008/07/red-invasion-is-here/" target="_blank">Posting on FinalFinal.com on the makings</a> of the <a href="http://red4k.info/" target="_blank">Red Invaders Flash Game</a>.</p>
<p><a href="http://blog.pettomato.com/index.html" target="_blank">Casual Game Development Blog &#8211; Techniques and Algorithms</a> (most theories can be applied to Actionscript)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jadbox.com/2008/08/flash-links-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

