Archive for the ‘Dev’ Category

AIR needs GPU support!

June 24th, 2009 No comments

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!

Categories: Dev Tags: , , , , ,

PushButton Engine

May 6th, 2009 16 comments

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!

Setting up Eclipse for Flash Developers

April 12th, 2009 35 comments

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.

Read more…

Categories: Dev Tags: , , , , , , ,

Alcon 3.1 Update

April 5th, 2009 No comments

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.

Categories: Dev Tags: , , , ,

Apple's Developer Membership Order System is broken!

January 4th, 2009 2 comments

Apple, you really know how to piss off developers! First you want me to pay 99$ just to be able to actually test my iPhone apps on the device then your Shop Order Form does not allow me to set it to English if I’m not living in the US/UK and to top it all your Order system is broken and thanks to that I’m now stuck at a “Thank you for your enrollment!” page without ever having enrolled into anything nor having bought the membership. Worse, you don’t allow me to re-apply the product to the shopping basket so that I might actually be able to buy it!

That’s right, I cannot buy the dev membership now because Apple’s site is obviously broken and thinks I’ve already bought the membership. An advice: DON’T leave the address fill-out page or empty your shopping cart! You will not have a chance later to come back and reach the page that puts the product into your cart.

But enough rant for today! I think I go and write some ActionScript … which is much more fun … and it’s FREE!

Categories: Dev Tags: ,

The Confusion about 'this'

December 5th, 2008 23 comments

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!

Categories: Dev Tags: , , ,

Customizing toString()

September 8th, 2008 11 comments

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!

August 25th, 2008 4 comments

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!

Categories: Dev Tags: , , , ,

Alcon 3 Preview

August 21st, 2008 11 comments

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!

Categories: Dev Tags: , , , , ,

Announcing Alcon 3

July 23rd, 2008 7 comments

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.

Categories: Dev Tags: , , ,