That Alias guy's Actionscript Blog http://proalias.com/asblog/ Alias on AS en-us Alias 2005-01-31T22:35:37+00:00 hourly 1 2000-01-01T12:00+00:00 Blog Spam Hassle OK - I really don't want to do this, but despite installing mt-blacklist, and regularly checking for spam, I'm going to temporarily disable comments on here. Until sixapart figure out how to fix the whole blog spam problem, (which will... OK - I really don't want to do this, but despite installing mt-blacklist, and regularly checking for spam, I'm going to temporarily disable comments on here. Until sixapart figure out how to fix the whole blog spam problem, (which will hopefully be soon) I'm taking down comments - this sucks, but it's not really worth the hassle. I'll sort this out though - comments *will* be back.

]]>
http://proalias.com/asblog/archives/000127.php Rants Alias 2005-01-31T22:35:37+00:00
AMFPHP - INFRNO ? A few days ago, I casually weighed in on the "new name for AMFPHP" debate - I suggested the name "INFRNO", which was meant to be a reference to the numerous recursive acronyms already in use in various open source/free... A few days ago, I casually weighed in on the "new name for AMFPHP" debate - I suggested the name "INFRNO", which was meant to be a reference to the numerous recursive acronyms already in use in various open source/free software projects- INFERNO's not Flash Remoting, No. To my surprise, it has gained some traction, and it seems to have inspired people, as there's already several logo designs for it.

Anyway, opinion is not totally unanimous on this, however, as a a few people aren't so thrilled to change the name at all. As far as I understand though, the name *is* going to change, as the PHP people don't like other people using their brand. So if you care one way or the other, send an email to:

name_vote@amfphp.org

And tell them what name you want. I think the candidates so far are: INFRNO, Plash, amph, and Falcon. I'm sure they'd be open to other suggestions.

]]>
http://proalias.com/asblog/archives/000126.php Actionscript Alias 2004-12-10T17:23:15+00:00
BBC UI Component Set? Rob Bateman, who works for the BBC, (who worked on the BBC's excellent US Elections Map) posted this on the flash components mailing list today: "The flash development team at bbc news interactive (which i am a part of) is... BBC, (who worked on the BBC's excellent US Elections Map) posted this on the flash components mailing list today:
"The flash development team at bbc news interactive (which i am a part of) is planning to release the component set we currently work with on our interactive content. This will be on external website(s) such as macromedia exchange, but the release will be under GPL license, and will cost absolutely nothing!! Not only that, but we will be supplying FULL flash documentation and diagrammatic uml of ALL classes and structures, again, completely free of charge. The component set is called smx, and feature highlights include Proper Re-skinning (ie. all components, all elements, all from the same base classes, all from library objects that follow the same rules, etc etc), Properly Functioning Livepreviews, compatible with Flash 6 AND Flash 7, Optimisations to provide the same functionality of mx components in ~a quarter of the filesize with ~double the speed, DataComponents like XmlLoader and NodeBinder that are much more streamlined than their mx counterparts whil retaining the same functionality, and useful standard components such as tabpanel and slider that are still (amazingly) omitted from the basic mx set. "
You can read the full text of Rob's email here. It sounds like a very promising prospect, and knowing the BBC, there's going to be lots of good documentation. I wonder though - if you haven't paid your TV licence, can they stop you using these components?]]>
http://proalias.com/asblog/archives/000125.php Blog Alias 2004-12-02T10:30:49+00:00
EAxploitation Games... Overwork Everyone It seems that the console games industry is on the brink of meltdown due to burnout staff working practices - EA (NASDAQ: ERTS) being the most prominent offender, and the potential recipient of a potential class action lawsuit. This comes... It seems that the console games industry is on the brink of meltdown due to burnout staff working practices - EA (NASDAQ: ERTS) being the most prominent offender, and the potential recipient of a potential class action lawsuit. This comes in the wake of numerous reports of a corporate culture of abuse, burnout, death march development cycles, and gross management incompetence, according to both firsthand accounts and anonymous rants by family members of developers.

There is talk of forming a Game Developer's union, not to mention countless op-ed pieces on how to turn out a games project on schedule without losing half your developers in the process. I don't know how, but I think it's definitely time for something to change. I've eperienced long working hours on both games and web projects, and it's true that working later and harder on projects is a fact of life in creative industries - however, EA's alleged approach of a scheduled, unending crunch has got to be a sure way of destroying some of the games industry's best talent. If I had to work 12 hours a day, seven days a week, that career in carpentry would start to look damned attractive...

I, for one, am not going to be buying any EA games in the foreseeable future - and it's been a long time since I've used any of their graphics applications...

]]>
http://proalias.com/asblog/archives/000124.php Games Alias 2004-12-01T01:37:39+00:00
The _root of all evil... Whenever it's late and I'm trying to fix someone elses code, which I know next to nothing about, and that code uses loads of references to _root.someMadInstanceName.someFunction(), a certain set of Slayer lyrics comes to mind... "The root of all...
"The root of all evil is the heart of a black soul, 
A force that has lived all eternity.
A never ending search for a truth never told,
The loss of all hope and your dignity."
I must admit that I hate _root. It's almost always used to get around some crazy scope problem or other, and it usually makes it really hard to figure out what's going on in someone else's code when it uses _root.something() all over the place. For me, using _root is like admitting failure.

However, this afternoon,I was asked if I could think of a way to somehow extend _root in an AS2 class, so _root methods could be safely used in AS2 without having to put a extra movieclip in the flash display tree just to hold the class. What I came up with was the idea of creating an instance of class object in _root, and using __resolve to redirect the calls to _root into it. Check this out:

In the root timeline of your movie:
import MyMuchBetterRoot;
betterRoot = new MyMuchBetterRoot(this);

__resolve = function (name) {
        //if you wanted to monitor all the calls to _root, you could do so here
	trace("resolving "+name);
        var f:Function = function () { 
            betterRoot[name].apply(this,arguments); 
        };
   return f;
}
In the class MyMuchBetterRoot.as:
class MyMuchBetterRoot extends MovieClip{

        //pass in and store a reference to _root, in case  
        //you need to get to it later
       private var rootRef :MovieClip;

       public function MyMuchBetterRoot(rootRef){
               trace("I am a much better root than "+rootRef);
               this.rootRef = rootRef;
       }
       //random test method
       public function helloWorld(foo, bar){
               trace("Hello World");
               trace("foo="+foo);
               trace("bar="+bar);
               rootRef.foo = foo;
               rootRef.bar = bar;
       }

        public function __resolve(name){
        //if a method doesn't exist in the class, trace out an error
         trace("ERROR:Function "+name+" does not exist.");
        }

}
You then move all the _root methods into MyMuchBetterRoot.as, and let the rest of the movie call non-existant functions on _root. These calls will automatically get re-routed to the class, or, if they're referring to functions that don't exist, you'll get an error trace, with the name of the function you're calling. This means you get the best of both worlds - you can have methods on the root, but still have them in an AS2 class, and you can also track those pesky calls to _root, and possibly figure out where they're coming from. Although if I can, I usually avoid using _root altogether, I'll definitely be using this method again.]]>
http://proalias.com/asblog/archives/000123.php Actionscript Alias 2004-11-16T01:02:56+00:00
Next Generation Flash Player Colin Moock's Blog is now showing a video of the first public demonstration of the new, next-generation flash player. I looks really amazing - it's got, (presumably among other things) a new font display technology called Saffron, *much* faster graphics... Colin Moock's Blog is now showing a video of the first public demonstration of the new, next-generation flash player. I looks really amazing - it's got, (presumably among other things) a new font display technology called Saffron, *much* faster graphics playback, alpha transparency for video, and some nifty bitmap filter effects. Can't wait.

]]>
http://proalias.com/asblog/archives/000120.php Actionscript Alias 2004-10-25T15:14:04+00:00
A solution to component bloat? A company in London, Ariaware have just released a product which optimises flash projects by extracting the classes and letting you load them at runtime... So you don't have to load 70+k of classes you've already loaded just to get... A company in London, Ariaware have just released a product which optimises flash projects by extracting the classes and letting you load them at runtime... So you don't have to load 70+k of classes you've already loaded just to get components to work properly :) Very cool.

]]>
http://proalias.com/asblog/archives/000119.php Actionscript Alias 2004-10-14T16:59:14+00:00
Would people use a Flash component-specific mailing list? I'm just as guilty as the next guy of bitching about flashcoders being flooded with "broken component whinging" - people asking loads of component specific questions, which have largely eroded the quality of the flashcoders mailing list - however, I... I'm just as guilty as the next guy of bitching about flashcoders being flooded with "broken component whinging" - people asking loads of component specific questions, which have largely eroded the quality of the flashcoders mailing list - however, I think it would be very useful to have a list which specifically dealt with component problems - thereby getting it all in one place and lightening the load on flashcoders. Would people use a list like this? It would be a good place for the component gurus to hang out, and the more abstract AS questions would continue to go to flashcoders.

Anyway, the list page is here, we'll see if anyone signs up to it.

]]>
http://proalias.com/asblog/archives/000118.php Alias 2004-09-28T19:19:26+00:00
MMUG conference notes Well, the talk last night went well, I think, I didn't screw it up too bad, or fall over or knock down the podium or anything. I had fun and met a lot of interesting new people and generally I... Well, the talk last night went well, I think, I didn't screw it up too bad, or fall over or knock down the podium or anything. I had fun and met a lot of interesting new people and generally I think everyone had a good time. A couple of people have asked for the notes for the talk I gave, so I've put them online here:
download MMUG conference notes

They're in flash fomat, just unzip the files and open the html page. Not sure how much sense they'll make by themselves, but there's some interesting stuff in there.

]]>
http://proalias.com/asblog/archives/000117.php Alias 2004-09-17T19:00:52+00:00
GAMEFRAME::First Look I'm really stoked right now, because I've just finished the first milestone of GAMEFRAME, my current project. GAMEFRAME is a collection of libraries designed to assist in creating a game - it's an AS2 framework which includes things like world... I'm really stoked right now, because I've just finished the first milestone of GAMEFRAME, my current project. GAMEFRAME is a collection of libraries designed to assist in creating a game - it's an AS2 framework which includes things like world management, sprite behaviours & collision detection - stuff that virtually every game needs. I'll be talking about it at the LondonMMUG.org meeting this thursday.

Here's a demo: this demonstrates the usefulness of tree based collision detection (which gameframe makes it really easy to implement) - you can have a large number of sprites on screen at once, all moving independantly and reacting to collisions - with only a small drop in performance. This is it the expense of a small amount of accuracy, but for most games this will be good enough. I'm thinking arcade style shoot-em ups, that sort of thing. Anyway, this demo has 30 enemy sprites, and one hero sprite, moving around freely in 2 dimensions. As you can see, it performs pretty well. I'm pretty happy with the collision reactions, which I just got working tonight, thanks to Jobe Makar's Macromedia Flash MX 2004 Game Design Demystified. Anyway, check it out, let me know what you think.

Instructions: Note - this is not really a game. Just move the black square around with the arrow keys and bash into the other squares. Refresh the page to start again.
View GAMEFRAME collision demo

]]>
http://proalias.com/asblog/archives/000115.php Games Alias 2004-09-14T00:36:22+00:00
Book Review: Mathematics For Game Developers By Christopher Tremblay - Thomson Course Tehnology Mathematics For Game Developers is a really unique book. It approaches mathematical subjects from the perspective of the game developer - while still staying in-depth and accurate enough to satisfy the more mathematically... By Christopher Tremblay - Thomson Course Tehnology
cover

Mathematics For Game Developers is a really unique book. It approaches mathematical subjects from the perspective of the game developer - while still staying in-depth and accurate enough to satisfy the more mathematically minded. It covers all the essential topics - vectors, matrices,physics, calculus, manipulating equations - and it relates them directly to their applications in games programming. It introduces topics one by one, and builds upon existing knowledge - however, it's also accessible enough that you can just dip into a random chapter and not be too lost. More complex algorithmic subjects like collision detection and space partitioning are covered later on, and these topics are all handled very well. The solutions the book provides are mostly in the form of equations, so you'll need to do a little work converting them to code, but all in all I think you'll find the book invaluable. The section on space partitioning is excellent, as is its coverage of understanding lines - a topic usually skipped by math authors as it's supposedly an 'elementary' problem - however the limitations of the conventional y=mx+b approach are explored and worked around in one of the early chapters.

There is so much unique and useful information in this book, and it is presented in such an accessible way, I'd definitely recommend it to anyone who is interested in games development. A basic high school maths knowledge is assumed, but it could be read in parallel with a more conventional book to cover or revise the math basics.

The only things that count against it are the contents of the CD - no Maple evaluation (possibly not the publisher's fault), and the code samples are a little lacking - absolutely no sample code for collision detection? Unacceptable. There are also some minor typographical errors in one or two of the proofs/expansions, but nothing fatal.

Overall, a great, accessible, knowledgable book, which should find a prominent place in any serious game developer's library.

]]>
http://proalias.com/asblog/archives/000114.php Maths Alias 2004-09-13T14:08:55+00:00
Translation I've been getting a lot of traffic in the last few days, thanks to everyone who's been linking to me - I noticed, however, that some of the visitors were looking for content in languages other than English - so... I've been getting a lot of traffic in the last few days, thanks to everyone who's been linking to me - I noticed, however, that some of the visitors were looking for content in languages other than English - so to try and help out with this, I've added the "translate" box on the right hand side. This will automatically feed the page through a translation web service, and *hopefully* it will make some sense in the language it gets translated into. Hopefully this will be useful to people!

]]>
http://proalias.com/asblog/archives/000113.php Blog Alias 2004-09-12T20:41:58+00:00
MMUG I've been asked by the London MMUG to do a talk on developing flash games for their next meeting. I'll be talking about the World/Controller design pattern, which is a flash specific variation on the Model/View/Controller pattern, and also the... I've been asked by the London MMUG to do a talk on developing flash games for their next meeting. I'll be talking about the World/Controller design pattern, which is a flash specific variation on the Model/View/Controller pattern, and also the basics of tree based collision detection. I'll be posting articles & source on here to go with the talk, either just before or after the meeting.

London MMUG (formerly mmug.co.uk) now have a new website, it's at:
LondonMMUG.org.
The meeting is at 6.30pm on Spetember the 18th, doors open 6.00pm.

The details can be found here. Don't forget to register! Hope to see you there!

]]>
http://proalias.com/asblog/archives/000111.php Games Alias 2004-09-08T10:49:33+00:00
GamePackage André Michelle has released a new package of game related libraries. It's still in a very early version, but it's got a good conventional tilemap engine. Check it out here.... André Michelle has released a new package of game related libraries. It's still in a very early version, but it's got a good conventional tilemap engine. Check it out here.

]]>
http://proalias.com/asblog/archives/000109.php Games Alias 2004-09-06T10:51:08+00:00
Really Good Tutorial on SAT based collision detection As you may know, I'm all about the collision detection. So I was quite pleased to find this tutorial on the Seperating Axis Theorem on the Metanet site. Basically, the seperating axis theorem lets you get early outs on a... tutorial on the Seperating Axis Theorem on the Metanet site. Basically, the seperating axis theorem lets you get early outs on a lot of collision checks, because of the brilliantly simple theorem that if two shapes are projected on a plane, and any one of those projections do *not* intersect, then the objects cannot be in collision. Go check it out! It may solve you sloping platform game problems!]]> http://proalias.com/asblog/archives/000108.php Games Alias 2004-09-01T16:45:21+00:00