<?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; Dev</title>
	<atom:link href="http://blog.hexagonstar.com/category/dev/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>Flash gets Low-Level 3D API, golden Times for Game Devs ahead</title>
		<link>http://blog.hexagonstar.com/flash-gets-low-level-3d/</link>
		<comments>http://blog.hexagonstar.com/flash-gets-low-level-3d/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 04:50:24 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Molehill]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=1833</guid>
		<description><![CDATA[I&#8217;ve heard plans and rumors about this before but it seems now it&#8217;s official: The next versions of the Flash and AIR runtimes will have a low-level 3D API on board that utilizes DirectX, OpenGL and OpenGL ES. Maybe this racing demo video will convince most game devs who were skeptical about the Flash platform [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve heard plans and rumors about this before but it seems now it&#8217;s official: The next versions of the Flash and AIR runtimes will have a <a href="http://labs.adobe.com/technologies/flash/molehill/" target="_blank">low-level 3D API</a> on board that utilizes DirectX, OpenGL and OpenGL ES. Maybe this racing demo video will convince most game devs who were skeptical about the Flash platform before.</p>
<p style="text-align: center;">
<p><a href="http://www.youtube.com/watch?v=tgwi0lWgX8w">http://www.youtube.com/watch?v=tgwi0lWgX8w</a></p>
</p>
<p>The demo was coded by the guys who maintain <a href="http://alternativaplatform.com/en/" target="_blank">Alternative3D</a>, one of the the few software-rendered 3D engines for Flash that are better suited for 3D game development. The engine has recently been made free of charge for commercial development. The makers only require a back link to their product website in your game now.</p>
<p>I find Alternativa3D quite attractive, in particular after seeing videos and screenshots of <strong><a href="http://blog.alternativaplatform.com/en/2009/04/02/war-ru-open-beta/" target="_blank">War.ru</a></strong>, an online multiplayer Role-playing game that reminds me of RPGs classics like <strong>Wizardry,</strong> just with better graphics. Unfortunately the whole game is in Russian only for now and so far I haven&#8217;t been able to log in, the load procedure is very slow and always gets stuck at some point for me.</p>
<p><a href="http://blog.hexagonstar.com/wp-content/uploads/war_screen12.jpg" rel="lightbox[1833]"><img class="aligncenter size-large wp-image-1835" title="war.ru screen 12" src="http://blog.hexagonstar.com/wp-content/uploads/war_screen12-490x332.jpg" alt="" width="490" height="332" /></a></p>
<p><a href="http://blog.hexagonstar.com/wp-content/uploads/war_screen03.jpg" rel="lightbox[1833]"><img class="aligncenter size-large wp-image-1836" title="war.ru screen 3" src="http://blog.hexagonstar.com/wp-content/uploads/war_screen03-490x332.jpg" alt="" width="490" height="332" /></a></p>
<p>Still the game looks very promising with some nice looking 3D environments. The actors (NPC&#8217;s and creatures) seem to be inanimate billboard sprites though so they only look impressive on a static screenshot but imagine what would be possible with the newly achieved 3D power! I&#8217;m looking forward to create vast 3D environments with autonomous actor AIs a&#8217;la Oblivion or Fallout 3! The only bottleneck will &#8211; yet again &#8211; be the content creation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/flash-gets-low-level-3d/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Random Accessing Zip Files with Adobe AIR</title>
		<link>http://blog.hexagonstar.com/random-accessing-zip-files-with-adobe-air/</link>
		<comments>http://blog.hexagonstar.com/random-accessing-zip-files-with-adobe-air/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 05:56:50 +0000</pubDate>
		<dc:creator>sascha</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[FileIO]]></category>
		<category><![CDATA[Files]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Random Access]]></category>
		<category><![CDATA[Zip]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=1793</guid>
		<description><![CDATA[I&#8217;ve recently re-published a new version of hexagonlib, a universal AS3 class library at code.google.com/p/hexagonlib/. Some parts that were originally in the library have been removed, in particular the UI components and the game package. This has been done because I&#8217;m working on a game engine (more about that one later) that will probably exclusively [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1801 alignleft" src="http://blog.hexagonstar.com/wp-content/uploads/logo.png" alt="" width="139" height="52" />I&#8217;ve recently re-published a new version of <strong>hexagonlib</strong>, a universal AS3 class library at <a href="http://code.google.com/p/hexagonlib/" target="_blank">code.google.com/p/hexagonlib/</a>. Some parts that were originally in the library have been removed, in particular the UI components and the game package. This has been done because I&#8217;m working on a game engine (more about that one later) that will probably exclusively include these parts. The hexagonlib is instead targeted at a broader area of development, not just games.</p>
<p>Either way, many classes have been updated and improved (and many still need too *ugh*) and what is particularly worth mentioning are the <strong>file IO</strong> classes which provide a unified way to work with different file formats. Basically the way how files work in hexagonlib is that you can create file objects of any specific file type (like text, binary, image, XML, etc.), give them a path to a physical file and then add them to a loader (BulkLoader, FileLoader, ZipLoader) which then loads the data of the physical files into the file objects.</p>
<p>While you can use the <strong>BulkLoader</strong> class to load a collection of arbitrary files in one go with all sorts of comfort (priorities, weighted loading, load retries, multi-connections etc.) the newest addition to the library is the <a href="http://docs.hexagonstar.com/hexagonlib/com/hexagonstar/io/file/ZipLoader.html" target="_blank"><strong>ZipLoader</strong></a> class which can be used in AIR development to access a standard zip file using <a href="http://en.wikipedia.org/wiki/Random_access" target="_blank">Random Access</a>. What does that mean? It means that you can create a zip file (a very large one if you want), pack all your resource files that can be loaded by your application and then open it with your app and &#8216;load&#8217; (= extract) files from it without ever needing to load the whole zip file completely into memory. This makes accessing a large zip file very efficient because only the chunk of the requested, zipped file is loaded.</p>
<p>This is especially interesting for us game developers who desire to use large, nicely packed resource files like they are utilized in a similar fashion in most current day commercial games. For a while I was promoting to add such functionality to AIR over at Adobe Labs but that was before I knew that this can actually be done in AIR since 1.0 thanks to the <strong>FileStream</strong> class and the <em>position</em> property of it (alas, the property is not available in the <strong>URLStream</strong> class so random access is not possible on web-based Flash). The ZipLoader uses asynchronous loading to open a zip file as well as &#8216;loading&#8217; files from it because I don&#8217;t like the idea of having the application at the mercy of the file system which would be the case with synchronous access (and which is used in way too many examples on the web).</p>
<p>You can download the hexagonlib distribution over at <a href="http://code.google.com/p/hexagonlib/" target="_blank">Google Code</a>, which includes the SWCs and documentation and of course the source code is available for access via SVN. I&#8217;m updating the library on a irregular basis. There are already some Wiki pages too with code examples showing how to use the BulkLoader and ZipLoader <a href="http://code.google.com/p/hexagonlib/wiki/FileAPI" target="_blank">here</a> but I will hopefully get to write some more in-depth tutorials soon.</p>
<p><a href="http://code.google.com/p/hexagonlib/" target="_blank">hexagonlib at Google Code</a><br />
<a href="http://code.google.com/p/hexagonlib/wiki/FileAPI" target="_blank">File API Wiki</a><br />
<a href="http://docs.hexagonstar.com/hexagonlib/" target="_blank">Documentaion</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/random-accessing-zip-files-with-adobe-air/feed/</wfw:commentRss>
		<slash:comments>17</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>RPG Design: Character Development Example</title>
		<link>http://blog.hexagonstar.com/rpg-design-character-development-example/</link>
		<comments>http://blog.hexagonstar.com/rpg-design-character-development-example/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 13:36:43 +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[Character Development]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[Storywriting]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=1067</guid>
		<description><![CDATA[Welcome back to the RPG Design series where I try to talk a bit about the work and progress on my game project, the development of the darkish, space -themed computer role-playing game Stellar Conspiracy: Entanglements Of The Marenis Sector (working title). In the last part I&#8217;ve introduced the character design template I&#8217;m using and [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome back to the <a href="http://blog.hexagonstar.com/series/rpg-design/">RPG Design series</a> where I try to talk a bit about the work and progress on my game project, the development of the darkish, space -themed computer role-playing game <em><strong>Stellar Conspiracy: Entanglements Of The Marenis Sector</strong></em> (working title).</p>
<p><img class="alignright size-full wp-image-1078" style="border: 0pt none;" title="eliza5" src="http://blog.hexagonstar.com/wp-content/uploads/eliza5.png" alt="eliza5" width="200" height="168" />In the <a href="http://blog.hexagonstar.com/rpg-design-character-development/">last part</a> I&#8217;ve introduced the character design template I&#8217;m using and mentioned to post a character example next time which I&#8217;m doing hereby while introducing you to <strong><em>Eliza Retinienne</em></strong>, a Gessjanian security systems expert from the planet <em>Shielle</em>, a small world bordering on the fringe of the <em>Suulun Sector</em> which in turn stretches over a large area of the southern galaxy.</p>
<p>Eliza is one of the key characters in the game&#8217;s story and one of the characters whom the player is supposed to encounter and who eventually joins the player&#8217;s party. She is also supposed to receive her own side-quest in which the player can engage to help her out of the threatening situation she is currently in.</p>
<p>Note that this sheet is basically just here to give an example of how the character design template can be used to shape out a character so I suggest not to look too critically into the details. Things can (and will) still change and also the sheet is not filled out completely, for one reason because some details are irrelevant for this character and for another that I haven&#8217;t found any other suitable details for her yet. Either way I hope this gives a good example of how to utilize the template!</p>
<p><span id="more-1067"></span></p>
<table>
<tbody>
<tr>
<td>Full Name</td>
<td>Eliza Cathrine Retinienne</td>
</tr>
<tr>
<td>Nickname or short name</td>
<td>Eliza, sometimes called Cathy</td>
</tr>
<tr>
<td>Image</td>
<td><img class="size-full wp-image-1070 alignnone" style="border: 0pt none;" title="Eliza Avatar Concept" src="http://blog.hexagonstar.com/wp-content/uploads/eliza_concept.jpg" alt="Eliza Avatar Concept" width="300" height="251" /></td>
</tr>
<tr>
<td>Character Type</td>
<td>Co-Protagonist</td>
</tr>
<tr>
<td>Gender</td>
<td>Female</td>
</tr>
<tr>
<td>Species</td>
<td>Gessjanian</td>
</tr>
<tr>
<td>Class</td>
<td>Security Systems Expert</td>
</tr>
<tr>
<td>Age</td>
<td>30</td>
</tr>
<tr>
<td>Summary</td>
<td>Eliza used to be a forefront engineer who worked for Seciate Armaments on a highly confidential Security Systems project. Later during the project she came to disagreements with Seciate about the target clients for the system she worked on. She left Seciate in a dispute, not accepting the bribe she has been offered to stay quiet. She had enough presence of mind to suspect that she would soon become the subject of an assassination attempt, in order to prevent her knowledge being of use to anyone else. Seciate however underestimated her smartness and she narrowly escaped while killing the assassin (rather unintentionally though). Since then she is on the run from SECIATE.</td>
</tr>
<tr>
<td>Biography</td>
<td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Appearance Information</th>
</tr>
<tr>
<td>General Appearance</td>
<td>As a Gessjanian she is typically small and delicate. Gessjanians look almost human-like but not quite completely so. (She still looks too casual! Needs a few exotic touch-ups here and there, maybe a face tattoo,<span> </span>Shielleese jewelry or glasses).</td>
</tr>
<tr>
<td>Dress Style</td>
<td>Eliza wears an inconspicuous dress consisting of a beige utility overall, black engineer boots and a rugged, dark brown leather jacket with orange highlights.</td>
</tr>
<tr>
<td>Trademark Objects(s)</td>
<td>Might be something very simple like for example a red bandana wrapped around the boot.</td>
</tr>
<tr>
<td>Other worn objects (Jewelry, Tattoos, etc.)</td>
<td></td>
</tr>
<tr>
<td>Height</td>
<td>Medium tending to small (~155cm)</td>
</tr>
<tr>
<td>Weight</td>
<td>In shape</td>
</tr>
<tr>
<td>Body Type</td>
<td>Petite</td>
</tr>
<tr>
<td>Eye Color</td>
<td>Brown</td>
</tr>
<tr>
<td>Hairstyle &amp; Color</td>
<td>Medium long, straight, originally dark brown but dyed to auburn/orange</td>
</tr>
<tr>
<td>Facial Hair</td>
<td>N/A</td>
</tr>
<tr>
<td>Other distinguishing or species-related features</td>
<td></td>
</tr>
<tr>
<td>Health Condition</td>
<td>Good</td>
</tr>
<tr>
<td>Signature Movement or Tic</td>
<td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Behavioral Information</th>
</tr>
<tr>
<td>Persona</td>
<td>The Damsel in Distress</td>
</tr>
<tr>
<td>Alignment</td>
<td>Neutral Good. Eliza ultimately believes in the good side but she is affected by the Player Character&#8217;s choices and alignment changes.</td>
</tr>
<tr>
<td>Single adjective to describe this character</td>
<td>Cute.</td>
</tr>
<tr>
<td>General Disposition</td>
<td>She&#8217;s on the run and she knows she&#8217;s in danger of being assassinated. She already killed somebody but she knows it was the only way to safe herself so she doesn&#8217;t feel too much guilt about it.</td>
</tr>
<tr>
<td>Traits</td>
<td></td>
</tr>
<tr>
<td>Common Emotions</td>
<td>Encouraging, Worried, Stubborn</td>
</tr>
<tr>
<td>Emotional Stability</td>
<td>Despite the fact that she is being on the black list of her former employee she takes things pretty well. Though she occasionally suffers from Paranoia, once she joins the Player Character&#8217;s team she feels a lot safer.</td>
</tr>
<tr>
<td>Likes &amp; Loves</td>
<td></td>
</tr>
<tr>
<td>Fears</td>
<td>Her prime fear is to be caught or killed by SECIATE.</td>
</tr>
<tr>
<td>Addictions</td>
<td>None noteworthy.</td>
</tr>
<tr>
<td>Secrets</td>
<td>She carries the knowledge of SECIATE&#8217;s secret project with her. She shares the fact with the Player Character but besides her and SECIATE (incl. their client) nobody else knows about it.</td>
</tr>
<tr>
<td>Dichotomy (inner conflict of the character)</td>
<td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Professional Information</th>
</tr>
<tr>
<td>Education/Intelligence</td>
<td>She might have studied at the Shielle Technical Facility, maybe some degrees in physics, materials science and electronics engineering.</td>
</tr>
<tr>
<td>Profession and attitude towards it (good or bad)</td>
<td>She&#8217;s an expert in security systems and people with her skills in this field are rare. She is aware of this and advertises her abilities to others if it&#8217;s of use for her.</td>
</tr>
<tr>
<td>Skills</td>
<td>Security Systems, Materials Science, maybe Computer Systems</td>
</tr>
<tr>
<td>Special Abilities</td>
<td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Location Information</th>
</tr>
<tr>
<td>Residential Place</td>
<td>She&#8217;s in hiding, perhaps somewhere on an off-route-world in the Kessebour sector.</td>
</tr>
<tr>
<td>Places often visited by the character</td>
<td>Not too many, she tries to keep a low profile so she is careful of visiting public places. She tries to blend in with the crowd knowing that it makes an assassination difficult.</td>
</tr>
<tr>
<td>Where has the character been?</td>
<td>Suulun Sector, Kessebour Sector and around, maybe even some worlds in the Shicia Sector.</td>
</tr>
<tr>
<td>Locations where the character is most likely to &#8220;blend in&#8221;</td>
<td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Background Information</th>
</tr>
<tr>
<td>Birthplace</td>
<td>Shielle</td>
</tr>
<tr>
<td>Family</td>
<td>Not currently relevant.</td>
</tr>
<tr>
<td>Backstory</td>
<td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Story-related Information</th>
</tr>
<tr>
<td>Story Purpose</td>
<td>Eliza is supposed to meet (and join) the Player Character somewhere during an incident in the Kessebour sector. Once she joined the player&#8217;s party one will be able to initiate Eliza&#8217;s side-quest in that her threat from SECIATE Armaments is ultimately being resolved as an outcome (probably by bringing SECIATE down somehow with help of the Player Character&#8217;s absurdly daring courage).</td>
</tr>
<tr>
<td>Gameplay Purpose</td>
<td>Eliza takes place as the security systems expert in the player&#8217;s crew who can be used to get access to areas that would otherwise be off-limits (or much harder to access).</td>
</tr>
<tr>
<td>Why does the character involve him/herself into this situation?</td>
<td></td>
</tr>
<tr>
<td>What does the character want?</td>
<td>Primarily she wants to bring SECIATE Armaments down so that they are no longer a threat to her. There might be a secondary goal for her which could be another reason why she joins the player&#8217;s party.</td>
</tr>
<tr>
<td>Other roles and identities</td>
<td></td>
</tr>
<tr>
<td>Aspirations</td>
<td></td>
</tr>
<tr>
<td>Objective(s)</td>
<td></td>
</tr>
<tr>
<td>Reports/Answers to</td>
<td>The player (once she joined the party).</td>
</tr>
<tr>
<td>Who reports to this character?</td>
<td>Nobody.</td>
</tr>
<tr>
<td>Reactions to different events in the game</td>
<td></td>
</tr>
<tr>
<td>Moral choices the character has to make in the game</td>
<td></td>
</tr>
<tr>
<td>Relation to other significant characters</td>
<td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Dialog-related Information</th>
</tr>
<tr>
<td>Tagline</td>
<td>Something like &#8220;I know this kind of lock! Give me a minute!&#8221; … (need to think more about this one!)</td>
</tr>
<tr>
<td>Dialog Tics and Slang</td>
<td></td>
</tr>
<tr>
<td>Accent</td>
<td></td>
</tr>
<tr>
<td>Dialog Ideas</td>
<td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Additional Information</th>
</tr>
<tr>
<td>Where will (did) the character die?</td>
<td>She is not supposed to die.</td>
</tr>
<tr>
<td>Epitaph: What will go on the character&#8217;s tomb stone?</td>
<td></td>
</tr>
<tr>
<td>How did the character loose his/her virginity?</td>
<td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th colspan="2">Extra Information</th>
</tr>
<tr>
<td>Plot Ideas</td>
<td></td>
</tr>
<tr>
<td>Other Notes &amp; Ideas</td>
<td>
<ul>
<li><span style="text-decoration: line-through;">A Security Expert who was working for a questionable organization on a secret project involving a powerful illegal weapon until she realized the wrongdoings of the organization and attempted to sabotage the project. She could escape but some traces led the organization to her. Since then she is on the run from the organization and their bounty hunters and assassins.</span></li>
</ul>
</td>
</tr>
<tr>
<td>Concepts &amp; Inspirations</td>
<td></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/rpg-design-character-development-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[RPG Design]]></series:name>
	</item>
		<item>
		<title>RPG Design: Character Development</title>
		<link>http://blog.hexagonstar.com/rpg-design-character-development/</link>
		<comments>http://blog.hexagonstar.com/rpg-design-character-development/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 12:14:01 +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[Character Development]]></category>
		<category><![CDATA[Game Design]]></category>
		<category><![CDATA[NPC]]></category>
		<category><![CDATA[Plot]]></category>
		<category><![CDATA[RPG]]></category>
		<category><![CDATA[Storywriting]]></category>

		<guid isPermaLink="false">http://blog.hexagonstar.com/?p=984</guid>
		<description><![CDATA[And back to the game design topic! The part I love most about game design is that you can create worlds full of life, intricacy, intrigue and interesting characters, experimenting with scenarios and situations (that would otherwise probably have negative  repercussions in RL™). As a programmer you&#8217;d ever only write your code and if you [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-1016" style="border: 0pt none;" title="char_banner" src="http://blog.hexagonstar.com/wp-content/uploads/char_banner.png" alt="char_banner" width="512" height="100" /></p>
<p>And back to the game design topic! The part I love most about game design is that you can create worlds full of life, intricacy, intrigue and interesting characters, experimenting with scenarios and situations (that would otherwise probably have negative  repercussions in RL™).</p>
<p>As a programmer you&#8217;d ever only write your code and if you are happy with it that&#8217;s fine but we <em>one-man-game-developer types</em> are more like <em>Jack of all trades</em> who want to create complete worlds &#8230; and stories. And then tell those stories by means of the game. And maybe throw a bit (or a large chunk) of dynamics in there again &#8230; as programmers.</p>
<p>One extremely satisfying aspect of game design (for games where narrative is important) is the development of characters that should act throughout the game. Creating characters is just as much fun as the other bases! If you do it right and create deep and sympathetic characters people will love them.</p>
<p>And  even villains can be sympathetic. In fact they should be! Who likes an antagonist that is completely unsympathetic? Nobody, right? But why should you even like a villain, after all he&#8217;s the guy who needs to be defeated? The answer to this is that the guy who is the villain is so only in the context of our story. Maybe he&#8217;s not so bad after all in a different context. Or in short: Antagonists also have a life, feelings &#8230; but guess what? Now I totally digress! I actually wanted to show you my new and all fresh character template that I came up with to shape out characters for my game.</p>
<p><span id="more-984"></span></p>
<p>[ad#gog_arcanum_box]The template I&#8217;m introducing here is based on a template that is used by the two authors of  <a href="http://www.amazon.com/gp/product/158065066X/ref=s9_simz_gw_s2_p14_t1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-1&amp;pf_rd_r=0QMJ8BVQ68JKXF56VK87&amp;pf_rd_t=101&amp;pf_rd_p=470938131&amp;pf_rd_i=507846" target="_blank">The Ultimate Guide to Video Game Writing and Design</a>, a book I&#8217;ve recently purchased which I think is just slightly overrated on Amazon but still definitely worth it&#8217;s money. The two authors have the character building template fully laid out in their book for the purpose of their example but I&#8217;ve made modifications to it so that  it suits the holy needs of my RPG design.</p>
<p>This character building template is quite extensive and there might be a few items that you want to throw out for your design or you&#8217;d want to add other questions appropriately. Also, as stated in the book by the authors, when designing a new character with this it&#8217;s not required to go through this in a linear way. Skip sections and fill them in later &#8230; like a puzzle. Likewise it&#8217;s not always necessary to fill out all the boxes. Some minor characters don&#8217;t need that level of detail.</p>
<p>It&#8217;s also worth to note that most of what you fill into this template is for your eyes (or for your teams eyes) only. So write away care-freely!  Only some of this information makes it into the game anyway however the whole additional info helps to give the character the amount of depth that is needed to make him/her an exceptionally outstanding character.</p>
<p>The template consists of several tables with rows of questions on the left column and the answers or details to fill in on the right side (in which for the purpose of explanation I&#8217;ve entered a description of the kind of text that goes in).</p>
<p>So without much further ado here&#8217;s my character building template used to help creating the story for my totally epic role-playing game (which *cough* should be in the shelves somewhere within the next millennium!). In the next post I will show an example of how the template is used with one of my (player party) co-protagonist characters &#8230; hopefully without revealing too much information about the game&#8217;s story.</p>
<p>Of course feel free to use it, change it, adapt it or come up with your own template! I&#8217;d love to hear about them! And always keep in mind: <em>We&#8217;re not digging ditches or performing brain surgery here, we&#8217;re making games. Lighten up, for chrissakes.</em> (That was an actual quote from the above mentioned book).</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Full   Name</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The complete name   of the character.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Nickname   or short name</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">A nickname or   short name (if the full name is too long to be used practically in-game).</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Image</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">An image of the   character. This can also be a first sketch or a vague idea to see in which   direction it goes.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Character   Type</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Pick one (or two   if necessary) from the following list: Protagonist, Co-Protagonist,   Antagonist, Hero, Anti-Hero, Mentor, Helper, Herald, Pivotal, Sidekick,   Lackey, Ally, Henchman, Mole, Love Interest, Best Friend, Confidante,   Partner, Catalyst</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Gender</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Male/Female</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Species</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The species (or   race, ethnicity) of the character.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Class</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">RPG-related   character class as it appears in-game.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Age</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The age of the   character. This can also be an approximation.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Summary</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">A short   descriptive text about the character.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5215in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Biography</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">A biographical   text about the character. Optimally as it should appear somewhere in-game for   the player to be readable.</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">-</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">Appearance Information</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">General   Appearance</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Describe the   general appearance of the character.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Dress   Style</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">What the character   usually wears and how he/she wears it, clothing, armor etc.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Trademark   Objects(s)</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The trademark   object of the character can be for example the favorite weapon of him/her or   other items with that the character is seen often.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Other   worn objects<br />
(Jewelry, Tattoos, etc.)</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">What else does the   character wear? Jewelry? A tattoo somewhere on the body, glasses or maybe a   portable wrist computer?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Height</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The   impressionistic height of the character.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Weight</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The   impressionistic weight of the character.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Body   Type</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Is he/she slim,   slender, athletic, muscular, obese, average etc.?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Eye   Color</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The eye color.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Hairstyle   &amp; Color</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Short, long,   straight, curly, thick, thin, greasy, unkempt etc.?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Facial   Hair</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">If the character   is male and sports a beard, describe the beard here.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Other   distinguishing or</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">species-related   features</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">This could be   unique appearance features that the character posses. Like for example a   mole, a scar or a rare color pattern on those head fins of your aquatic   species.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Health   Condition</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Is the character   healthy or in a rather poor condition? Antagonists often have some sort of   ailment to associate a physical negative side with them. But also the good   guys could be affected by this.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5111in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Signature   Movement or Tic</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Does the character   move in a specific way or has any movement-related tics? And why does he/she   have these? Handle with care, don&#8217;t make your character look like a fool   (unless they are supposed to be one).</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">-</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">Behavioral Information</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Persona</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">One or two words   that fit as the characters persona. Examples could be &#8220;The   bad-ass&#8221;, &#8220;The naïve cutie&#8221;, &#8220;the thinker&#8221; etc.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Alignment</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">You can draw this   from the D&amp;D rules, e.g. lawful good, true neutral, chaotic evil etc. or   just pick any other system&#8217;s or your own definitions.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Single   adjective to describe</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">this   character</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Smart, Tough,   Arrogant, Weary, Optimistic etc.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">General   Disposition</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The general nature   and tendency of the character. What is the character&#8217;s most common attitude   and why?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Traits</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Specific traits   and characteristics that he/she possesses. Does the character have any   phobia, is he/she blind or maybe a person who cannot swim?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Common   Emotions</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Enter three or   four common emotions here. E.g. amused, angry, confused, bitter, callous,   cheerful, cynical, depressed, hopeful, love-struck etc.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Emotional   Stability</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">How well is the   characters spirit? Is he/she the confidence in person or perhaps slowly   turning into insanity?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Likes   &amp; Loves</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">What or whom does   the character likes or loves?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Fears</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">What fears does   the character possess? Unlike any phobias mentioned under &#8216;traits&#8217; this text   should describe a larger fear that might be relevant to the story.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Addictions</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Is the character   addicted to any drugs (alcohol, sweets, tobacco, harder stuff?), maybe a   gambler or a nympho?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Secrets</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">What secrets does   the character carry with them? These might be dark or embarrassing secrets   from the past that nobody else should know about but that might or might not   be revealed during the game.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.5083in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Dichotomy   (inner conflict</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">of   the character)</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Does the character   possess any inner conflict? For example an (to the outside appearing)   ruthless mercenary who actually has a good heart.</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">-</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">Professional Information</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4902in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Education/Intelligence</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">What kind of   education did the character receive. Maybe he/she is/was a doctor or a   professor.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4902in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Profession   and attitude</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">towards   it (good or bad)</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Profession can be   (but doesn&#8217;t necessarily has to be) the same as the character&#8217;s class . How   does the character stand to this profession?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4902in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Skills</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Noteworthy skills   that he/she possesses. Not necessarily skills as they appear in the game.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4902in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Special   Abilities</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Characters in   role-playing games usually posses one or more of these. A psychic who can see   into the future, a species that has the ability to see in the dark &#8230;</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">-</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">Location Information</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Residential   Place</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Where does the   character live?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Places   often visited by</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">the   character</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">These can be   places that the character frequently visits or where he/she often can be   found.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Where   has the character been?</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Did the character   travel a lot and gathered much experience meanwhile or was the character   stuck in a limited area?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Locations   where the character</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">is   most likely to &#8220;blend in&#8221;</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">A hunter might   best blend into a wilderness environment, a rogue-like character might blend   into the shady streets and bars of a city etc.</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">-</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">Background Information</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4673in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Birthplace</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Where was the   character born?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4673in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Family</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Information about   the characters family if it&#8217;s relevant. Parents, brothers or sisters,   cousins, niece or nephew, etc.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4673in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Backstory</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.227in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">What happened in   the character&#8217;s life that led to his/her current situation.</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">-</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">Story-related Information</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Story   Purpose</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">What is the   character&#8217;s purpose in the game&#8217;s story? Do they have their own agenda? (They   better have!) In Role-playing games this often becomes a whole quest related   to the character, even if it&#8217;s a side character (remember Yuffie from Final   Fantasy VII?)</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Gameplay   Purpose</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">What purposes does   the character have for the gameplay? If this us the player character then   it&#8217;s obvious: the purpose is to be controlled by the player. If it&#8217;s a side   character they could have all kinds of gameplay purposes, for example this   character can lead the player somewhere where he/she would otherwise not be   able to go. Or they could be a shop owner who sells items to the player or   perhaps they are just combat support etc.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Why   does the character involve</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">him/herself   into this situation?</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Maybe he/she has   no other choice or they are on the hunt for the same goal as the player   character (and their ways cross because of this), or are a mole and want to   lure the player into a trap, or they are altruists (heh, yeah right!) &#8230;</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">What   does the character want?</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The ultimate goal   that the character seeks.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Other   roles and identities</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Does the character   have an alter ego, maybe a secret one? For example in Star Wars Emperor   Palpatine was Darth Sidious at the same time, Ben Kenobi the Hermit was once   known as Obi-Wan Kenobi the Jedi Knight.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Aspirations</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;"><span> </span>This could be just something the character   desires, perhaps an adventurous life, wisdom, barrels of rum or being left   alone.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Objective(s)</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Objectives the   character needs to fulfill throughout the game to achieve his/her goal.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Reports/Answers   to</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">If this is one of   the player&#8217;s sidekicks they usually only reports to the player character.   Other characters might report to their hierarchical leader. Maybe the player   character needs to report to a specific NPC in-game.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Who   reports to this character?</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Other characters   that report to this character.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Reactions   to different events</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">in   the game</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Are there any   noteworthy events in the story that make the character react in a certain   way? Maybe the character is a cold-blooded killer but one event in the game   makes him reluctant to kill a specific person, maybe he&#8217;s falling in love   with one of his victims? Or a quiet and shy character starts to run berserk   because something enrages her.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Moral   choices the character</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">has   to make in the game</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Will he save the   damsel in distress &#8230; and with that neglect the fate of hundred&#8217;s of other   people? Or there might be a situation where the player can make a choice   between either him or the rest of his crew being caught and imprisoned by   adversary forces.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Relation   to other significant</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">characters</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2166in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">To which other   characters does this character has a special relation? He/she could be a   love-interest for the player character, a buddy of another character in the   crew or a character who has an aversion toward another party member.</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">-</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">Dialog-related Information</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4791in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Tagline</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">The tagline of   your character. For T-800 this was &#8220;I&#8217;ll be back!&#8221;, for Sgt.   Murtaugh this was &#8220;I&#8217;m getting too old for this shit!&#8221;. Maybe your   character doesn&#8217;t need this but it&#8217;s good to think about it.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4791in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Dialog   Tics and Slang</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Does the character   use any specific words or talking style? Maybe he&#8217;s addressing himself in the   third person, talks in a very noble manner &#8230; or the opposite (and by this I   don&#8217;t mean to <a href="http://blog.hexagonstar.com/bad-language-in-games/">overuse the F-bomb</a>!) or maybe he&#8217;s an Orc with a very low,   smooth voice like Barry White.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4791in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Accent</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Does the character   possess a certain accent? Perhaps he/she speaks human language but has a   strong accent of their own species.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4791in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Dialog   Ideas</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Enter any dialog   ideas related to this character here.</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">-</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">Additional Information</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Where   will (did) the</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">character   die?</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">In case the   character is supposed to die in the game (driven by the story) or the   character died already. Where and how did it happen?</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Epitaph:   What will go on the</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">character&#8217;s   tomb stone?</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Regardless of   whether the character dies or not.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4798in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">How   did the character loose</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">his/her   virginity?</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">Might or might not   be relevant to your story but it&#8217;s a fun question nevertheless.</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">-</p>
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 16pt;">Extra Information</p>
<div style="direction: ltr;">
<table style="border: 1pt solid #a3a3a3; direction: ltr; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4694in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Plot   Ideas</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">List any plot   ideas that are related to this character here.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4694in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Other   Notes &amp; Ideas</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">You can enter any   notes and ideas here that further help shaping the character.</p>
</td>
</tr>
<tr>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 2.4694in;">
<p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 12pt;">Concepts   &amp; Inspirations</p>
</td>
<td style="border: 1pt solid #a3a3a3; padding: 4pt; vertical-align: top; width: 4.2062in;">
<p style="margin: 0in; font-family: Calibri; font-size: 12pt;">A field to paste   images and photos into. Maybe you already have other sketches that might be   candidates for this character or you associate the character with a certain   actor/actress.</p>
</td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexagonstar.com/rpg-design-character-development/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<series:name><![CDATA[RPG Design]]></series:name>
	</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>
	</channel>
</rss>

