10
Mar 10

Stop Telling Me What To Do!

“Games, you see, are about having control.

Videogames, most often, present the player with a world with a single end goal of “winning”. They are a perfect contrast to the real world, in which one makes one’s own goals, where goals and desires are constantly shifting, and the only ending anyone ever sees involves the main character dying.

News flash: most people in the world are not astronaut supervisors or rock-star-slash-helicopter-pilots. Most people never get an opportunity and/or have the balls to be the guy who shows up to his job in a big stuffy corporate office on his first day in a leather jacket and sunglasses, tell the boss “You codgers need to change your game!”, and be the flip-flop-wearing CEO by Friday. Games like Dynasty Warriors give us a world with the invincibility code turned on: now we are the badass warrior capable of killing 300 guys before learning what a flesh wound is.

We do — and this is a trite a thing as one can say — play games, sometimes, to escape the real world. People talk about that all the time. What I am proposing is that we play games precisely to avoid the parts of the world that tell us what to do, and when to do them, dangling “a more comfortable life” in front of our eyes all the while.

Though that’s not all: games also present us with things we can finish. Things we can see through to an intended end. And we want to see the end. And the makers want us to see the end. Hence their trying to help us.”

From Tim Rogers excellent article. I read it last year, and recently had reason to read it again. It requires a time investment to read it all, but it’s one I feel will pay back on itself many times over.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

05
Mar 10

Flash vs. HTML5? Here’s what I’m doing about it …

Goodness, the Interwebs surely have exploded with this whole Flash vs. HTML5 debate. I don’t think I’ve read so much dis-information since “weapons of mass destruction”.

There is an excellent piece here (“I’d rather be a Woz“) all about it, which covers everything I feel, and strips away the sensationalist clap-trap coming from most quarters.

But if that post summed it up so brilliantly, why am I writing here? It’s simple really. It doesn’t matter how many brainless blog posts and comments are made about how “terrible” Flash is, or how HTML5 is the bringer of world peace and technological unity. None of that translates into the real world right now, today.

At work we are building some truly massive Flash based projects, in partnership with some of the largest broadcasters in the world (most projects of which I can’t even mention in passing, let alone link to). Sites that will be visited by tens of millions of people. Last week we released a new Shaun the Sheep game called “Home Sheep Home“. It has spread around the gaming portals like wild-fire, and is currently hitting 570,000+ plays per day. Since this time last week over 3 million people have enjoyed playing that one single game.

And you know what makes that possible? Flash Player does. Adobe does.

Would the same have happened if we’d made it in HTML5 and JavaScript? My arse would it. If we’d done that our support team would be pulling their hair out as millions of people across the world email to say “it doesn’t work in my browser!”. Maybe in 10 years time things will change. I for one surely hope so, as choice is a good thing – and goodness knows HTML4 needs a shot in the arm to wake it up from the 90s. But Adobe don’t sit still. Where will Flash be a decade down the line? Heck of a lot further on than where it is today, that’s for sure.

So you know what fellow Flash devs… stop reading the constant stream of HTML5 / Standards / iPad ramblings (to which I just added :) ), and get back to making and releasing great quality Flash games and sites. Because for every new release you put out there, you’re just strengthening what is already the largest platform in the world. Leave the zealots to their theory and hypothesis, because you and I are the front-line, and our creations are what makes the web a fun place to be.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

25
Feb 10

Silmarils Collection for the PC

If you were a real gamer back in the early 90′s you owned an Atari ST or an Amiga (and some poor freaks also owned PCs). But all of you would have been aware of the game developer Silmarils. Renowned for an almost Cinemaware-like level of graphics and attention to detail in their games. Most of them are classic fantasy based such as the Ishar series. This isn’t surprising given that the company were named after the symbolic jewels central in JRR Tolkein’s work The Silmarillion. This love of fantasy was evident in their games, graphics and stunning box artwork.

I was pleased to read today that DotEmu will be releasing the Silmarils Collection for the PC on March the 10th. This includes 16 games. You can make out most of them from the box shots above. Personally I always thought the Ishar trilogy and the concepts of Robinson’s Requiem were superb, so as long as this collection is keenly priced I’ll be there. Hopefully DotEmu will have done as good a job on these titles as it did on R-Type and Street Fighter.

You can sign-up to their mailing list here: http://www.silmarils-collection.com and once released (March 10th) this site will probably also contain full details of the games. For now here is a link to their newsletter announcement.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

25
Feb 10

Save MovieClip as PNG Example

A couple of guys on Twitter asked me if I would write-up how I generate PNG files from MovieClips in my SWF, at run-time. So I put this example together and am sharing it here.

We use this technique in our virtual world WebbliWorld to save a PNG version of the users avatars after they have customised them. But there are all kinds of other reasons you may need this. My example includes two methods: Saving the PNG locally using the local file system, and Saving the PNG to a web server using AMFPHP.

This technique requires Flash Player 10 and the Adobe AS3 Core Lib.

Here's a very simple example (included in the zip download below):

Essentially it all boils down to this:

1) When you are ready to save your image, create a Bitmap version of your MovieClip.

Actionscript:
  1. private function getMovieClipAsBitmap():Bitmap
  2. {
  3. var bounds:Rectangle = theMovieClip.getBounds(theMovieClip);
  4.  
  5. //    The * 2 is because we're scaling the clip up by a factor of two, to result in a larger PNG
  6. //    If you don't need this, remove it and comment out the m.scale call below
  7. var theBitmap:Bitmap = new Bitmap(new BitmapData(bounds.width * 2, bounds.height * 2, true, 0x0));
  8.  
  9. var m:Matrix = new Matrix(1, 0, 0, 1, -bounds.x, -bounds.y);
  10.  
  11. //    Simply scale the matrix to make a bigger PNG. Here we are doubling it. Comment this out if you don't need it.
  12. m.scale(2, 2);
  13.  
  14. //    Need to crop the PNG to a given size? Pass it a Rectangle as the 5th parameter to draw()
  15. //var r:Rectangle = new Rectangle(0, 0, 50, 40);
  16.  
  17. theBitmap.bitmapData.draw(theMovieClip, m, null, null, null, true);
  18.  
  19. return theBitmap;
  20. }

2) Convert this Bitmap to a ByteArray.

Actionscript:
  1. private function getMovieClipAsByteArrayPNG():ByteArray
  2. {
  3. var data:Bitmap = getMovieClipAsBitmap();
  4.  
  5. var ba:ByteArray = PNGEncoder.encode(data.bitmapData);
  6.  
  7. return ba;
  8. }

3) Send this ByteArray to either the local filesystem, or AMFPHP.

Actionscript:
  1. //    Uses FileReference to save the PNG locally to the hard drive (see "saveToServer" for an alternative)
  2. private function saveLocalPNG(event:MouseEvent):void
  3. {
  4. var ba:ByteArray = getMovieClipAsByteArrayPNG();
  5.  
  6. file.save(ba, "BirdyNamNam.png");
  7. }

Complete source code is included in the zip file including an AMFPHP PHP script for saving on a web server.

Hope someone finds this useful.

Download the Soure Code zip.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

23
Feb 10

Blockparty 2010 Invtro and the Opensource demo engine evoTinyEngine

Blockparty is an annual demo party held in the US, and 2010's is about to hit in a few months time. As with all good demo parties there is usually an invitation demo to announce it, and to whet the appetite somewhat. This year EvoFlash created this little beauty, and of course it's AS3 to the core:

I've not been to a demo party since 1999, but boy does this make me wish I could be there. Nice one guys, nice one.

There are some lovely effects as you'd expect. Evoflash have been at this for years now, and obviously have a highly streamlined demo pipeline going on. With impressive pre and post render effects; gorgeous blooms, radial blurs, reflections and shadowing. And what's more - they have released it as open source, free for demo coding plebs like me to use!

