Archive for the ‘Random Picks’ Category
Monday, May 28th, 2007 |
Here’s a small demo that I threw together yesterday which shows how the effects in the Hexagon Framework effects package can be used. The effects package contains classes that are used on display objects to apply an animated effect on them. That is not all however. The effects send a signal back to the calling class when they are finished and there are two more classes with that effects can be arranged, namely the EffectChainer class and the EffectCombiner class.
(more…)
Filed under Dev, Random Picks | 6 Comments »
Saturday, May 26th, 2007 |

A valuable resource for everyone who is thinking/planning to write a roleplaying game … Indie developer Planewalker Games who are currently making their debut RPG The Broken Hourglass are publishing precious bits of insider information about their game engine called WeiNGINE. The Broken Hourglass is a computer roleplaying game with a strong visual relation to late nineties RPG pearls like Baldur’s Gate, Icewind Dale or Planescape: Torment (who all were based on the Infinity Engine).
Some examples of their articles: Inside the Engine - Introduction to Items, Inside the Engine - Introduction to Sprites, Rules and Mechanics - Group Skills … and there’s a whole lot more when navigating through the links at the bottom of the pages. I kind of soak up such detailed information on game/RPG design as such things are sparsely seeded on the web (you will not see such information leaking from commercial developers!)
Filed under Dev, Random Picks | 1 Comment »
Saturday, May 26th, 2007 |
In case you missed it Michael of Polygonal Labs has released a package of ActionScript 3.0 data structures that are especially dedicated for game development. He’s also writing examples on how some of the classes are used, for example Queue and Tree.
The hexagon framework will contain similar data structure classes but they will adhere more to interfaces and patterns. Nevertheless I will optimize them for speed as best as I can. In case you are wondering … no, the hexagon framework hasn’t been released yet but I can say now that it won’t take too long anymore until initial release.
Filed under Dev, Random Picks | No Comments »
Tuesday, January 16th, 2007 |
While the whole world is hyping Rich Internet Applications, I’m sitting here in my lab and could not bother less! Flex is really neat and who says that it’s only useful for shopping- or flight-ticket booking systems?! Nobody? Good! I’m using Flex to develop my game development Middleware, i.e. editors like the TileSetTool that I’m working on (if I’m not working on the hexagon framework what I’m doing most of the time). When Flex2 was still really fresh I’ve pondered to use Java for this instead but as it turned out, ActionScript 3 is fast enough for most of my desired operations.
So for now this TileSetTool can be used to convert my (custom format) tileset XML files and their belonging tileset image files into combined tsc file which are compressed and saved to disk by the tool (using Zinc). This editor is probably just the first stage to a much more versatile tilemap editor. The tool uses parts of the hexagon framework which also will contain a tile engine to support the tilesets and maps.
It’s fantastic how quick you can knock an application out of the ground with Flex and AS3 while others are still fighting with their IDE.

You can click the image to see a full screenshot of the tool. In case you’re wondering … no, I’m not working on a Flash version of Uridium 2 (would be an idea though). The tileset is only for testing purposes.
Filed under Dev, Random Picks | 7 Comments »
Thursday, December 28th, 2006 |

Filter Forge is a new software for Windows that allows creating Photoshop filters in a tree node based editor. Yep, thats right! You design filters by connecting components together with virtual wires. Imagine the possibilities! The application ships with a standalone tool as well as a Photoshop PlugIn and after you played around a bit with the trial version you might want to file this tool under “apps with that I could spend the whole day long, experimenting with it”!
(more…)
Filed under Design, Random Picks | No Comments »
Tuesday, November 28th, 2006 |
Here are some hints on how I organize my Eclipse workspace that you might find interesting if you want to keep all the stuff together in one workspace, not only the projects but also shared classes, API docs and default Ant build files.

