<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>H1DD3N.R350URC3 &#187; Flash</title>
	<atom:link href="http://blog.hexagonstar.com/tag/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hexagonstar.com</link>
	<description>turn-based glory and pixel pleasure</description>
	<lastBuildDate>Sat, 10 Dec 2011 02:45:06 +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>Ultima IV &#8211; The Flash Version</title>
		<link>http://blog.hexagonstar.com/ultima-iv-the-flash-version/</link>
		<comments>http://blog.hexagonstar.com/ultima-iv-the-flash-version/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 04:38:53 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Fantasy]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[lord british]]></category>
		<category><![CDATA[RPG]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=1733</guid>
		<description><![CDATA[Oldschool RPG fans can now enjoy playing the classic Ultima IV: Quest of the Avatar directly on the web via this impressive Flash port. The game is an almost one-to-one conversion of the 1986 original but the author Blair Leggett also made some enhancements to it. Flash Version of Ultima IV: Quest of the Avatar]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.hexagonstar.com/wp-content/uploads/Ultima4_SS2.jpg" rel="lightbox[1733]"><img class="alignright size-medium wp-image-1734" title="Ultima4_SS2" src="http://blog.hexagonstar.com/wp-content/uploads/Ultima4_SS2-220x132.jpg" alt="" width="220" height="132" /></a>Oldschool RPG fans can now enjoy playing the classic <strong>Ultima IV: Quest of the Avatar</strong> directly on the web via <a href="http://www.phipsisoftware.com/ultima4.html" target="_blank">this impressive Flash port</a>. The game is an almost one-to-one conversion of the 1986 original but the author Blair Leggett also made some enhancements to it.</p>
<p><a href="http://www.phipsisoftware.com/ultima4.html" target="_blank">Flash Version of Ultima IV: Quest of the Avatar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/ultima-iv-the-flash-version/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting up Eclipse for Flash Development</title>
		<link>http://blog.hexagonstar.com/setting-up-eclipse-for-flash-development/</link>
		<comments>http://blog.hexagonstar.com/setting-up-eclipse-for-flash-development/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 18:49:31 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Random Picks]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[No blue Legos here!]]></category>
		<category><![CDATA[Steve Jobs sucks]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=1615</guid>
		<description><![CDATA[This guide explains how to set up a Flash and Flex development environment with Eclipse, FDT, Flash Builder and a couple of other editors that you want for ActionScript coding and Flash development with style! This guide is based on Windows because that&#8217;s what I&#8217;m using but I&#8217;m sure you Mac and Linux guys can [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1683" title="tufdesetupbanner" src="http://blog.hexagonstar.com/wp-content/uploads/tufdesetupbanner.jpg" alt="" width="510" height="160" /></p>
<p>This guide explains how to set up a Flash and Flex development environment with Eclipse, FDT, Flash Builder and a couple of other editors that you want for ActionScript coding and Flash development with style! This guide is based on Windows because that&#8217;s what I&#8217;m using but I&#8217;m sure you Mac and Linux guys can figure out the parts that differ on your OS! Let&#8217;s get started &#8230;</p>
<p><span id="more-1615"></span></p>
<hr /><strong>INGREDIENTS</strong></p>
<p><strong><br />
</strong></p>
<ul>
<li><strong>Java Runtime</strong> &#8211; In case you don&#8217;t have it installed yet. Choose either the <a href="http://www.java.com/en/download/manual.jsp" target="_blank">Standard Java Runtime from Sun</a> or  &#8211; my recommendation &#8211; the <a href="http://www.oracle.com/technology/software/products/jrockit/index.html" target="_blank">JRockit Runtime from Oracle</a>. The latter is a highly optimized version of the Java Runtime. It&#8217;s free but you have to register an account at Oracle to download it.</li>
<li><a href="http://download.eclipse.org/eclipse/downloads/" target="_blank"><strong>Eclipse Platform Runtime Binary</strong></a> &#8211; We want the bare bones version without all the additional junk. We&#8217;re going to add the stuff we need later. Don&#8217;t worry! It&#8217;ll be a smooth ride if you follow this guide.</li>
<li><a href="http://www.fdt.powerflasher.com/developer-tools/fdt-3/home/" target="_blank"><strong>Powerflasher FDT</strong></a> &#8211; The best tool for ActionScript coding &#8230; with a price tag! But you don&#8217;t want to skimp on professional tools for professional work, do you?! We&#8217;re going to install this from within Eclipse later!</li>
<li><a href="http://labs.adobe.com/technologies/flashbuilder4/" target="_blank"><strong>Flash Builder PlugIn</strong></a> &#8211; I&#8217;d list this as optional since the only advantage of it over FDT is currently it&#8217;s visual editor. You don&#8217;t want to code ActionScript in this once you&#8217;ve used FDT, believe me!</li>
<li> <strong>Other Eclipse PlugIns: HTML-, JavaScript-, XML-, CSS- Editors, Apache Ant (via JDT)</strong>. These are all tools we need every now and then. Gratifyingly, the Eclipse project provides excellent versions of all these.</li>
<li><strong>Even more Eclipse PlugIns:</strong> <a href="http://subclipse.tigris.org/" target="_blank"><strong>Subclipse</strong></a> and <strong><a href="http://www.eclipse.org/mylyn/" target="_blank">Mylyn</a></strong>. Both optional! Subclipse for accessing SVN repositories and Mylyn as a great coding task tool. Both get installed later via Eclipse.</li>
</ul>
<p><strong>Other Tools you might need/want:</strong></p>
<ul>
<li><a href="http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK" target="_blank"><strong>Flex SDK</strong></a> &#8211; FDT ships with it&#8217;s own Flex SDK but they are usually a step behind the latest version so I prefer to use SDKs that stand on their own regardless of what FDT ships. Be sure to pick the &#8216;Adobe Flex SDK&#8217;, not the &#8216;Open Source Flex SDK&#8217; since that one is missing a few things. Also you might want to have several different SDKs installed like for example Flex 3.x and Flex 4 which you can target individually from FDT. If you want to use Ant build files later to build your projects it&#8217;s a good idea to place the SDKs in a clean and easy folder hierarchy, e.g. let&#8217;s say I have Flex SDK 3.5 and 4.0 on my system then I would put them under <em>C:\Users\username\Applications\FlexSDK\3.5.0</em> and <em>C:\Users\username\Applications\FlexSDK\4.0.0</em>. I remember having trouble with spaces in path names when I experimented with <a href="http://labs.adobe.com/technologies/alchemy/" target="_blank">Alchemy</a> hence I decided to not put the SDKs into a subfolder in &#8216;Program Files&#8217;.</li>
<li><strong><a href="http://www.adobe.com/support/flashplayer/downloads.html" target="_blank">Flash Player Runtimes</a></strong> &#8211; Debug versions, release versions, browser plugins and whatnot. I typically disregard all the versions that come with any Flex SDK or Flash IDE and copy the newest version into a folder that always stays the same (for example <em>C:/Program Files/Adobe/Flash Player/Debug/FlashPlayer.exe</em> and <em>C:/Program Files (x86)/Adobe/Flash Player/Release/FlashPlayer.exe</em>) because it can get messy if you have X different SDK versions plus the  Flash IDE, plus Flash Builder etc. installed that all come with their own runtimes.</li>
<li><strong><a href="http://www.adobe.com/products/air/" target="_blank">Adobe AIR</a></strong> &#8211; because Flash development would be only half the fun without it!</li>
<li><a href="http://www.adobe.com/products/flash/" target="_blank"><strong>Adobe Flash</strong></a> &#8211; The ol&#8217; Flash IDE. If you code with this you will become impotent but it&#8217;s still great for putting visual assets together and use these as SWC&#8217;s with FDT.</li>
<li><a href="http://blog.hexagonstar.com/downloads/alcon/" target="_blank"><strong>Alcon</strong></a> &#8211; My own little debugging and logging tool. There&#8217;s a good choice of similar loggers out there but Alcon still serves me well. Suit yourself.</li>
</ul>
<hr /><strong>INSTALLATION</strong></p>
<p><strong><br />
</strong></p>
<ol>
<li><strong>Java Runtime</strong><br />
This should be straightforward! Choose the one you prefer from the links above and install. If you go for the JRockit one, you might want to set an environment variable (under Windows) named JAVA_HOME that points to your JRockit runtime path. For example I have my JRockit installed in <em>C:\Program Files (x86)\Java\jrrt</em>, (under Windows 7) open the Start menu, from there navigate to <em>Control Panel/System and Security/System</em>, click the <em>Advanced system settings</em> link on the left of the window, in the <em>System Properties</em> dialog click the <em>Environment Variables</em> button, then click the <em>New&#8230;</em> button under <em>System variables</em> and enter <em>JAVA_HOME</em> as the <em>Variable name</em> and <em>C:\Program Files (x86)\Java\jrrt\jre</em> (in my example) as the <em>Variable value</em>. You might have to reboot or at least relogin for this setting to take effect.</li>
<li><strong>Eclipse</strong><br />
Download the <a href="http://download.eclipse.org/eclipse/downloads/" target="_blank">Eclipse Platform Runtime Binary</a> (currently v3.5.2, ~47MB) and unpack it. Copy the Eclipse folder to where you like, typically something like  <em>C:\Program Files\Eclipse</em> but I prefer to have my installation under <em>C:\Users\username\Applications\Eclipse</em>. The reason for this is that under Windows with UAC turned on Eclipse will create an additional folder in your user location where it stores all your installed PlugIns so you end up with two locations in that things get installed. This led to discrepancies more than once for me before due to ambiguous PlugIn installs. Very, very annoying so eventually I decided to keep it simple and have it in a non-UAC protected location.  The <em>C:\Users\username\Applications</em> folder is my place for all applications that have trouble with UAC.<br />
Either way, you have your Eclipse where you want it, next step is to edit the <em>eclipse.ini</em>. Your default eclipse.ini will look similar to this:</p>
<pre>-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m</pre>
<p>And this is how it &#8216;should&#8217; look after you edit it:</p>
<pre>-vm "C:\Program Files (x86)\Java\jrrt\jre\bin\javaw.exe"
-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-XX:MaxGCPauseMillis=10
-XX:MaxPermSize=128m
-XX:PermSize=64m
-XX:+UseParallelGC
-Xms128m
-Xmx1024m</pre>
<p>If you don&#8217;t use JRockit you can skip the first line, if you do use JRockit you need to adapt the first line to point to  your JRockit jawaw.exe!<br />
The -XX:MaxGCPauseMillis=10, -XX:MaxPermSize=128m, -XX:PermSize=64m and -XX:+UseParallelGC lines are not mandatory but they improve performance (or so I&#8217;ve heard!). Just be sure to set Xms and Xmx high enough, to at least 128 and 512, but better 1024 (Eclipse and FDT need LOADS of RAM!).<br />
Next fire up Eclipse and choose your Workspace location. Eclipse will present itself with its nice and warm intro screen &#8230;<br />
<a href="http://blog.hexagonstar.com/wp-content/uploads/eclipse_intro_screen.jpg" rel="lightbox[1615]"><img class="aligncenter size-large wp-image-1644" title="eclipse_intro_screen" src="http://blog.hexagonstar.com/wp-content/uploads/eclipse_intro_screen-1024x698.jpg" alt="" width="490" height="334" /></a></li>
<li><strong>JDT &amp; Ant</strong><br />
Click through to the Workbench (the arrow on the right) and from the menu choose <em>Help/Install New Software&#8230;</em> then in the Install window  where it says &#8220;Work with:&#8221; choose the Galileo update site (<em>Galileo &#8211; http://download.eclipse.org/releases/galileo</em>) and in the tree list that shows up, unfold the <em>Programming Languages</em> branch and check <em>Eclipse Java Development Tools</em>. Then click the <em>Next</em> button and follow the install procedure. Restart Eclipse when it asks you to do so after the installation.<br />
<a href="http://blog.hexagonstar.com/wp-content/uploads/eclipse_001.jpg" rel="lightbox[1615]"><img class="aligncenter size-large wp-image-1653" title="eclipse_001" src="http://blog.hexagonstar.com/wp-content/uploads/eclipse_001-490x455.jpg" alt="" width="490" height="455" /></a></li>
<li><strong>HTML-, JavaScript-, XML- and CSS- Editors</strong><strong><br />
</strong>This is the exact same procedure as in step 3 with the difference that you unfold the <em>Web, XML, and Java EE Development</em> category and check the <em>Eclipse Web Developer Tools</em>, <em>Eclipse XML Editors and Tools</em> and the <em>JavaScript Developer Tools</em>.<br />
<a href="http://blog.hexagonstar.com/wp-content/uploads/eclipse_002.jpg" rel="lightbox[1615]"><img class="aligncenter size-large wp-image-1658" title="eclipse_002" src="http://blog.hexagonstar.com/wp-content/uploads/eclipse_002-490x442.jpg" alt="" width="490" height="442" /></a></li>
<li><strong>Subclipse</strong><br />
Next things next! For Subclipse we need to add the update URL to Eclipse. Open The Eclipse Install window again, click the <em>Add&#8230;</em> button and enter <em>Subclipse 1.6</em> as the name and <em>http://subclipse.tigris.org/update_1.6.x</em> as the location (or you might wanna check the <a href="http://subclipse.tigris.org/" target="_blank">official Subclipse site</a> for any newer update URLs) &#8230;<br />
<a href="http://blog.hexagonstar.com/wp-content/uploads/eclipse_003.jpg" rel="lightbox[1615]"><img class="aligncenter size-large wp-image-1668" title="eclipse_003" src="http://blog.hexagonstar.com/wp-content/uploads/eclipse_003-490x205.jpg" alt="" width="490" height="205" /></a>&#8230; Hit OK and choose the required Subclipse components from the tree list. You need at least the parts that are marked as required but I also pick <em>Integration for Mylyn</em>, the <em>SVNKit Library</em>, <em>SVNKit Client Adapter</em> and the <em>JNA Library</em>. Can&#8217;t hurt to have them on board! After that click Next ansd from there on the procedure is very much the same as before with step 3 and 4.<br />
<a href="http://blog.hexagonstar.com/wp-content/uploads/eclipse_004.jpg" rel="lightbox[1615]"><img class="aligncenter size-large wp-image-1671" title="eclipse_004" src="http://blog.hexagonstar.com/wp-content/uploads/eclipse_004-469x490.jpg" alt="" width="469" height="490" /></a></li>
<li><strong>Mylyn</strong><br />
We can install Mylyn and all its dependencies again from the Galileo update site just as above under step 3 and 4. You&#8217;ll find Mylyn in the <em>Collaboration</em> category. I&#8217;ll go for <em>Mylyn Task List</em>, <em>Mylyn Task-Focused Interface</em>, <em>Mylyn WikiText</em> and <em>Mylyn Bridge: Eclipse IDE</em>. There are some other bridges for other Languages if you want them but since FDT has no support for Mylyn yet there&#8217;s nothing for ActionScript. However we can still put Mylyn to good use for our ActionScript programming, we just don&#8217;t get the same task-focused integration as with Java or C++.<br />
<a href="http://blog.hexagonstar.com/wp-content/uploads/eclipse_005.jpg" rel="lightbox[1615]"><img class="aligncenter size-large wp-image-1673" title="eclipse_005" src="http://blog.hexagonstar.com/wp-content/uploads/eclipse_005-436x490.jpg" alt="" width="436" height="490" /></a></li>
<li><strong>FDT</strong><br />
Time to install the FDT trial! We need to enter the update site just as with Subclipse in step 5. For the update site enter <em>FDT</em> as name and <em>http://fdt.powerflasher.com/update/</em> as the location (or check the <a href="http://www.fdt.powerflasher.com/developer-tools/fdt-3/download/" target="_blank">Powerflasher website</a> in case the URL changed). Pick the FDT version(s) that you want to install from the tree list, hit <em>Next</em> and go drink a coffee! Installing FDT will take a couple of minutes. Don&#8217;t forget to restart Eclipse after install!<br />
<a href="http://blog.hexagonstar.com/wp-content/uploads/eclipse_006.jpg" rel="lightbox[1615]"><img class="aligncenter size-large wp-image-1675" title="eclipse_006" src="http://blog.hexagonstar.com/wp-content/uploads/eclipse_006-490x427.jpg" alt="" width="490" height="427" /></a></li>
<li><strong>Flash Builder PlugIn</strong><br />
At last we install Flash Builder! This step is wholly optional! If you don&#8217;t have any use for Flash Builder&#8217;s visual editor I actually recommend to skip this step and instead enjoy a more lightweight Eclipse without Flash Builder.<br />
Head over to Adobe and download the Flash Builder PlugIn trial version (at the time of this writing it&#8217;s the Flash Builder 4 beta 2 which can be found at the <a href="http://labs.adobe.com/technologies/flashbuilder4/" target="_blank">Adobe Labs</a>). You might be required to register at Adobe to download the trial.<br />
Next quit your Eclipse and start the downloaded Flash Builder installer. Go through the installation steps and when it asks for the Eclipse install choose <em>Plug into another copy of Eclipse</em> and enter the path to your freshly prepared Eclipse location &#8230;<br />
<a href="http://blog.hexagonstar.com/wp-content/uploads/flashbuilder_001.jpg" rel="lightbox[1615]"><img class="aligncenter size-large wp-image-1678" title="flashbuilder_001" src="http://blog.hexagonstar.com/wp-content/uploads/flashbuilder_001-490x355.jpg" alt="" width="490" height="355" /></a>&#8230; continue the installation, then go drink another coffee, installing Flash Builder takes long!</li>
<li><strong>Bonus Step</strong><br />
Download <a href="http://blog.hexagonstar.com/wp-content/uploads/splash.bmp" target="_blank" rel="lightbox[1615]">this slick Splash screen</a> and replace the unlucky default Eclipse Splash screen with it by copying it to your Eclipse/plugins/org.eclipse.platform_x.x.xxx&#8230; folder. <img src='http://blog.hexagonstar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
<a href="http://blog.hexagonstar.com/wp-content/uploads/splash.bmp" rel="lightbox[1615]"><img class="aligncenter size-full wp-image-1680" title="splash" src="http://blog.hexagonstar.com/wp-content/uploads/splash.bmp" alt="" /></a></li>
</ol>
<p>And that&#8217;s all for now! With this setup you have your one-stop-shop for Flash and Flex development at your fingertips! In the next part I will try to guide through some configuring of Eclipse, in particular on how to use FDT and Flash Builder on the same project.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/setting-up-eclipse-for-flash-development/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>From the Labs: Tetragon Tile Engine Early Preview</title>
		<link>http://blog.hexagonstar.com/lab-hexagon-tile-engine/</link>
		<comments>http://blog.hexagonstar.com/lab-hexagon-tile-engine/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 18:28:02 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Random Picks]]></category>
		<category><![CDATA[Blitting]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Scrolling]]></category>
		<category><![CDATA[SWF]]></category>
		<category><![CDATA[Tile Engine]]></category>
		<category><![CDATA[WIP]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=1532</guid>
		<description><![CDATA[<script type="text/javascript" src="http://blog.hexagonstar.com/wp-content/plugins/pb-embedflash/js/sbadapter/shadowbox-jquery.js"></script><script type="text/javascript" src="http://blog.hexagonstar.com/wp-content/plugins/pb-embedflash/js/shadowbox.js"></script><script type="text/javascript"><!--
window.onload = function() {var options ={assetURL:'',loadingImage:'http://blog.hexagonstar.com/wp-content/plugins/pb-embedflash/css/images/loading.gif',flvPlayer:'http://blog.hexagonstar.com/wp-content/plugins/pb-embedflash/swf/mediaplayer.swf',animate:true,animSequence:'wh',overlayColor:'#000',overlayOpacity:0.85,overlayBgImage:'http://blog.hexagonstar.com/wp-content/plugins/pb-embedflash/css/images/overlay-85.png',listenOverlay:true,autoplayMovies:true,showMovieControls:true,resizeDuration:0.35,fadeDuration:0.35,displayNav:true,continuous:false,displayCounter:true,counterType:'default',viewportPadding:20,handleLgImages:'resize',initialHeight:160,initialWidth:320,enableKeys:true,keysClose:['c', 'q', 27],keysPrev:['p', 37],keysNext:['n', 39],handleUnsupported:'',text: {cancel:'Cancel',loading: 'loading',close:'<span class="shortcut">C</span>lose',next:'<span class="shortcut">N</span>ext',prev:'<span class="shortcut">P</span>revious',errors:{single: 'You must install the <a href="{0}">{1}</a> browser plugin to view this content.',shared: 'You must install both the <a href="{0}">{1}</a> and <a href="{2}">{3}</a> browser plugins to view this content.',either: 'You must install either the <a href="{0}">{1}</a> or the <a href="{2}">{3}</a> browser plugin to view this content.'}}};Shadowbox.init(options);}
--></script>An early tech demo of the tetragonLib Tile Engine on which I restarted work on recently again. Click the image to view. There&#8217;s not much interaction yet though. You can scroll around with the cursor keys and apart from that open the Rhombus App Framework built-in debug console with F8 and the FPS monitor with [...]]]></description>
			<content:encoded><![CDATA[<p>An early tech demo of the <a href="http://code.google.com/p/hexagon/" target="_blank">tetragonLib</a> <a href="http://code.google.com/p/hexagon/source/browse/#svn/trunk/hexagon/src/tetragonlib/flash/com/hexagonstar/game/tile" target="_blank">Tile Engine</a> on which I restarted work on recently again. Click the image to view. There&#8217;s not much interaction yet though. You can scroll around with the cursor keys and apart from that open the <a href="http://code.google.com/p/hexagon/" target="_blank">Rhombus App Framework</a> built-in debug console with F8 and the FPS monitor with SHIFT+F8. Everything is still under heavy development.</p>
<p>However the demo already shows some of the special features of the tile engine. It&#8217;s a blitted multi-layer engine which supports animated tiles (but it doesn&#8217;t use MovieClips or Sprites for this but animated Bitmap tiles). The demo shows two layers, one as a backdrop and the other with the maze on it. Additionally layers can use layer effects like the second layer here uses a drop shadow filter which is also defined in the tilemap file.</p>
<p>The engine tries to be resource friendly. If there is nothing to update it will not waste render cycles. E.g. if you move to any area without animated tiles on the screen the engine will shortly after start to consume less CPU.</p>
<p style="text-align: center;"><small>(Please open the article to see the Flash content.)</small></p>
<p style="text-align: left;">Quite a list of features is still planned to be implemented, for example map-wrapping (to create endless maps), auto-scrolling and support for hexagonal as well as isometric tiles has already been started before but these implementations are going to be completely overhauled.</p>
<p style="text-align: left;">If you&#8217;re interested in having a look at the engine&#8217;s tileset and tilemap data files, they can be found <a href="http://files.hexagonstar.com/labs/tileengine2/data/" target="_blank">here</a>.</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/lab-hexagon-tile-engine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash for big Games?</title>
		<link>http://blog.hexagonstar.com/flash-for-big-games/</link>
		<comments>http://blog.hexagonstar.com/flash-for-big-games/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 07:18:23 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=970</guid>
		<description><![CDATA[Even though I love ActionScript more than my daily meal I&#8217;ve recently started to think about if the Flash Platform is actually the right stuff for developing big games. Most Flash game developers write small-scale games for the web which is totally fine and I too like to write a small coffee-break game sometimes but [...]]]></description>
			<content:encoded><![CDATA[<p>Even though I love ActionScript more than my daily meal I&#8217;ve recently started to think about if the Flash Platform is actually the right stuff for developing big games. Most Flash game developers write small-scale games for the web which is totally fine and I too like to write a small coffee-break game sometimes but often I&#8217;m craving for more! My dream has since long been to design and develop a large-scale role-playing game and I&#8217;m usually overflowing from new ideas coming to my mind every day that it&#8217;s almost hard to track all of them.</p>
<p>I could go on and make this project an oldschool-style game with 2D graphics like some <a href="http://www.heroicfantasygames.com/" target="_blank">other indie devs</a> are doing but I feel that going 3D would be the best bet to convey atmosphere and tactical gameplay at the same time (you could use switchable first-person and third-person views). This makes me think if ActionScript is actually sufficient for this but the experience of some of my recent coding tests with Away3D which already start to bog down the CPU with a few hundred polygons on the screen tend to say &#8220;no!&#8221; to my ambitious plans.</p>
<p>Since this is a desktop game my platform choice is AIR which offers more freedom that the Web Player but there are still many let-downs that make you grind your teeth &#8230;</p>
<p><span id="more-970"></span></p>
<p><strong>Hardware 3D</strong></p>
<p>Without a doubt the biggest problem is <strong>the lack of hardware-accelerated 3D rendering</strong>. With the current software-rendering engines you could make simple 3D games where you try to always keep down poly-count to an absolute minimum. Basically your game will then look like anno 2000, if not worse. I remember most games of the late nineties to early two-thousands as having these &#8220;wood  puppet&#8221;-appearing character models, both in terms of look and animation. I must admit that some games achieved quite good quality for the technology they were running on, for example Metal Gear Solid on the first-gen Playstation. Would that be possible in Flash? Probably yes, with a lot of trickery but who wants to make games that look that outdated? As I <a href="http://blog.hexagonstar.com/rpg-design-graphical-projection/">mentioned in another post</a>, I&#8217;d be better off with well designed 2D instead.</p>
<p>Not sure what Adobe is doing regarding 3D but sure is if if they are sleeping on this, the competition will not sleep and we might see developers wander over to Silverlight or Unity3D.</p>
<p><strong>Full-screen Resolutions</strong></p>
<p>There are several other painfully missing features in Adobe AIR which I hope Adobe will care about. One such feature would be <strong>the option to change the screen resolution</strong>! As it is currently if you switch your game to full screen it will run at the same resolution in that the player runs the OS in. Screens have become larger and with that screen resolutions have too. If you now switch your Papervision game &#8211; which was running fine in a 640 x 480 window &#8211; to fullscreen in 1920 x 1200 you can watch how your game is being degraded into a slideshow! Fullscreen games would profit a lot from being able to change screen resolutions.</p>
<p>The fullscreen mode brings me to another bugger: The Escape key! Adobe has the opinion that <strong>the Escape key must not be remapped and that it should solely be used to close a full screen mode</strong>. I guess they did this for security reasons so that an ill-intended coder cannot hijack your screen. However I disagree with this rationale! Such a coder could use C, Java or Python or any other universal programming platform for that matter in a much more suitable way. Some security restrictions go too far and the Escape key is one of them. It&#8217;s more of a blocker than a help!</p>
<p><strong>Resource Files</strong></p>
<p>Most modern commercial games use what is called <em>Resource Files</em>; large compressed archive files which contain all of the game&#8217;s media and data files. These files are often in the hundreds of megabytes up to several gigabytes. While I doubt that I will make a game anytime soon that has an assets library of several gigabytes I can imagine that my current project could go easily up into several hundred megabytes of assets.<br />
The  commercial developers use resource file formats to organize their asset files into nicely compact files. These resource files house many advantages over just simply having your naked files on the harddisk. Among the advantages are compactness, protection, easy file distribution and better structural organization.</p>
<p>With ActionScript you could load compressed Zip files that store all your games&#8217; assets but there&#8217;s a tiny but important catch to this: Most of those commercial games which are written in C++ and which utilize the file system have the ability to access any of the packed files quickly and right at their position in the resource archive without the need to load the whole resource archive into memory first. In fact you wouldn&#8217;t want to load a 4Gb file into memory completely but how about a 200Mb file? While that&#8217;s possible it&#8217;s not a best-practice.</p>
<p>ActionScript currently provides the URLStream class that can be used to stream a file in but it still does so only in a linear way. You could start loading your Zip file, check which assets from it is available, abort loading and use the asset but this is sub-optimal! Imagine your file is somewhere at the end of the Zip file you&#8217;d still have to load the whole Zip file first. ActionScript (or in particular AIR) would go nicely with a URLStream class, or even a completely new API that could make optimal use of a Resource File format which houses compressed media and data files. Maybe Adobe could even introduce a specific new file format for this purpose. That would be ultimately nice!</p>
<p>I have no idea where Adobe stands with the future plans for Flash and whether some or all of the above mentioned points are resolved at some time or if they are never resolved in which case I&#8217;d get the impression that the Flash platform is a sinking ship for me &#8211; which I do not hope for!</p>
<p>Currently we as Flash game developers (I hate that name!) are standing at the fence which borders on that green and juicy meadow of professional game development and we can only hope that things improve in our favor so we too can  graze on that green grass where the big cows  are reveling.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/flash-for-big-games/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>RPG Design: Choosing the right Graphical Projection</title>
		<link>http://blog.hexagonstar.com/rpg-design-graphical-projection/</link>
		<comments>http://blog.hexagonstar.com/rpg-design-graphical-projection/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 12:06:50 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Random Picks]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Isometric]]></category>
		<category><![CDATA[Projection]]></category>
		<category><![CDATA[RPG]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=900</guid>
		<description><![CDATA[I&#8217;ve been designing on a rather ambitious Role-Playing game project since a while now (in fact quite a long while but I&#8217;m not in hurry to finish it anytime soon) and while I&#8217;m in the process of working out the story, technical details like the combat mechanics, skill system etc. and creating interesting characters I [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-937" src="http://blog.hexagonstar.com/wp-content/uploads/nwn2_banner.jpg" alt="Neverwinter Nights 2 Banner" width="512" height="153" /></p>
<p>I&#8217;ve been designing on a rather ambitious Role-Playing game project since a while now (in fact quite a long while but I&#8217;m not in hurry to finish it anytime soon) and while I&#8217;m in the process of working out the story, technical details like the combat mechanics, skill system etc. and creating interesting characters I still haven&#8217;t made a decision on the type of graphical projection for the game so far. I&#8217;ve been thinking about five kinds of projection from the most basic one (2D orthographic) up to full dynamic 3D which would be quite an effort. As my development platform of choice happens to be Flash, the resources in terms of 3D are limited.</p>
<p>So with that in mind I thought it would be good opportunity to introduce some of the most-used projections in computer and video role-playing games to get to know them a little better. This is by no means a complete list of <a href="http://en.wikipedia.org/wiki/Category:Graphical_projections" target="_blank">all sorts of projection</a> used in games but I believe these  the ones most commonly used for role-playing games.</p>
<p><span id="more-900"></span></p>
<h4><strong>Orthographic Projection (Top-down View)</strong></h4>
<p>Orthographic is pretty much a collective term for all projections that lack perspective (i.e. all 3 axes have the same length) but I&#8217;d like to use it here to describe the typical top-down view &#8211; often called birds-eye view &#8211; used in RPGs.</p>
<div id="attachment_908" class="wp-caption alignright" style="width: 230px"><a href="http://blog.hexagonstar.com/wp-content/uploads/hardnova.png" rel="lightbox[900]"><img class="size-medium wp-image-908 " title="Hard Nova" src="http://blog.hexagonstar.com/wp-content/uploads/hardnova-220x137.png" alt="Hard Nova uses a very simple (but nevertheless charming) top-down view for it's interiors." width="220" height="137" /></a><p class="wp-caption-text">Hard Nova uses a very simple (but nevertheless charming) top-down view for it&#39;s interiors.</p></div>
<p>The top-down view can either be completely flat which is obviously the most easy way to draw graphics or it can give the impression of depth by using an oblique style. Many of the older J-RPGs like <a href="http://www.mobygames.com/game/snes/legend-of-zelda-a-link-to-the-past" target="_blank"> Zelda</a> and <a href="http://www.mobygames.com/game/playstation/final-fantasy-iii__" target="_blank">Final Fantasy</a> are using this method. You see buildings, characters and other objects that point into one direction (usually to the top of the screen) to give the illusion of depth. Often this style is used in a very simple form so that characters are not being able to &#8216;step behind a wall&#8217;, i.e. the collision detection that checks where the characters are allowed to walk adheres directly to the graphic tiles used in the game. Some other games of this style might involve some trickery to offset the line used for collision detection so that characters can walk behind walls and are  half-covered by them to add some more dynamic.</p>
<div id="attachment_913" class="wp-caption alignleft" style="width: 230px"><a href="http://blog.hexagonstar.com/wp-content/uploads/jadg11.png" rel="lightbox[900]"><img class="size-medium wp-image-913" title="Jagged Alliance: Deadly Games" src="http://blog.hexagonstar.com/wp-content/uploads/jadg11-220x137.png" alt="Jagged Alliance: Deadly Games is a good example of an oblique top-down view." width="220" height="137" /></a><p class="wp-caption-text">Jagged Alliance: Deadly Games is a good example of an oblique top-down view.</p></div>
<p>The advantages of this projection are clear: it&#8217;s the easiest to draw and the easiest to implement. Also the nature of this style makes it easy to use for RPGs that use a character party which needs to be guided around the screen. Selecting party members and using them tactically (positioning, <a href="http://en.wikipedia.org/wiki/Line_of_sight_%28gaming%29" target="_blank">line-of-sight</a>, etc.) is more easily done here.</p>
<p>The disadvantages are that this projection is the most simple looking and most overused one (but then again these are not necessarily disadvantages)  and in particular that this projection type can ruin potential immersive atmosphere, i.e. unless you&#8217;re using some sort of <a href="http://en.wikipedia.org/wiki/Fog_of_war" target="_blank">Fog-of-War</a> the player can see what lies around the next corner. Even if you don&#8217;t draw any opponents until they are in the line-of-sight of the player in my opinion this doesn&#8217;t convey the same level of immersion as 3D or Flip3D (see below) projection would.</p>
<h4><strong>Isometric Projection (Tiled)</strong></h4>
<p><a href="http://en.wikipedia.org/wiki/Isometric_projection" target="_blank">Isometric</a> view and (although not technically isometric) it&#8217;s cousins trimetric and dimetric are projections that were (and still are) used in a long list of games, mostly strategy-, management- and of course role-playing games. Highly regarded by many as the finest-ever invented graphics style, isometric projection has the advantage over basic top-down view that is adds more depth and at the same time often more dynamic and clarity to the layout of the play field.</p>
<div id="attachment_923" class="wp-caption alignright" style="width: 230px"><a href="http://blog.hexagonstar.com/wp-content/uploads/fallout2-25.jpg" rel="lightbox[900]"><img class="size-medium wp-image-923" title="Fallout 2" src="http://blog.hexagonstar.com/wp-content/uploads/fallout2-25-220x129.jpg" alt="Fallout 2 - one of the better known tile-based isometric RPGs." width="220" height="129" /></a><p class="wp-caption-text">Fallout 2 - one of the better known tile-based isometric RPGs.</p></div>
<p>I must admit not many RPG titles that are using a tile-based isometric projection are coming to my mind but some good examples from this domain are <a href="http://www.mobygames.com/game/windows/fallout" target="_blank">Fallout 1</a> &amp; 2 which use trimetric projection (all three angles are different) and the Indie RPG  series <a href="http://www.avernum.com/" target="_blank">Avernum</a>.</p>
<p>Advantages of the tiled isometric projection include the easiness of implementation and a big favor for tactical gameplay. It&#8217;s easy to see tactical elements in relation to each other and so it comes to no surprise that many strategy games used this style.</p>
<p>The disadvantage I see with isometric graphics is the same as with top-down view projection, the lack of immersive atmosphere (see above) and that isometric graphics (tiles, sprites) are more difficult to design (but assets rendered with a 3D package can help a lot here).</p>
<h4><strong>Isometric Projection (Full Backgrounds)</strong></h4>
<p>The big contender among isometric engines that used pre-rendered backgrounds instead of tiled graphics was without a doubt the <a href="http://en.wikipedia.org/wiki/Infinity_engine" target="_blank">Infinity Engine</a> and with it such classics like <a href="http://www.mobygames.com/game/windows/baldurs-gate" target="_blank">Baldur&#8217;s Gate</a>, <a href="http://www.mobygames.com/game/windows/icewind-dale" target="_blank">Icewind Dale</a> and <a href="http://armchairarcade.com/neo/node/2784" target="_blank">Planescape: Torment</a>.</p>
<div id="attachment_928" class="wp-caption alignleft" style="width: 230px"><a href="http://blog.hexagonstar.com/wp-content/uploads/Baldr008_2.JPG" rel="lightbox[900]"><img class="size-medium wp-image-928" title="Baldur's Gate II" src="http://blog.hexagonstar.com/wp-content/uploads/Baldr008_2-220x165.jpg" alt="Baldur's Gate II: Excellent use of pre-rendered backgrounds and light-effects all around!" width="220" height="165" /></a><p class="wp-caption-text">Baldur&#39;s Gate II: Excellent use of pre-rendered backgrounds and light-effects all around!</p></div>
<p>Instead of using tiles, larger backgrounds were modeled, textured and pre-rendered with a 3D graphics application and then used &#8230; well,  as sort-of large-scale tiles in the game. This technique allowed for a lot more visual detail and variation. Environments that were difficult to draw with a tile-based approach such as for instance a deep, rocky abyss or other intricate landscape were made possible much easier with fully rendered backgrounds. Also many other items like furniture and interior walls could suddenly have a lot more detail. Another advantage that the Infinity Engine introduced was the use of dynamic lighting and acceleration of visual effects by use of DirectX. Full-screen rain or snowstorm? No problem here!</p>
<p>Collision detection and path-finding was solved by using a special bitmap for every background that defined the walk-able areas using different colors.</p>
<p>The big advantage for this technique is of course the gain in graphical detail and that it eliminates some of the problems of a tile-based engine, namely intricacies when dealing with dynamic lighting, path-finding etc.</p>
<p>The disadvantage here is the extra-work of complexity required to implement  such a full background rendering engine, the additional task to design pre-rendered background graphics using  3D modeling and that such an engine requires more system resources than a tile-based engine, RAM and CPU-wise.</p>
<h4><strong>Flip3D</strong></h4>
<p>Now what in the hell is Flip3D? You might hear this term for the first time ever here but Flip3D is what I like to call (for the lack of a better word) the projection style used by many games from the Golden Age of RPGs era that use pseudo 3D images which are drawn with perspective in mind and if you turn in-game to the left or right the whole view is <span style="text-decoration: line-through;">flipped</span> turned by 90° hence the name, uhh, Flip3D (if you know the technically correct  term for this type of graphics display technique I&#8217;d like to learn it but until then let&#8217;s just call it Flip3D).</p>
<p>Countless RPGs utilized this projection, most notably titles like <a href="http://www.mobygames.com/game/amiga/dungeon-master" target="_blank">Dungeon Master</a>, <a href="http://www.mobygames.com/game/dos/eye-of-the-beholder" target="_blank">Eye of the Beholder</a>, the <a href="http://www.mobygames.com/game-group/ishar-series" target="_blank">Ishar series</a>, the <a href="http://www.mobygames.com/game/dos/might-and-magic-world-of-xeen" target="_blank">Might and Magic</a> series and &#8211; although not really a RPG &#8211; one of my all-time favorites, <a href="http://www.mobygames.com/game/amiga/hired-guns" target="_blank">Hired Guns</a>. All these games used pre-rendered graphic parts like floors, walls and ceilings that are composed together on the screen to create a room or corridor or even an outside environment.</p>
<div id="attachment_920" class="wp-caption alignright" style="width: 230px"><a href="http://blog.hexagonstar.com/wp-content/uploads/wizardry7_1.gif" rel="lightbox[900]"><img class="size-medium wp-image-920  " title="Wizardry: Crusaders of the Dark Savant" src="http://blog.hexagonstar.com/wp-content/uploads/wizardry7_1-220x137.gif" alt="Wizardry 7: VGA never looked better." width="220" height="137" /></a><p class="wp-caption-text">Wizardry 7: VGA never looked better (and RPGs never were harder).</p></div>
<p>The advantage is that these graphic parts could be re-used, making it easier to quickly build whole maps. The disadvantage to this was often that in many of the games the maps looked monotonous. In my opinion Hired Guns nailed this problem quite well which is one of the reasons that made it stand out from the others for me.  The maps looked detailed and very different from level to level, in the background they&#8217;ve used a gradient to represent the dawn on the firmament and there was usually a dark backdrop used for a horizon to give the impression of mountains, landscape or buildings in the far distance. It&#8217;s exactly these details that are one of the features that filled the game with atmosphere. What could be there in the far distance? The distance that you were never able to reach because it was not a part of the map but, alas, only a backdrop.</p>
<p>The lack of clear detail opens a lot of freedom to the player&#8217;s own imagination and this is one of the points why I highly regard some older games that use simplified graphics where modern games with tons of detailed real-time 3D choke the last bit of imagination from the players mind (not that I&#8217;m saying that this is necessarily bad but for me it is gaming on a different mental level).</p>
<div id="attachment_916" class="wp-caption alignleft" style="width: 230px"><a href="http://blog.hexagonstar.com/wp-content/uploads/hired-guns_disk1_002.png" rel="lightbox[900]"><img class="size-medium wp-image-916" title="Hired Guns" src="http://blog.hexagonstar.com/wp-content/uploads/hired-guns_disk1_002-220x165.png" alt="Ahh Hired Guns! Flip3D at it's finest!" width="220" height="165" /></a><p class="wp-caption-text">Ahh Hired Guns! Flip3D at it&#39;s finest!</p></div>
<p>And with that we have the main advantage of this projection type &#8230; used with well-drawn graphics it can add a nice deal of &#8216;hidden&#8217; atmosphere to the game because you never really see what lies (or lurks) in the distance.</p>
<p>The main disadvantage of this projection from my point of view is that it&#8217;s not much in favor for tactical gameplay as long as you want to involve your party into the action. Games with Flip3D projection are necessarily first-person so you don&#8217;t see your own character and your other party members are either behind or sideways of you or standing in front, covering a big part of the view field. Guiding and commanding all your party members can become quite a chore here.</p>
<h4><strong>3D Projection</strong></h4>
<p>3D projection is the current state-of-the-art in computer game graphics and will probably not be replaced so soon (until somebody invents some sort of 4D virtual reality device). This projection allows the highest degree of freedom meaning that any object can be viewed from any angle, at any distance and with arbitrary <a href="http://en.wikipedia.org/wiki/FOV" target="_blank">FOV</a>.</p>
<div id="attachment_931" class="wp-caption alignright" style="width: 230px"><a href="http://blog.hexagonstar.com/wp-content/uploads/swkotor2.jpg" rel="lightbox[900]"><img class="size-medium wp-image-931 " title="Star Wars: Knights Of The Old Republic 2" src="http://blog.hexagonstar.com/wp-content/uploads/swkotor2-220x175.jpg" alt="SWKotoR 2: Can we haz it in Flash please?" width="220" height="175" /></a><p class="wp-caption-text">SWKotoR 2: Can we haz it in Flash please?</p></div>
<p>There is virtually no quality loss when zooming in and you can re-use 3D objects for all kinds of displays, for example you could have your once-designed character 3D objects walk around in the game world and at the same time use them on a special inventory window where you drag and drop equipment onto the same used 3D object of their bodies. This allows for &#8216;create-once, use everywhere&#8217; unlike with 2D assets where you often have to create variations of the same object for use in different views.</p>
<p>You could also use 3D with a fixed camera to simulate a certain type of 2D view and the advantage of 3D objects would still be obvious.</p>
<p>The disadvantage of choosing this projection is that the creation of assets, i.e. 3D models of characters, items and environments is a lot more involved as with 2D graphics. Unless you are some sort of super-developer-designer-machine with 300 years of time up your sleeve you probably need a small team of professional 3D designers who can do this work for you. Ok, I&#8217;d say nobody died of trying but recent 3D game graphics have become so professional that it&#8217;s not an easy feat to try catching up with it. And who wants to design a game with 3D graphics that look like anno 1996? I&#8217;d probably be better off with nice-looking 2D graphics instead!</p>
<p>Then, as you want to create a large world for a RPG you&#8217;d have to design many interior/exterior maps that are used for the game world. If you use 3D I doubt you want to design this all manually. What you need is a map editor to create the environments more comfortably and re-use assets quickly etc. Writing such a map editor is already a whole job unto itself and takes a lot of time.</p>
<div id="attachment_932" class="wp-caption alignleft" style="width: 230px"><a href="http://blog.hexagonstar.com/wp-content/uploads/Wiz800000.JPG" rel="lightbox[900]"><img class="size-medium wp-image-932" title="Wizardry 8" src="http://blog.hexagonstar.com/wp-content/uploads/Wiz800000-220x137.jpg" alt="Wizardry 8: Simple 3D graphics &amp; first-person view" width="220" height="137" /></a><p class="wp-caption-text">Wizardry 8: Simple 3D graphics &amp; first-person view</p></div>
<p>Another complication with 3D graphics is the platform used for the game. I use Flash (or AIR) with use of ActionScript. While I&#8217;m convinced that ActionScript can handle all the other projection types, with 3D we&#8217;re hitting the limits very quickly. <a href="http://papergem.wordpress.com/" target="_blank">PaperVision 3D</a>, <a href="http://away3d.com/" target="_blank">Away3D</a> and the <a href="http://alternativaplatform.com/en/" target="_blank">Alternativa Platform</a> all have been used sucessfully for game development already but I have yet to see a good example of an extensive RPG made with one of these and the fact that a few thousand triangles bring the framerate to a screeching halt doesn&#8217;t help the case.</p>
<p>Still, any of these 3D engines could be utilized in Flash for a simpler form of 3D graphics style, for example the use of mainly simple primitives with a good job in texture detail work and a combination of 2D sprites. I&#8217;m definitely looking further into this possibility.</p>
<h4>Conclusion</h4>
<p>I&#8217;m still in the dark about which projection style I&#8217;ll eventually use. I might be creating a first prototype with a very simple and flat top-down view (a la <a href="http://www.mobygames.com/game/dos/ultima-iv-quest-of-the-avatar" target="_blank">Ultima</a>) to test other components of the game and then later change to something  more advanced.</p>
<p>Any of the introduced techniques have their charming sides, for example (as you might have had no troubles noticing) I&#8217;m very fond of Hired Guns and it&#8217;s dark and futuristic pseudo 3D view. Then again an isometric view could be more suitable for tactical gameplay (which, as I&#8217;m planing the game should have quite a few of).</p>
<p>Realtime 3D would be the ultimate thing but I dislike the idea of creating super-simplified 3D objects and Flash currently lacks the rendering power to use higher-end 3D graphics. I might as well be watching if the Flash platform improves in this area and then see what can be done in terms of 3D later.</p>
<p>Was it that? I&#8217;m sure I forgot a ton of facts and details here but I would be very interested in what others have to say about this topic or what view styles you&#8217;re about to use and why etc.</p>
<p>Further Reading: <a href="http://www.significant-bits.com/a-laymans-guide-to-projection-in-video-games" target="_blank">Significant Bits &#8211; A layman’s guide to projection in videogames</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/rpg-design-graphical-projection/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<series:name><![CDATA[RPG Design]]></series:name>
	</item>
		<item>
		<title>ActionScript: Beaten like a ginger stepchild</title>
		<link>http://blog.hexagonstar.com/actionscript-beaten-like-a-ginger-stepchild/</link>
		<comments>http://blog.hexagonstar.com/actionscript-beaten-like-a-ginger-stepchild/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 06:55:37 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[OOP]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=893</guid>
		<description><![CDATA[Recently there has been a lot of uproar about ActionScript from some of the more nominated ActionScript developers. People like Joa Ebert, Nicolas Canasse, Andre Michelle and Peter Elst spoke off their dissatisfaction about the current state of ActionScript, that&#8217;s it&#8217;s stuck in the middle of nowhere, that Adobe isn&#8217;t open enough about their plans [...]]]></description>
			<content:encoded><![CDATA[<p>Recently there has been a lot of uproar about ActionScript from some of the more nominated ActionScript developers. People like <a href="http://blog.joa-ebert.com/2009/08/06/this-is-an-outrage/" target="_blank">Joa Ebert</a>, <a href="http://ncannasse.fr/blog/the_failure_of_as3" target="_blank">Nicolas Canasse</a>, <a href="http://blog.andre-michelle.com/2009/as3-failure/" target="_blank">Andre Michelle</a> and <a href="http://www.peterelst.com/blog/2009/08/09/making-the-case-for-actionscript/" target="_blank">Peter Elst</a> spoke off their dissatisfaction about the current state of ActionScript, that&#8217;s it&#8217;s stuck in the middle of nowhere, that Adobe isn&#8217;t open enough about their plans with the Flash platform, that ActionScript has become too OOP, etc. etc. And though all this bashing hurts, they all got a point about their complaints.</p>
<p><span id="more-893"></span></p>
<p>[ad#ad_content]ActionScript developers are a poor bunch! Internet Applications have become more and more complex and require you to plan your architecture carefully. In fact you need to be not only a programmer but also a full-fledged OOP architect if you want to achieve complex applications or otherwise two weeks later when the client asks for changes you will be in code chaos hell. On the other side the customer can&#8217;t care less and asks you to finish their product within two weeks just like it was in the old days of  Flash 5 where you could churn out some wonders quickly (but dirty under the hood) because, hey, does the client care how well your code is organized? The hell he cares! I feel kind of like: first we all yelled for better code management, now that we have it people start to complain that it&#8217;s too OOP.</p>
<p>Being a game developer who has a few more ambitious projects on the shelf I&#8217;m all for OOP and coding-best-practices. The artsy-fartsy Flash Designer hype from yesteryear had it&#8217;s show but now please move along, it&#8217;s time to advance!  Personally ActionScript was what has taught me OOP practices and I would be nowhere today if it wasn&#8217;t for ActionScript. Sure, I could have probably learned it from C++ or Java too but ActionScript&#8217;s prevalent support and documentation made it a lot easier.</p>
<p>I&#8217;m all for strict typing and seeing some people wishing back dynamic typed features makes my stomach turn over. Instead I&#8217;d rather like to see more data structures that allow strong typing just like the recently introduced Vector does. Really, there&#8217;s no way that 10 horses can pull me back to dynamic typed programming! Sometimes I find AS3 code examples on the web which are all untyped and dynamic, obviously by some coder who completely neglected strong typing because he either didn&#8217;t fully understood it or was too lazy. This is what Nicolas Canasse got right when he stated that ActionScript lacks expressiveness. It leads to people falling back to dynamic typing if they see that all this extra stuff required for the correct approach. I use FDT which has an excellent template system so I don&#8217;t really care if there&#8217;s a tad more code to write to achieve good code. In fact OOP stipulates more code. At first I worried too but I&#8217;ve learned to live with that.</p>
<p>I think Adobe should loosen the grip of ECMA 4 on ActionScript which it already has broken anyway by not being fully compatible to it anymore. haXe is doing many things right where Adobe fails with ActionScript, advanced OOP features like Generics, typed Arrays with auto-casting, in-lining, Enums etc. To stay up to competition ActionScript needs these and then some. Others have already listed their feature hopes which I reflect but here are they once more:</p>
<ul>
<li>Method Overloading (because writing Open-Source frameworks and libraries often is a travesty without this).</li>
<li>Generics</li>
<li>Threading (Oh yes!)</li>
<li>Multi-CPU-Support</li>
<li>Private Constructors (bring them back!)</li>
<li>True Abstract classes/methods</li>
<li>Enums (has been a long time wish. Don&#8217;t know what the problem is!)</li>
<li>Hardware rendering (PV3D etc. are great and all but whats the point if you hit the wall with under 1000 triangles?!)</li>
<li>Compiler performance (Seriously MXMLC needs to hide in the corner if the haXe compiler shows up!)</li>
<li>And last but not least I&#8217;d like to see a lot more love for the AIR runtime like better OS-integration (changing screen resolution for example) and better performance and resource management (the way how AIR wastes up RAM is not from this planet!)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/actionscript-beaten-like-a-ginger-stepchild/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>FDT Template: Quick-create Child DisplayObject</title>
		<link>http://blog.hexagonstar.com/fdt-template-quick-create-child-displayobject/</link>
		<comments>http://blog.hexagonstar.com/fdt-template-quick-create-child-displayobject/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 12:20:09 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Templates]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=865</guid>
		<description><![CDATA[Let&#8217;s burrow some in my FDT templates crate &#8230; how often do you have to add a child display object to another display object? If the answer is &#8216;very often&#8217; then this small FDT template might save you some time. ${property} = new ${cursor}; addChild(${property}); It&#8217;s very simple but effective. Usage: Let&#8217;s for example name [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s burrow some in my FDT templates crate &#8230; how often do you have to add a child display object to another display object? If the answer is &#8216;very often&#8217; then this small FDT template might save you some time.</p>
<pre lang="actionscript3">${property} = new ${cursor};
addChild(${property});</pre>
<p>It&#8217;s very simple but effective. Usage: Let&#8217;s for example name this template &#8220;newDisplayObject&#8221; and after invoking it with CTRL+SPACE you start typing the name of the display object property that you defined as a class property before which then should be auto-completed, then you hit TAB and then CTRL+SPACE to quick-insert the type after the &#8216;new&#8217; operator (FDT is finding the correct type for you) and Voila, you&#8217;re finished, no need to add that extra &#8216;addChild&#8217; manually.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/fdt-template-quick-create-child-displayobject/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AIR needs GPU support!</title>
		<link>http://blog.hexagonstar.com/air-needs-gpu-support/</link>
		<comments>http://blog.hexagonstar.com/air-needs-gpu-support/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 04:21:43 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Fullscreen]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[WModes]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=863</guid>
		<description><![CDATA[Imagine you&#8217;re writing an AIR-based game that uses fullscreen at a rather high resolution and a full-frame rendering engine like, say, PV3D and you find out that AIR can&#8217;t really handle this. After a lot of research it turns out that there seems to be no way in an AIR app to use the GPU [...]]]></description>
			<content:encoded><![CDATA[<p>Imagine you&#8217;re writing an AIR-based game that uses fullscreen at a rather high resolution and a full-frame rendering engine like, say, PV3D and you find out that AIR can&#8217;t really handle this.</p>
<p>After a lot of research it turns out that there seems to be no way in an AIR app to use the GPU mode that is otherwise supported by Flash embedded in HTML via wmodes parameter. In fact <a href="http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS2E9C7F3B-6A7C-4c5d-8ADD-5B23446FBEEB.html" target="_blank">the docs state</a> it&#8217;s not even supported by AIR &#8230;</p>
<blockquote><p><em>&#8230; Flash Player 10 introduces two window modes, direct and GPU compositing, which you can enable through the publish settings in the Flash authoring tool. These modes are not supported in AIR &#8230;</em></p></blockquote>
<p>While this is a definitive must for a hopefully soon appearing update there&#8217;s another issue with fullscreen modes &#8230; AIR doesn&#8217;t really feature any decent solution for fullscreen! You can have your app to be either in fullscreen OR in windowed mode but trying to be able to switch between both looks very ugly because the system chrome isn&#8217;t being disabled automatically when switching to fullscreen which results in that the window size will simply get maximized. So creating applications where you could let the user switch between fullscreen and windowed mode seems to be impossible at the moment with AIR 1.5.</p>
<p>I can understand that the Flash player on the web needs it&#8217;s security restrictions in this regard but AIR should definitely not be touched by this! I hope Adobe will improve this for a future update, AIR is a great platform for (complex) game development but these two issues are serious limitations to that!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/air-needs-gpu-support/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Setting up Eclipse for Flash Developers</title>
		<link>http://blog.hexagonstar.com/eclipse-for-flash-devs/</link>
		<comments>http://blog.hexagonstar.com/eclipse-for-flash-devs/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 17:19:07 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=665</guid>
		<description><![CDATA[I&#8217;ve been using Eclipse and FDT for several years now to develop Flash (and Flex) applications but I never really managed to set up Eclipse to exactly fit my needs. Either some desired tools were missing or I installed plug-ins that slowed down Eclipse with a truck load of stuff that I never need. So [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Eclipse and FDT for several years now to develop Flash (and Flex) applications but I never really managed to set up Eclipse to exactly fit my needs. Either some desired tools were missing or I installed plug-ins that slowed down Eclipse with a truck load of stuff that I never need.</p>
<p>So today I finally figured out how to install the plug-ins that I really need and nothing else (well &#8230; almost nothing else). The following guide describes how you can set up your own custom Eclipse tailored for Flash/Flex development which features FDT plus Subclipse, a HTML, CSS, JavaScript and XML Editor and then some. The CSS Editor becomes especially useful for Flex Stylesheets.</p>
<p><span id="more-665"></span><strong> </strong></p>
<hr /><strong>UPDATE: This guide is now outdated! I recommend to head over to my newest guide of</strong> <a href="http://blog.hexagonstar.com/setting-up-the-ultimate-flash-development-environment/" target="_self"><strong>Setting up the Ultimate Flash Development Environment</strong></a>!</p>
<hr />
<ol>
<li>First I recommend to wipe your standard Sun Java runtime and install JRockit instead. JRockit is a highly optimized Java runtime from Oracle which is free and can be downloaded <a href="http://www.oracle.com/technology/software/products/jrockit/index.html" target="_blank">here</a>. I recommend getting the &#8216;Real-Time&#8217; version (you have to register at their site to be able to download but I&#8217;d say it&#8217;s worth it).<br />
You might also want to add a system variable under Windows named JAVA_HOME that points to the JRockit runtime path if you want the Flex SDK compiler to make use of JRockit.</li>
<li>Go to <a href="http://www.eclipse.org/downloads/" target="_blank">eclipse.org</a> and download the &#8220;Eclipse IDE for Java Developers&#8221; (~85MB). Currently the latest version of Eclipse Ganymede is v3.4.2. The reason I choose the Java Dev distribution is because it is not as loaded as the Classic version or some other versions (we don&#8217;t need Plug-In development do we?!) but it contains some niceties which can be very useful for us, notably Mylyn, a decent XML editor and a cool Snippets plug-in which can be useful even though we already get the Templates feature with FDT.<br />
<strong>Note for Vista users:</strong> If you&#8217;re under Windows Vista and use UAC like me, I recommend <strong>not</strong> to put the Eclipse folder into your Program Files. If you do this Eclipse will split up your installation and put all your additional plug-ins into a sub folder in your user folder. And so far I&#8217;ve always ran into troubles with this when updating Plug-ins at a later time. Instead I&#8217;ve created a folder named &#8216;Applications&#8217; in my user folder into which I install all applications that have trouble with Vista&#8217;s UAC, and so Eclipse is placed there as well (e.g. C:UsersusernameApplicationsEclipse).</li>
<li>Next edit your <strong>eclipse.ini</strong> to something like the following:
<pre>-vm "C:Program Files (x86)/Java/jrrt/jre/bin/javaw.exe"
-showsplash
-framework
pluginsorg.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Xms768M
-Xmx768M
-XX:PermSize=256M
-XX:MaxPermSize=512M
-XX:+UseParallelGC</pre>
<p>&#8230; of course you need to correct the path to the JRockit runtime and you might need to change Xms/Xmx as your system fits, however a minimum of 512MB is recommended for use with FDT. (While you&#8217;re at it, you might wanna replace the splash.bmp file in Eclipse/plugins/ org.eclipse.platform_x.x.xxx.vxxxxxxxxxxxx which <a href="http://kg.mango12.com/misc/splash3.png" target="_blank" rel="lightbox[665]">this</a> one).</li>
<li>Install Subclipse by adding the Subclipse update URL from the <a href="http://subclipse.tigris.org/servlets/ProjectProcess;jsessionid=8023915D3AB7320031DEB03FFD7E666C?pageID=p4wYuA" target="_blank">Subclipse website</a> to your Eclipse Help/Software Updates dialog. I recommend the 1.4.x release as in the 1.6.x release SVNKit seems not to be supported at the time of this writing. Be sure to install &#8230;
<ul>
<li>Subclipse</li>
<li>Client Adapter</li>
<li>Native Library Adapter</li>
<li>JNA Library</li>
<li>SVNKit Client Adapter</li>
<li>SVNKit Library</li>
</ul>
<p>&#8230; and &#8211; if you want &#8211; Subclipse Integration for Mylyn and Subversion Revision Graph. Restart Eclipse after install.</li>
<li>Next up is Aptana, or at least the parts that we want from it. By default Aptana comes with a freight full of web dev stuff that we as Flash deveopers probably wont ever need. However I find it useful to have a decent HTML, CSS and Javascript editor at hand.<br />
Grab the Aptana update URL from their <a href="http://aptana.com/studio/download/thanks?platform=plugin&amp;os=false&amp;ev=3.4" target="_blank">site</a> (probably <strong>http://update.aptana.com/update/studio/3.4</strong> ) and proceed the same way as with Subclipse. Aptana will first install a bootstrap installer after which Eclipse is restarted and then starts with the real installation. At that point you are able to choose which components of Aptana you want to install. I choose the following &#8230;</p>
<ul>
<li>Aptana Editor Infrastructure</li>
<li>HTML Editor</li>
<li>CSS Editor</li>
<li>Javascript Editor</li>
</ul>
<p>Let it download and install those parts. After install and Eclipse restart for some strange reason Aptana will continue to nag us with the install dialog to install other parts of the Aptana package (probably the Aptana Web Development Tools). But we don&#8217;t want all that baggage, right?! To get rid of the install nag, press cancel, quit Eclipse and then do the following &#8230;</p>
<ul>
<li>navigate to Eclipse/features and delete or move the<br />
<strong>com.aptana.ide.feature.eclipseXX. aptana.bootstrap _X.X.X.XXXXX-XXXXXXXX</strong> folder.</li>
<li>navigate to Eclipse/plugins and delete or move the files:<br />
<strong>com.aptana.ide.eclipseXX.aptana.bootstrap_X.X.X.XXXXX.jar</strong><br />
<strong>com.aptana.ide.server.portal_X.X.X.XXXXXX.jar</strong><br />
<strong>org.mortbay.jetty_X.X.XX.vXXXXXXXXXXXX.jar</strong></li>
</ul>
<p>Removing the first three parts kills the install nag. The last file is not really necessary to delete but doing so prevents a feature of Aptana that establishes a HTML preview server even though we only want to build Flash projects.</li>
<li>At last we install our main tool, FDT. Get the update URL from the <a href="http://solutions.powerflasher.com/products/fdt-3-actionscript-editor/how-to-install-fdt/" target="_blank">FDT website</a>, add it to your Eclipse Software Updates dialog as usual and proceed to install. I choose the latest beta which is at <strong>http://fdt.powerflasher.com/update_beta/</strong>. Installing FDT might take a while as the package is quite large, including a shipped version of the Flex SDK.</li>
<li>Finished! Enjoy your light-weight (in Eclipse terms) setup and start coding your soul out! I hope this guide was useful for anyone to get their Eclipse install right! However I&#8217;m by no means an Eclipse expert so if you got any hints or improvement notes to make the install even better let us know!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/eclipse-for-flash-devs/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Alcon 3.1 Update</title>
		<link>http://blog.hexagonstar.com/alcon-31-update/</link>
		<comments>http://blog.hexagonstar.com/alcon-31-update/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 09:45:57 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=663</guid>
		<description><![CDATA[Although Alcon version 4 is currently under development I&#8217;ve decided to release a small update for Alcon 3, version 3.1 since I&#8217;ve received a code signing certificate from Adobe and wanted to keep up with re-releasing the now-signed application on the AIR Market Place. Besides that Alcon is now code-signed there is exactly one new [...]]]></description>
			<content:encoded><![CDATA[<p>Although <a href="http://blog.hexagonstar.com/alcon/">Alcon</a> version 4 is currently under development I&#8217;ve decided to release a small update for Alcon 3, version 3.1 since I&#8217;ve received a code signing certificate from Adobe and wanted to keep up with re-releasing the now-signed application on the <a href="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.offering&amp;offeringID=10317" target="_blank">AIR Market Place</a>.</p>
<p>Besides that Alcon is now code-signed there is exactly one new feature in v3.1 which I called <strong>Key Tracer</strong>. You can toggle Key Tracing Mode from the Log menu. If you enable it you are able to press any keys and their key code (and if available character code) will be listed in Alcon&#8217;s output window which is a useful feature if you want to know the codes for some specific keys quickly.</p>
<p>More features where planned (and already started) like a Search function, Log Level Filtering and even a Calculator but these haven&#8217;t made it finished yet into v3 so most of them will come with version 4, which is &#8211; yet again &#8211; a complete re-write (I do loathe my source code that is over one year old <img src='http://blog.hexagonstar.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</p>
<p>The newest version can as always be found <a href="http://blog.hexagonstar.com/alcon/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/alcon-31-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