Called evoTinyEngine it's a small framework that offers you three core elements: Assets, the main Engine and Modifiers. The Modifiers can be stacked up on-top of each other. The Engine handles the construction and destruction of all the Modifiers for you, and there are some really nice things ready to use. Everything is based on 16th note beats, which allows for tight syncing with the audio in your demo.

I haven't dug through the code much yet but I'd be willing to bet there are some insane routines in there, that would be well worth studying for game development as well as demos.

(Now let's see if this blog post kicks off a 20+ comment flame war about "is it really a demo?" yadda yadda ... ;)

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

19
Feb 10

ImmorTall – or why I love Flash games

I rarely blog about Flash games I've played. Very rarely in fact. I don't really see the point, as there are a hundred other blogs out there willing to tell you their thoughts on what's "hot and new" in the gaming world. Often full of useless suggestions about how the game could be "improved". I'd rather you just play the games for yourself, use your own sense of judgement.

Then I come across a game like ImmorTall. And I feel it warrants 30 seconds of your life to play it, and a few minutes of mine to write about it. Because it's different. It dares to break a few conventions, to tell a story, to draw you into something you probably aren't used to. To make you think.

And I like that. I like that a lot. I like that Flash game developers have the balls to do this. To push boundaries, to redefine the very concept of "game". There are no rules but their own.

Then I read the comments from the knuckleheads on Armor. And I close my eyes, and a part of me inside breaks. Crushed by the realisation that there can be so many idiots on our tiny little planet.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

09
Feb 10

Droplet Game Updated

After the blissful chaos of preparing for the Droplet 2 launch party, I finally had time to take stock and catch-up. The party was an absolute success. Both the game iLKe and I made, and the Twitter wall I coded for Gav went down a treat. The Twitter wall featured this awesome video that was projected, Bat symbol like, across Bristol's Park Street onto an adjacent building. People in the queue (and there were a lot of them!) could send their tweets to the wall and see them displayed in near real-time. Here's a video taken from someone there. And here's the actual SWF that was projected (give it time to download, there's a 3MB FLV streaming in)

Before I discuss the game - can I just say you MUST check out this montage picture of the incredible custom Droplets. They were all featured in the gallery, and the level of talent displayed in some of them is nothing short of breath-taking. There's a whole Flickr group dedicated to the Droplets.

The game was released onto the Droplet web site the day before the party. It was also mentioned on Twitter (lots!), Facebook (lots!) and best of all could be seen running on TVs in both the store and the gallery. The footage was from an earlier build, but it still looked great, and I got plenty of compliments :)

So what's happened since then? Well there were a couple of bugs in the game, as is to be expected with the last-minute rush we endured. Most notable of which was that the scores didn't reset when the game was completed! So people could work their way up the highscore board a little too easily ;) Thankfully Katie spotted this one and I promptly zapped it.

There was also a display issue with the background sky scroller, that absolutely no-one noticed except me - but it bugged me every time I played it. iLKe also tweaked the level layout quite a lot, refining a few areas and making others cleaner. He also saw fit to redraw my Pause screen a little. Damn pixel gurus :) I also updated the Droplet page here on my web site, to include the missing Development details.

Anyway the new build is up on the Droplet micro site. And yes I wiped all the highscores to keep things "fair". Enjoy!

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

06
Feb 10

New Game Droplet Released

This game was created to celebrate the launch of Series 2 of the awesome little Droplet vinyl toys. iLKke and I took the Droplet characters back into an 8-bit NES style era, complete with platforming action, colourful scenery and a truly micro bipbop vibe.

Read more about the game, and of course play it on the Droplet page :)

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

11
Jan 10

Gravity Crash Anthems Soundtrack Available

