Adobe has started something called the Open Screen Project. They’re going to do 4 things as part of this.

  • Removing restrictions on use of the SWF and FLV/F4V specifications
  • Publishing the device porting layer APIs for Adobe Flash Player
  • Publishing the Adobe Flash® Cast™ protocol and the AMF protocol for robust data services
  • Removing licensing fees – making next major releases of Adobe Flash Player and Adobe AIR for devices free

This is the way the winds are blowing anyway, but regardless it’s a great step forward. The most important thing I see is that the Flash specifications no longer require the reader to not make a Flash Player based on them, allowing the proliferation of open-source alternatives. Since the offical player can also be freely ported to different environments as well, it looks like Flash is, and will remain, the standard.

I read this post on what not to do with private properties. It’s for Java, but applies to Flash as well. Apparently declaring a property is the “amateur” way to do it. This is how I would do it.

public class Person {
private var _age:int;
public function Person(age:int) {
_age = age;
}
public function birthday():void {
_age++;
}
}

According to this fellow, that’s bad practice. You should always use accessors! Why write short concise code when you can write three times as much? Instead of age, use getAge() and setAge() because apparently its a lot better to write setAge(getAge()+1), rather than write age++.

Flash’s accessors would allow you to write age++, but this is still the most disturbingly defensive code I’ve ever seen. It’s a private property! A class is supposed to be able to manage its own properties. It’s other classes you’re supposed to mistrust, not your own. If a class has become so big it requires this kind of nonsense that’s a pretty good sign it should be split up into smaller classes.

In my opinion his only valid complaint is that its easier to make breakpoints. Fortunatly most of the comments for that article disagree with his opinion.

The serial you get works on the Linux version, which is currently in alpha. Get your serial here. Thanks to Colin Moock for pointing it out.

Starfield Stackers Demo

March 22nd, 2008

A while back Andrew Dickman and I tried making games together as an artist/programmer duo.

This is easily the best thing I think we came up with because it’s the most fun to look at and play in its incomplete state. I wrote some decent AI for the game, which I’ve never actually beaten on the hardest difficulty. The gameplay is basically identical to Puyo Puyo, otherwise known as Dr. Robotnik’s Mean Bean Machine and Kirby’s Avalanche.

Use the arrow keys to move, and the spacebar to “spin” the blobs. Chain together 4+ blobs of the same color to clear them and any nearby black blobs. You send more black blobs to your enemy the bigger the chain, and way more than that if you pull off combos.

This game is so incomplete you can’t switch between modes in the game, so you’ll have to pick the type of game you want to play from here.