Wednesday, August 26th, 2009
Even though I love ActionScript more than my daily meal I’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’m craving for more! My dream has since long been to design and develop a large-scale role-playing game and I’m usually overflowing from new ideas coming to my mind every day that it’s almost hard to track all of them.
I could go on and make this project an oldschool-style game with 2D graphics like some other indie devs 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 “no!” to my ambitious plans.
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 …
(more…)
Filed under Dev | 21 Comments »
Tuesday, August 11th, 2009

I’ve been designing on a rather ambitious Role-Playing game project since a while now (in fact quite a long while but I’m not in hurry to finish it anytime soon) and while I’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’t made a decision on the type of graphical projection for the game so far. I’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.
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 all sorts of projection used in games but I believe these the ones most commonly used for role-playing games.
(more…)
Filed under Design, Dev, Featured, Random Picks | 6 Comments »
Monday, August 10th, 2009
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’s it’s stuck in the middle of nowhere, that Adobe isn’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.
(more…)
Filed under Dev | 20 Comments »
Saturday, July 18th, 2009
Let’s burrow some in my FDT templates crate … how often do you have to add a child display object to another display object? If the answer is ‘very often’ then this small FDT template might save you some time.
${property} = new ${cursor};
addChild(${property});
It’s very simple but effective. Usage: Let’s for example name this template “newDisplayObject” 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 ‘new’ operator (FDT is finding the correct type for you) and Voila, you’re finished, no need to add that extra ‘addChild’ manually.
Filed under Dev, Random Picks | 1 Comment »
Wednesday, June 24th, 2009
Imagine you’re writing an AIR-based game that uses fullscreen at a rather high resolution and a full-frame rendering engine like, say, PV3D and you find out that AIR can’t really handle this.
After a lot of research it turns out that there seems to be no way in an AIR app to use the GPU mode that is otherwise supported by Flash embedded in HTML via wmodes parameter. In fact the docs state it’s not even supported by AIR …
… Flash Player 10 introduces two window modes, direct and GPU compositing, which you can enable through the publish settings in the Flash authoring tool. These modes are not supported in AIR …
While this is a definitive must for a hopefully soon appearing update there’s another issue with fullscreen modes … AIR doesn’t really feature any decent solution for fullscreen! You can have your app to be either in fullscreen OR in windowed mode but trying to be able to switch between both looks very ugly because the system chrome isn’t being disabled automatically when switching to fullscreen which results in that the window size will simply get maximized. So creating applications where you could let the user switch between fullscreen and windowed mode seems to be impossible at the moment with AIR 1.5.
I can understand that the Flash player on the web needs it’s security restrictions in this regard but AIR should definitely not be touched by this! I hope Adobe will improve this for a future update, AIR is a great platform for (complex) game development but these two issues are serious limitations to that!
Filed under Dev | 1 Comment »
Wednesday, May 6th, 2009
Probably old news but I’ve just found some time to read about the recently released pushbutton engine, a modular ActionScript 3 engine tailored especially for game development. It seems that Jeff Tunnel & Co (of Garage Games fame) were sitting down and wrote some serious ActionScript library overnight.
“…and a component system which lets you easily package game functionality into reusable modules. The component system draws on nearly a decade of game development history…”
This looks very promising indeed and the component structure makes a lot of sense.
I’ve been working on the hexagonLib on and off but time is sparse currently and so it seems I would never get it into a decent release state. I Might as well see how the pb engine works out for me. Let’s see how this engine fits for my current role-playing game project!
Filed under Dev | 16 Comments »
Sunday, April 12th, 2009
I’ve been using Eclipse and FDT for several years now to develop Flash (and Flex) applications but I never really managed to set up Eclipse to exactly fit my needs. Either some desired tools were missing or I installed plug-ins that slowed down Eclipse with a truck load of stuff that I never need.
So today I finally figured out how to install the plug-ins that I really need and nothing else (well … almost nothing else). The following guide describes how you can set up your own custom Eclipse tailored for Flash/Flex development which features FDT plus Subclipse, a HTML, CSS, JavaScript and XML Editor and then some. The CSS Editor becomes especially useful for Flex Stylesheets.
(more…)
Filed under Dev, Random Picks | 33 Comments »
Sunday, April 5th, 2009
Although Alcon version 4 is currently under development I’ve decided to release a small update for Alcon 3, version 3.1 since I’ve received a code signing certificate from Adobe and wanted to keep up with re-releasing the now-signed application on the AIR Market Place.
Besides that Alcon is now code-signed there is exactly one new feature in v3.1 which I called Key Tracer. You can toggle Key Tracing Mode from the Log menu. If you enable it you are able to press any keys and their key code (and if available character code) will be listed in Alcon’s output window which is a useful feature if you want to know the codes for some specific keys quickly.
More features where planned (and already started) like a Search function, Log Level Filtering and even a Calculator but these haven’t made it finished yet into v3 so most of them will come with version 4, which is – yet again – a complete re-write (I do loathe my source code that is over one year old
).
The newest version can as always be found here.
Filed under Dev | No Comments »
Friday, December 5th, 2008
I often browse through code libraries written by others and can’t deny noticing that so many developers are making exaggerated use of the ‘this’ keyword in their code. Today I came across CASAlib an otherwise very neat and certainly helpful library and after roaming through some of the code base it turns out that in most classes they’ve put ‘this’ in front of every single class property.
It seems that many newcomers to ActionScript still don’t understand the use of ‘this’ and that it’s only really necessary in rare cases, for example if a method parameter has the same name like it’s relative class property or in a few scope-related situations. It’s also good to have ‘this’ at hand if a dynamic property of a class needs to be accessed (this["foo"]) but other than that please do all a favor and throw out those unnecessary ‘this’! Ban it, lock it in your basement and don’t let it out unless there’s really a need for it!
Filed under Dev | 22 Comments »
Monday, September 8th, 2008
When writing classes for a framework I usually put a custom toString method into important classes so that debugging becomes easier. Normally they would go like something along the lines of:
override public function toString():String {
return "[ClassName]";
}
… Sometimes adding properties to the returned String that give back information about the class, e.g.
override public function toString():String {
return "[ImageClass, size=" + _size + "]";
}
But writing them rigid like that is a disadvantage when you decide later to refactor class names. Admittedly it’s also not a very elegant way so I got the idea to take the class name that is returned by getQualifiedClassName(). The only problem is that getQualifiedClassName not only provides the type name but also the whole package String of the class. Regular Expressions to the rescue! After twiddling around with them for a while (I’m by no means a RegExp expert) I got my toString method into the shape that I desired:
override public function toString():String {
return "[" + getQualifiedClassName(this).match("[^:]*$")[0] + ", size=" + _size + "]";
}
This way it matches the String returned by getQualifiedClassName with the Regular Expression [^:]*$ which checks from the right end for an arbitrary text up to the first occurring colon, but without including the colon. Taking the first element of the Array returned by match() and you got what you need!
A nice way of using this is when writing abstract classes that contain the toString method and any subclass can use that toString method without the need to override it … that is of course unless you want ot add other output information.
Filed under Dev, Random Picks | 11 Comments »
Monday, August 25th, 2008
It took longer than expected thanks to obstacles like a crashed harddisk and other minorities in between but it’s finally done and I now can announce the immediate availability of Alcon 3! It runs currently on Windows and Mac and hopefully soon on Linux too. When I tested it on Ubuntu it installed and started fine but the LocalConnection seems not to cut it in the current alpha release of the Linux AIR Runtime. Anyone know more details about this?
I recommend to check out the Alcon Page for more details and of course the download link. Enjoy your debugging!
Filed under Dev | 6 Comments »
Thursday, August 21st, 2008
Since so many of you (well, at least four people) are feverishly waiting for the release of Alcon 3 here’s a preview screenshot to comfort your waiting time. The shot shows Alcon’s trace output panel with some bogus Array being traced iteratively and as a hex dump. the top of the window displays Alcon’s new App Monitor which can be used to monitor framerate, frame render time and memory consumption. It also shows the version of the runtime that the monitored application is run in (clicking on the version text will list all System.capabilities properties in the Trace panel).

Then there’s the Options dialog with Trace options opened where you will be able to set font, colors etc. On the File Loggers Options you will be able to optionally enable up to two File Loggers that can be used for example to log the flashlog.txt to see output made by ActionScript’s own trace method.
There’s of course the new Object Inspector and a new Help panel for Quickstart Help and API Docs. Alcon 3 is being written 99% in ActionScript 3 using FDT (the 1% left being the Main.mxml that is necessary to compile a Flex application). It’s only a matter of a few days now until release, some bug fixing, finishing touches and a few more documentation to write and it will be out so please endure!
Filed under Dev | 10 Comments »