AIR needs GPU support!

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!

Setting up Eclipse for Flash Developers

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…)

Alcon 3.1 Update

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.

Customizing toString()

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.

Alcon 3 Out Now!

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!

Alcon 3 Preview

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!

Announcing Alcon 3

Wednesday, July 23rd, 2008

Alcon 3 is in the works! The new version is being written for Adobe AIR and that means no more hackish OS integration! Thanks to AIR the debugging tool will run nice and smooth on any supported OS and it will restore your windows size and position where you last left it, Stay On Top works properly, auto-update etc. etc. etc.

Some of the new features besides the already existing Trace Command and File Loggers are a Memory Consumption and Frames-Per-Second Monitor, a completely new and improved Object Inspector that is finally useful for Debugging, an Options dialog to comfortably configure Alcon, proper AS2 support and a couple of other minorities here and there.

The progress moves on quick enough that I dare to say that the release date is only a few weeks away from now so sit tight, it’ll be there in a heartbeat.

A Love Letter to Flash

Thursday, January 31st, 2008

Not from myself but I’d like to second his words … A Love Letter to Flash

ActionScript3 Dice Class

Tuesday, December 4th, 2007

In game development randomness is often necessary for certain tasks, be it the random distribution of graphic tiles, a random factor in NPC AI or random stats in a roleplaying game. Especially for the latter purpose the static Dice class provides a set of methods to roll dice as it is common in a Role-playing game, to be exact four-, six-, eight-, ten-, twelve-, twenty-sided and percentile dice.

(more…)

Animated Bitmap Class

Sunday, September 23rd, 2007

The AnimatedBitmap class provides functionality for Bitmap objects that are animated by using a series of still images. When creating a new AnimatedBitmap you provide a BitmapData object that contains an image that consists of the ’single-frame’ images for the animation.

(more…)

Welcome to H1DD3N.R350URC3!

These are the adventures of a random guy trying to be an independant game developer, utilizing ActionScript for programming and talking abouting gaming and nonsense in general.

Need any news feed?

 Main Feed (contains all categories), Dev Feed, Design Feed, Audio Feed, Gaming Feed, Miscellaneous Feed
Find entries: