User Generated Gaming Comes to XBOX 360 – Kodu

I don’t think there’s anyone un-impressed by Little Big Planet for the Playstation 3. It’s genre defining in a throw-a-million-cycles-at-physics-and-build-anything sort of way. Alas, I’m not a PS3 owner as I rarely game at all, but I’m glad to see something similar coming to Xbox, this one perhaps leaning towards Boom Blox. This used to be known as Boku, now Kodu. I think this game is aimed at kids, not quite as grown up as LBP, but it seems to have a lot of potential, with a built in “building block” programming element. You have access to particle emitters, collision detection, spawning of objects, scripted movement and counting, the basics required for remaking almost any 8-bit gaming classic 😉 ...

January 8, 2009

Cliff Hall on PureMVC – Video

I’ve got a stack of posts scribbled over some paper that I’ve been meaning to blog about for months now regarding the MVP pattern (and ViewModels). But more on that later, because what is core to MVP is of course MVC, that most misunderstood of “patterns”… Well this one is for new-guns and MVC vets alike, Cliff Hall presents on MVC as it is applied in PureMVC, perhaps one of the most refreshing frameworks to come to light in the Flash realm, and it is spreading to many other languages, ports include Python and even JavaScript/JQuery in the works. ...

December 19, 2008

Getting Rid of If/Switch

At my last job I met a software architect who, for a Flash project, jumped in and learned ActionScript in what seemed like a few hours so he could work on the domain logic for a complex application. For background, I believe he primarily worked with .NET but this is about portable skills. Suffice to say he was indeed an extremely good coder and I’m grateful he spent some time passing on a few tips and tricks that apply to all languages, and some nice demonstrations using Haskell, ActionScript and of course C#. One such tip was the use of “pure functions” for example, which is always in the back of my mind now. (As a side note, I think learning a very different language like Haskell or in my case Ruby is a great way of keeping your mind open and it will help with your “daily” language). ...

December 9, 2008

Genetic Algorithm Evolves Better Car Using Flash

Caught this over at BoingBoing, it’s a nice Flash-based simulation that runs through rapidly evolving a vehicle design, using a physics engine to test the thing out over some terrain (not sure whether it’s home-rolled or one of the big ones). Quote from BoingBoing article, from Matthew the author: “This is a GA I wrote to design a little car for a specific terrain. It runs in real-time in Flash. The fitness function is the distance travelled before the red circles hit the ground, or time runs out. The degrees of freedom are the size and initial positions of the four circles, and length, spring constant and damping of the eight springs. The graph shows the ‘mean’ and ‘best’ fitness.” ...

December 9, 2008

OS X Secret Spotlight/Search Syntax

I got a tip from my friend Alex Peretti regarding the built in search in OSX. Skip to the end if you are familiar with the default search pains. I couldn’t understand why, when you start typing in the search box inside any folder’s Finder window, it defaults to searching inside files of the entire computer for matching text, instead of looking at filenames inside the current folder. That means every time I search for something I have to change the settings (they aren’t stored) because 99% of my searches seem to bring up some wordy Nietzsche e-book instead of what I’m looking for. ...

December 7, 2008

Feed Your Mac

It’s that time of year again. “Give good food to your Mac” is back with another set of software to choose from. The twist is the more you buy, the cheaper it gets, literally. Choose 3 apps, save 30%, 4 gets you 40% but 5+ gets you 50% off. It’s time limited, so 10 days to go. Last year I purchased 10 pieces of software for the price of the 1 piece I actually wanted (Unity 3D). In that package I also got an impressive casual 3D modeler, Cheetah 3D. It won’t replace Maya or MAX, but for a lot of tasks it’s perfect. Yes some of the apps on there are a little gimmicky, some of them you may never use, but it really doesn’t matter if you’re getting the other apps for free (in my case anyway). ...

November 20, 2008

Flash Player Settings: Flash and Silverlight Comparison

One of the little pet peeves I seem to share with other Flashers is the frankenstein-like html/flash settings manager pages that you have to access via Adobe’s site. This is the thing you see when you right click a Flash movie and choose “Settings” -> “Advanced”. It allows you to trust certain locations on your hard drive, delete “Flash cookies” (LSOs) , auto-check for player updates and other tasks. The thing is this thing really looks and feels old now (it’s an FP6 file and it shows), it seems strange I have to be online and visit a site to delete files the Flash Player creates on my hard drive… if it’s a chore for a Flash dev, what’s the chance someone else can use it, particularly if people are storing sensitive info in there (bad devs!). I just got pinged a link to a Silverlight site and as I had to update to 2.0.something so I thought I’d check out the new settings panel (below, click to view full size): ...

October 29, 2008

getDefinitionByName() Fails in SWFs Loaded Into Another SWF (Solution)

Just a quick note for future reference. When you are using getDefinitionByName(“ClassName”) inside a SWF that is being loaded into another SWF, it might not find the symbol from its own library (see ApplicationDomain and LoaderContext for why). The solution is to get a reference from the ApplicationDomain of the SWF being loaded using the getDefinition() method. So the code: var mySymbol:Class = getDefinitionByName("MySymbol"); becomes… var mySymbol:Class = loaderInfo.applicationDomain.getDefinition("MySymbol"); Hopefully that resolves any issue you had with getDefinitionByName(). Of course you’d use a similar mechanism to work the other way around, and get at classes inside a loaded SWF. In this case it would be loader.contentLoaderInfo.applicationDomain.getClass()… however this depends on what ApplicationDomain you’ve loaded your child SWF into (see LoaderContext class). ...

September 8, 2008

Xuinet Mobile Flash Competition – $10,000 prize

Just got news from the guys at Xuinet that they’re running a big competition with a cash prizes totaling $10,000. You need to submit SWFs via email by November 3rd 2008 and multiple entries are allowed. Looks like a good opportunity to re-purpose your Flash Lite 2 content. Prize categories include: Blogs and Social Networks Games Images/slide-shows Sports (scores, trivia, fantasy league) On-the-go (travel, weather, news, etc.) I must admit I haven’t seen Xuinet before. It appears to be a distribution platform for Flash mobile applications. By the looks of it the files are converted into a “Xui” which runs Flash 7 SWFs in a custom player on Windows Mobile devices. I’d be interested to hear from anyone who’s tried out the SDK to confirm the implementation details. ...

August 29, 2008

SWF2JAR – Project Capuchin from Sony Ericsson

I’m just watching the seminar (recording here) about Sony Ericssons project Capuchin. It looks incredible. Ask anyone that’s developed with Flash Lite and they’ll tell you that distribution is one of the biggest problems they face. The problem is that traditionally SWF files have been treated by some as nothing more than animated gifs (this is particularly the case with a lot of the older Sony Ericsson phones), and treated by others (for example Nokia) as applications that run standalone (and more recently as a web plugin). This makes it tricky to classify how to treat a SWF when it comes to getting it on a phone, particularly when you haven’t been able update your software anywhere near as easily on mobile as on the desktop. Do you run it from a browser link? do you bluetooth it from a PC or to a friend like an image? or do you go ahead and “install” it somehow, to get an application icon? Of course until now every manufacturer has dealt with the problem differently. ...

August 28, 2008