I’m only using one workspace for all projects, no matter what technology they’re using. I’ve heard others are using one dedicated workspace for every technology and that’s fine too but I find it more practical to just use one for all. I’ve created three sub folders in the workspace named .classes, .default and .docs. Note the period at the beginning of the name. This keeps them listed before all other folders (unless you name your projects with a starting period).
The .classes folder contains subfolders for every technology (or language) I use, namely as2, as3, haxe and java. From there on the ongoing structure depends on the language. For as2 I have folders like additional, mm7, mm8, mtasc, zinc etc. For as3 I only have additional and and swc. The additional folder contains all kinds of third party packages, the swc folder only contains swc files etc. whereas for as2 the mtasc folder only contains the classes that ship with MTASC etc. Here’s a diagram of the structure …
(more…)
Filed under Dev, Random Picks | 4 Comments »
Friday, November 24th, 2006 |
While reading Advanced ActionScript 3 with Design Patterns I’ve once again came across the AS 3.0 Singleton solution that has to deal with the absence of private constructors (I’ll save my rage and cursings about who had the idea to remove them for now ;)) and while the authors are using the already well known method of using a SingletonEnforcer class outside the Singleton’s package to verify that the class cannot be instanciated via the constructor they also note that this can be doublecrossed by giving null or undefined as a constructor parameter. As this is rather sub optimal I was wondering why they don’t just check inside the Singleton constructor for a null/undefined argument and throw an exception accordingly?!
I’m sure somebody else had the same idea already but here’s my idea of a waterproof Singleton class that cannot be misused from the outside (As always, if I missed any detail that accidentally breaks hell loose feel free to correct me) …
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| package
{
public class WaterproofSingleton {
static private var _instance:Singleton;
public function Singleton(singletonEnforcer:SingletonEnforcer) {
if ((singletonEnforcer as SingletonEnforcer) == null) {
throw (new Error("Direct instantiation of a Singleton is not allowed!"));
}
}
public static function getInstance():Singleton {
if (Singleton._instance == null) {
Singleton._instance = new Singleton(new SingletonEnforcer());
}
return Singleton._instance;
}
}
}
class SingletonEnforcer {} |
Filed under Dev, Random Picks | 6 Comments »
Thursday, November 23rd, 2006 |
I’ve been reading this book by Joey Lott and Danny Patterson since yesterday and thought I’d loose a couple of words about it …
The book starts with a chapter about application design where it explains how to go through the analysis-, design- , implementation and testing phase. It introduces how to utilize Use Case- and Class Diagrams and then gives a lesson on how to use FlexUnit for unit testing. In the second chapter is a good explanation about why and how to use Interfaces (instead of Inheritance) and after that it goes into detail with teaching nine of the more common Design Patterns, namely MVC, Singleton, Factory/Template Method, Proxy, Iterator, Composite, Decorator, Command, Memento and State. In part 3 of the book you’ll find in-depth information about AS 3.0 features like Events, data IO, E4X and Regular Expressions.
(more…)
Filed under Dev, Random Picks | 3 Comments »
Sunday, August 20th, 2006 |

I’m currently developing a role-playing game in AS3.0 (non-fantasy themed!!) in my spare time. This has been and still is in the design phase since a while and I’m pondering whether to use isometric graphics or an orthogonal view (that has a slight tilt but still is fully orthogonal. If you remember Jagged Alliance you get the idea). Though orthogonal view would make things easier I feel that isometric view gives more visual freedom so I will probably end up with that.
(more…)
Filed under Dev, Random Picks | 27 Comments »
Monday, July 17th, 2006 |
Centered Selection is a simple but neat little JavaScript for Photoshop CS+ that can be used to create a rectangular or elliptical centered selection while maintaining the aspect ratio (i.e. width and height of the selection stay the same). Several options can be changed like the feather amount and the padding around the selection, whether using Antialias or not, creating an inverse selection and if an alpha channel should be created from the selection. This script can save a lot of hassle when trying to create a centered selection (imagine all that shift-, control- and space-holding and pressing to resize and drag around the selection)! As always a screenshot says more than thousand words.
(more…)
Filed under Design, Random Picks | 4 Comments »