I've got nothing much more to say other than - it's out! The Gravity Crash soundtrack by CoLD SToRAGE is available to buy online for immediate download. It costs £10 (which is probably £3 more than it ought to) but you get 16 tracks for your money, including some awesome remixes - most notable of which is a C64 SID rendition of the title track Scarface.

Track previews, downloadable PDF booklet, exclusive mixes and direct support of the composer are included in the price. Have just thrown it on my mp3 player ready for the drive into work tomorrow. Even if you've never played the game, still check this out - as the man himself says, it's a "buffet of 80s electro" :)

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

08
Jan 10

Awesome Retroshoot 360 preview video

Dave Munsies classic Retroshoot is coming back in full force as "Retroshoot 360 - Return of the Retronauts". Here's a special preview video. Watch it in HD if you have the bandwidth, because this is smegging awesome!

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

06
Jan 10

Access LiveDocs locally with Doc v3.0.1

Although the code-insight features of FlashDevelop help a lot, you can't beat a good AS3 reference - and I use Adobe LiveDocs almost exclusively for this. Although I have a Firefox search plugin that gives me quick access to it, I have still always wanted a decent local copy that offered the same benefits my browser does, but faster.

Thanks to the magic of Twitter (cheers @kode80) today I found such a beast in the shape of an AIR app called Doc?

Doc? allows you to view, search and bookmark all your favourite ASDocs. But the biggest feature for me is that on-line docs can be downloaded and stored locally too. This means that the docs for things like Away3D, Flint, Papervision, Adobe CoreLib, TweenMax or anything else that has ASDoc documentation can be added to your local books collection.

Adding a remote ASDoc

Adding new books couldn't be more simple. Just start-up Doc?, click the settings icon in the top-right and select ""Add Remote ASDoc". You'll be asked for some details. Here they are for the Stardust Particles system:

Note: when adding URLs be sure to specify a directory, and don't have the index.html on the end.

Doc? will then download and index the files, storing them locally.

Be advised that on large sets of documentation this can take a while. Indexing the AS3 Language Reference took nearly 10 minutes, and that's on an Intel Quad Core Q9950 @ 2.83GHz with 8GB RAM. Doc? stores the indexes in a local SQLite database.

Once downloaded and indexed the docs are available from the Books menu, ready for easy and fast local searching!

Here you can see I searched for "Radius" specifically in the Stardust book, and am viewing the CollisionRadius page. You can search across all books, highlight results in the text, include title and/or content in the search and even bookmark sections you know you return to often.

The tree view display has icons depending on the style of result - the green "C" circle icon means it's a Class, but it also shows packages, methods, constants, interface and others.

AS3 Language Reference

One of the first things I recommend you do is download the ActionScript3 Language Reference zip from the Adobe web site (5.8MB). Unzip it somewhere and use the "Add Local Book" Settings option to add it. It will still need to be indexed (and this takes a long time), but it's better to grab the zip as it can often have more up to date docs vs. those installed with CS4.

I'm quite sure that this app will save me a lot of time vs. digging through browser bookmarks.

Visit the Doc? web site

All I'd like to see now is this built into FlashDevelop, so F1 searched within Doc? :)

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

03
Jan 10

A lot of people have ideas …

"The critical ingredient is getting off your butt and doing something. It’s as simple as that. A lot of people have ideas, but there are few who decide to do something about them now. Not tomorrow. Not next week. But today. The true entrepreneur is a doer, not a dreamer."

Nolan Bushnell

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon

01
Jan 10

Mescaline Synesthesia by deMarche (ZX Spectrum Demo)

Ok so my first post in 2010 is about a demo for a 28 year old computer (the ZX Spectrum) but bloody hell, what a demo it is! Here's a collection of grabs (from Pouet):

... and here's the demo on YouTube.

Bear in mind that the humble Speccy is running on a Z80 at a mere 3.5 MHz - that's probably significantly slower than the processor in your microwave oven.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit Post to StumbleUpon