Warning: Declaration of thesis_comment::start_lvl(&$output, $depth, $args) should be compatible with Walker::start_lvl(&$output, $depth = 0, $args = Array) in /nfs/c03/h08/mnt/50298/domains/gamedev.michaeljameswilliams.com/html/wp-content/themes/thesis_18/lib/classes/comments.php on line 0

Warning: Declaration of thesis_comment::end_lvl(&$output, $depth, $args) should be compatible with Walker::end_lvl(&$output, $depth = 0, $args = Array) in /nfs/c03/h08/mnt/50298/domains/gamedev.michaeljameswilliams.com/html/wp-content/themes/thesis_18/lib/classes/comments.php on line 0

Warning: Declaration of thesis_comment::start_el(&$output, $comment, $depth, $args) should be compatible with Walker::start_el(&$output, $object, $depth = 0, $args = Array, $current_object_id = 0) in /nfs/c03/h08/mnt/50298/domains/gamedev.michaeljameswilliams.com/html/wp-content/themes/thesis_18/lib/classes/comments.php on line 0

Warning: Declaration of thesis_comment::end_el(&$output, $comment, $depth, $args) should be compatible with Walker::end_el(&$output, $object, $depth = 0, $args = Array) in /nfs/c03/h08/mnt/50298/domains/gamedev.michaeljameswilliams.com/html/wp-content/themes/thesis_18/lib/classes/comments.php on line 0
I help people make Flash games — Michael James Williams

New Guide to Learning Flash and AS3

by Michael James Williams on September 19, 2012 · 0 comments

in Articles

This week, my first tutorial turned four years old. Four years! Time flies.

Anyway, it’s getting a little long in the tooth now, unfortunately. It still works, but there are a few bugs when trying to get it to work with newer versions of Flash Pro – who still uses Flash Pro for coding, these days? – and a number of things I’d do differently if I were writing it today.

Of course, in all that time, Flash hasn’t stood still. It’s no longer the right tool for multimedia website development, but it’s still a fantastic tool for game development – maybe even better than it used to be.

So I’ve put together a guide to learning Flash, and its AS3 programming language, from square one, specifically for the purpose of developing games. It’s called How to Learn Flash and AS3 for Game Development, unsurprisingly, and it’s hosted at my new site Gamedevtuts+.

I hope you find it useful!


Introducing Gamedevtuts+

by Michael James Williams on August 1, 2012 · 2 comments

in Articles


Hi all!

As you may know, I’ve been working as an editor for the Tuts+ network of tutorial blogs for the past few years, and we just launched a brand new site that I’m very excited about: Gamedevtuts+!

As you can guess from the name, it’s a site dedicated to game development tutorials: that means posts about game design, level design, implementation (both coding and using tools), and the business being a game developer.

So far, we’ve got a tutorial for absolute beginners about making a Canabalt-style infinite runner game from scratch (using Multimedia Fusion 2), a tutorial for more experienced game developers about coding destructible pixel terrain, an article about designing worlds in games through the lens of player mobility, and a post mortem of a great Flash game: Tower of Greed.

I hope you enjoy the site 🙂


Turkish AS3 Avoider Game Tutorial

by Michael James Williams on October 15, 2011 · 5 comments

in Avoider Game Extras,Guest Posts

Ömer Faruk Gündüz is translating my AS3 Avoider Game Tutorial (itself based on an AS2 tutorial by Frozen Haddock) into Turkish!

That makes it the sixth language that it’s available in (seventh if you include HTML5), after English, Spanish, Polish, and Italian. Awesome.

Here’s an introduction from Ömer:

Herkese Merhaba, benim adım Ömer ve 22 yaşındayım. Flash ya da programlama ile pek alakası olmasada malum Türkiye şartları dolayısıyla Harita Mühendisliği okuyorum :). Uzunca bir süre Actionscript 2 kullandım(AS2 ile 9 adet oyun yaptım) ve 2-3 ay kadar önce ActionScript 3 öğrenmeye başladım.

Michael James Williams tarafından hazırlanan bu eğitim seti ActionScript 3’e geçerken benim çok işime yaradı. ActionScript 3 öğrenmek isteyen başkalarının da yararlanması için Türkçe’ye tercüme etmeye karar verdim.

Here is the first part: Avoider Oyunu-Bölüm 1

Thanks, Ömer!


Learn HTML5 With This Simple Avoider Game Tutorial

by Michael James Williams on September 17, 2011 · 10 comments

in HTML5

Learn HTML5 With This Simple Avoider Game Tutorial

Hello everyone!

Can you believe it’s been three years since I wrote the first part of my AS3 Avoider Game Tutorial? Crazy!

As you’ve seen, I haven’t really been updating this blog that much recently. You might not know the reason: it’s because I’m now the full editor of Activetuts+, a tutorial site for developers of browser-based apps and games. It’s the same kind of stuff I used to write about here, only I’m not the only one writing, and it’s now my actual job.

Anyway, to mark three years, I’ve written a new tutorial based on the first one I ever wrote. If you enjoyed the AS3 Avoider Game tutorial, please check out Learn HTML5 With This Simple Avoider Game Tutorial. I’ve tried to take into account all the points of confusion that people have mentioned in the original tutorial’s comments, so with luck it’ll be easier to understand 🙂

I hope you like it!


The Making of Advanced Combat

June 10, 2011

[MJW: About two years ago, Kevin contacted me to ask a question about my Avoider Game tutorial. Since then we’ve been communicating frequently, and I’ve had the great pleasure of seeing his game develop, and of seeing Kevin himself develop as a game creator. The code, graphics, sound, and music in the game were all […]

3 comments Read the full article →

New Tutorial Series on Box2D for Flash and AS3

June 3, 2011

I’ve started a new series on my favourite Flash physics engine, Box2DFlash. The first part, Introduction to Box2D for Flash and AS3, is already up, and will explain the basic concepts you’ll need.

13 comments Read the full article →

Understanding the Game Loop

May 16, 2011

In Civilization, you have a period of five minutes to input everything you want to do in the current turn, before the game “ticks” and runs the game loop again based on all your input. So if you say, in Turn 23, that you want your warriors to attack a deer, then in Turn 24 […]

0 comments Read the full article →

Obscuring and Revealing Scenes with AS3

May 6, 2011

One of the simplest game mechanics is to let the player find a hidden object. Games based on this take many forms: Where’s Waldo, Peek-A-Boo, Spot the Difference, Hide and Seek, and of course Hidden Object. I’ve written a Premium tutorial for Activetuts+ in which I’ll show you two methods for obscuring a scene so […]

0 comments Read the full article →