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

Warning: Cannot modify header information - headers already sent by (output started at /nfs/c03/h08/mnt/50298/domains/gamedev.michaeljameswilliams.com/html/wp-content/themes/thesis_18/lib/classes/comments.php:0) in /nfs/c03/h08/mnt/50298/domains/gamedev.michaeljameswilliams.com/html/wp-includes/feed-rss2.php on line 8
Michael James Williams http://gamedev.michaeljameswilliams.com I help people make Flash games Wed, 19 Sep 2012 17:44:32 +0000 en-US hourly 1 https://wordpress.org/?v=5.5.9 New Guide to Learning Flash and AS3 http://gamedev.michaeljameswilliams.com/2012/09/19/new-guide-on-learning-flash-and-as3-for-game-development/ http://gamedev.michaeljameswilliams.com/2012/09/19/new-guide-on-learning-flash-and-as3-for-game-development/#respond Wed, 19 Sep 2012 18:00:11 +0000 http://gamedev.michaeljameswilliams.com/?p=1309

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!

http://gamedev.michaeljameswilliams.com/2012/09/19/new-guide-on-learning-flash-and-as3-for-game-development/feed/ 0
Introducing Gamedevtuts+ http://gamedev.michaeljameswilliams.com/2012/08/01/introducing-gamedevtuts/ http://gamedev.michaeljameswilliams.com/2012/08/01/introducing-gamedevtuts/#comments Wed, 01 Aug 2012 20:00:14 +0000 http://gamedev.michaeljameswilliams.com/?p=1296


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 🙂

http://gamedev.michaeljameswilliams.com/2012/08/01/introducing-gamedevtuts/feed/ 2
Turkish AS3 Avoider Game Tutorial http://gamedev.michaeljameswilliams.com/2011/10/15/turkish-as3-avoider-game-tutorial/ http://gamedev.michaeljameswilliams.com/2011/10/15/turkish-as3-avoider-game-tutorial/#comments Sat, 15 Oct 2011 12:00:05 +0000 http://gamedev.michaeljameswilliams.com/?p=1285

Ö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!

http://gamedev.michaeljameswilliams.com/2011/10/15/turkish-as3-avoider-game-tutorial/feed/ 5
Learn HTML5 With This Simple Avoider Game Tutorial http://gamedev.michaeljameswilliams.com/2011/09/17/learn-html5-with-this-simple-avoider-game-tutorial/ http://gamedev.michaeljameswilliams.com/2011/09/17/learn-html5-with-this-simple-avoider-game-tutorial/#comments Sat, 17 Sep 2011 17:01:55 +0000 http://gamedev.michaeljameswilliams.com/?p=1279

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!

http://gamedev.michaeljameswilliams.com/2011/09/17/learn-html5-with-this-simple-avoider-game-tutorial/feed/ 10
The Making of Advanced Combat http://gamedev.michaeljameswilliams.com/2011/06/10/the-making-of-advanced-combat/ http://gamedev.michaeljameswilliams.com/2011/06/10/the-making-of-advanced-combat/#comments Fri, 10 Jun 2011 12:00:43 +0000 http://gamedev.michaeljameswilliams.com/?p=1239

[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 made by him, which is a truly impressive achievement. Now that the game has since been sponsored (by MaxGames , through FGL), Kevin and I thought it would be interesting for him to share the development process. I hope you enjoy it!]

To start off, this is story about somebody who knew nothing about ActionScript 3.0 or ever made a Flash game in his life. He spent two years on a game, from start to finish, which meant learning AS3, making graphics, composing music, and putting it all together 4-5 times, until it finally got sponsored and put online.


I was inspired to make a Flash game as I couldn’t understand why there wasn’t a Flash game with advanced artificial intelligence. I wasn’t asking for much, just for NPcs to stop seeing me through walls, for them to strafe and hide behind cover, and to have allies on my side who fight with me. I looked online, unsatisfied with each game I played, unable to find that one game that fits me. The closest game to what I wanted was Endless War 3. I looked at the game and said to myself “I can do this, but make the NPCs smarter”.

Before I continue, remember there is always a reason behind why things are done a certain way. A reason Flash games aren’t too advanced.

I started with learning ActionScript, making things move. I looked online for tutorials, ran across a few, and this site is by far the best site to start out learning how to make your own game. It reminds me of those “____ for Dummies” books, which explain with clarity each detail what you are doing, and why you’re doing it, without taking in too much information.


Shortly after completing the 12 tutorials of avoider game, I worked on making NPCs not see through walls. I started with lines that were connected to the NPC, which bent and resized to “feel” the surroundings, locking onto targets and following them if conditions were met. My NPCs had (and still have) three lines of sight, to detect walls, to detect distance, to detect other npcs, and most importantly, figure out what to do with the given information. All this was needed for an NPC to navigate around walls, and determine when they see another NPC.

I wont go into menu interface (headache) hehe. One major change I did was alliance. NPCs were grouped up and put in a loop within a loop. Maybe even three loops, detecting each other, testing each other to see if they were friends.

Throughout my experience developing this game, it went through several graphical and musical changes. I learned no matter how many times you change the graphics, or music, it wont look or sound much better. Doing the same thing over and over doesn’t produce a different result; insanity.


Next time you look at this game, remember its engine is built from avoider game, just with a bit added on to it. “MoveABit()” is still in the code, moving the NPCs at a specified speed. The only difference is the speed varies from one NPC to the next, and the direction is always changing.

A few tips:

– Don’t always change something becuase a few people don’t like it, unless they are paying you.

– When your game is up for bid and you get a bid, don’t reject it no matter how low it is, well $10 might be pushing it.

– Start small, simple. Make a simple game and finish it. Then move onto a slightly bigger project.

– Back up your files

– Back up your files again

– Do the above or else! I say do it for every “medium” update. FLAs can corrupt themselves and refuse to open. As your project gets bigger in code, more things can go wrong. Make use of catching errors and separating code into functions.


Check out these versions of the game.

Version 1.5:


Version 2.0:


Version 3.0:


Version 4.0:


Version 4.5:


Final Version 4.9 (sponsored by MaxGames):


…and a sneak peek at the sequel:

http://gamedev.michaeljameswilliams.com/2011/06/10/the-making-of-advanced-combat/feed/ 3
New Tutorial Series on Box2D for Flash and AS3 http://gamedev.michaeljameswilliams.com/2011/06/03/new-tutorial-series-on-box2d-for-flash-and-as3/ http://gamedev.michaeljameswilliams.com/2011/06/03/new-tutorial-series-on-box2d-for-flash-and-as3/#comments Fri, 03 Jun 2011 09:05:49 +0000 http://gamedev.michaeljameswilliams.com/?p=1221 Box2DFlash. The first part, Introduction to Box2D for Flash and AS3, is already up, and will explain the basic concepts you'll need.]]>

For over a year, I’ve had a Skribit widget on the sidebar of the blog; this lets anyone suggest a new idea for a tutorial, and vote on those ideas that others have suggested. Unfortunately this only keeps track of the last fifteen suggestions submitted, but, because I get an email whenever someone suggests something, I know that the most popular suggestion topic has been physics.

“Add physics to the Avoider Game”, “Please teach us a little about physics in Flash”, “Physics would be an awesome thing to learn in ActionScript 3”.

So, 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.

Box2D Flash AS3 tutorial

I’ve got the outline for the second part planned, so that should be up soon 🙂 After that, there are different directions this series could take, and I haven’t yet decided which one to choose.

Skribit has closed down, so I’ve set up a Google Moderator page to collect suggestions specifically for this Box2D series:

Box2D Flash AS3 tutorial

I’ve put a few suggestions in already, and you can vote on them to let me know which you’d prefer to see. You can also submit your own ideas so that other people can vote on them, because I’m sure there are more than four possible directions to take this in 😉

Anyway, I hope you find the first part useful. Let me know if you have any questions!

http://gamedev.michaeljameswilliams.com/2011/06/03/new-tutorial-series-on-box2d-for-flash-and-as3/feed/ 13
Understanding the Game Loop http://gamedev.michaeljameswilliams.com/2011/05/16/understanding-the-game-loop/ http://gamedev.michaeljameswilliams.com/2011/05/16/understanding-the-game-loop/#respond Mon, 16 May 2011 14:38:01 +0000 http://gamedev.michaeljameswilliams.com/?p=1213


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 everyone’s getting venison for dinner.

It’s the same with Mario. If you press the Jump button during one tick, then in the next iteration of the game loop, Mario will start to jump.

From an article I wrote for Activetuts+: Understanding the Game Loop.

If you’ve followed my Avoider Game tutorial, or done any other sort of game development, you’re probably familiar with the idea of a game loop. In this article, I’ve tried to clarify what exactly it is, and provided some terminology that will come in handy when you need to discuss it or name your game’s functions.

I hope you find it useful. If you’ve any questions, you can comment on the article itself, or ask in the comments of this post 🙂

http://gamedev.michaeljameswilliams.com/2011/05/16/understanding-the-game-loop/feed/ 0
Obscuring and Revealing Scenes with AS3 http://gamedev.michaeljameswilliams.com/2011/05/06/obscuring-and-revealing-scenes-with-as3/ http://gamedev.michaeljameswilliams.com/2011/05/06/obscuring-and-revealing-scenes-with-as3/#respond Fri, 06 May 2011 12:51:20 +0000 http://gamedev.michaeljameswilliams.com/?p=1205

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 that the player can uncover it later.

Check out the final results. In this one, burst the balloons by clicking them with your mouse:

[flash http://gamedev.michaeljameswilliams.com/structure/ObscureAndRevealScenes/SWFs/Balloons.swf w=500 h=400 preview={http://gamedev.michaeljameswilliams.com/structure/ObscureAndRevealScenes/Images/Balloons.png} mode=3]

In this, run your mouse over the screen to erase the foreground, like a scratchcard (click it to load the SWF first, though!):

[flash http://gamedev.michaeljameswilliams.com/structure/ObscureAndRevealScenes/SWFs/WindowCleaning.swf w=500 h=400 preview={http://gamedev.michaeljameswilliams.com/structure/ObscureAndRevealScenes/Images/WindowCleaning.png} mode=3]

Okay, in themselves those SWFs are hardly challenging games — but the core mechanics are solid.

##What You’ll Learn

Though the final results are simple, the tutorials themselves cover a lot:

  • How to trigger an action once an animation has ended
  • The best way to share code between different symbols (note how the balloons look different, but behave the same)
  • Which blend mode is best for overlay effects — and what restrictions it has
  • The power of BitmapData for manipulating an image’s individual pixels
  • How to use any image as a “cookie cutter” to remove shapes from a picture

Each section starts from scratch and builds gradually on what you’ve already learned, with plenty of sample SWFs, screenshots, and code snippets to help you on the way. There are even a number of challenges to inspire you to go even further.

Check out this sample SWF from part way through the second section:

[flash http://gamedev.michaeljameswilliams.com/structure/ObscureAndRevealScenes/SWFs/WindowCleaningStep6.swf w=500 h=400 preview={http://gamedev.michaeljameswilliams.com/structure/ObscureAndRevealScenes/Images/WindowCleaningStep6.png} mode=3]

And here’s another, using a smiley face (pictured) as a “cookie cutter” (or brush) to clear away the foreground:

[flash http://gamedev.michaeljameswilliams.com/structure/ObscureAndRevealScenes/SWFs/WindowCleaningStep17.swf w=500 h=400 preview={http://gamedev.michaeljameswilliams.com/structure/ObscureAndRevealScenes/Images/SmileyBrush.png} mode=3]

##How to Get the Tutorial

This is a Premium tutorial, which means I’m selling it on the Tuts+ Marketplace for $3. Buy it through this link.

Alternatively, you can get it as part of Tuts+ Premium; pay $9 and you get complete access to all the Premium tutorials from the Tuts+ network — that includes Photoshop tutorials, Illustrator tutorials, Audio tutorials, and more.

The Premium program is the better deal, if you’re willing to pay the $6. There are some awesome Flash game development tutorials on there. I can personally recommend:

..and that’s just three of them. There are also great tutorials on creating a Tetris game, a war game, and a spot-the-difference game, on creating a 3D game menu interface, and on animating a person using advanced body mechanics.

So, if you’re interested, sign up here for $9 🙂

I’ll answer questions about the tutorial posted to this blog, to Activetuts+, or to its page on the Tuts+ Marketplace. I hope you like it!

http://gamedev.michaeljameswilliams.com/2011/05/06/obscuring-and-revealing-scenes-with-as3/feed/ 0
My New Book on Flash Facebook Development http://gamedev.michaeljameswilliams.com/2011/01/10/flash-facebook-development-book/ http://gamedev.michaeljameswilliams.com/2011/01/10/flash-facebook-development-book/#comments Mon, 10 Jan 2011 11:59:50 +0000 http://gamedev.michaeljameswilliams.com/?p=1186

I wrote a book!

Flash Facebook Development book

Early last year, I signed a book deal with Packt Publishing. I spent most of 2010 working on it, and it’s finally finished, published, and on the shelves.

The book is a beginner’s guide to creating Flash Facebook applications and games. That includes apps like Graffiti and games FarmVille, which are designed to be played entirely within Facebook, as well Flash projects hosted outside Facebook that tap in to the user’s Facebook profile and friends list to give a more personalised experience.

##Who is it aimed at?

When I say ‘beginner’s guide’, I mean that you don’t have to know anything about Facebook integration or server-side scripting or SQL in order to start. You’ll need a basic understanding of Flash and AS3, but no more complex than you could pick up from my avoider game tutorial.

So the book is aimed at you, if you know how to build Flash projects and are interested in hooking them up to that huge social network.

##What does it cover?

Okay, okay, maybe I shouldn’t have mentioned FarmVille up there. This book isn’t going to walk you through building a FarmVille clone. If it did, it couldn’t be very helpful; it would have to cover game design, and animation, and a whole bunch of other topics that have nothing to do with Facebook.

Instead, it’s all about Facebook integration. I’ve made sure to explain all the AS3 classes and libraries that some readers may not be familiar with, but apart from that, the book has a single focus.

At the start of the book, you’re given source files, containing the user interface code for a Flash project called Visualizer. This is an app which lets the user explore all the information available on Facebook — including their profile information, their photos, their friends list, their *friends* photos, and more — but it’s missing all of the code required to hook it up to Facebook.

As you work through the book, you’ll write that code yourself, learning how it all works without having to worry about designing or developing the user interface. (Again: a single focus.) After building each new feature from scratch, you’ll learn how to integrate the same feature using the official Adobe Facebook SDK; this way, when you work on your own projects, you’ll have the freedom to design your own solution, and the knowledge to use the standard one.

Each chapter is roughly twice the length of one of my longer tutorials (like most of the parts of the avoider game tutorial), and they’re designed to be worked through in sequence. Let me break down what each is about:

1. **Introduction** explains why you should care about Facebook, what you’re going to do in the book, how to get setup, what you need to know before continuing, and what to do if you don’t already have that knowledge.
2. **Welcome to the Graph** introduces the *Graph API*, Facebook’s model for connecting all of the information that it stores. By the midpoint of this chapter, you’ll already be retrieving data from Facebook.
3. **Let Me In!** is where things get really interesting; you’ll learn how to let your user log in to Facebook through your app, allowing you to retrieve their personal data — and that of their friends.
4. **Digging Deeper into the Graph** is all about paging and filtering the data you retrieve from Facebook, so you can look into the past. It also introduces you to the most annoying bug on the whole Facebook platform.
5. **Search Me**, as you can probably guess, explains how to search for posts and users from specific criteria. By the end of this chapter, your project will have a feature that even the Facebook website itself is missing.
6. **Adding to the Graph** is where you go from being a passive observer to an active creator; you discover how to create new wall posts, upload photos, and so on.
7. **FQL Matters** is different to all the other chapters; it has nothing to do with the Visualizer. You could skip it, but I recommend that you don’t, because it introduces you to the Facebook Query Language, a powerful tool for extracting data from Facebook.
8. **Finishing Off** covers a grab-bag of miscellaneous important topics that didn’t really fit anywhere else. How to embed your project inside the Facebook website; how to use what you’ve learnt when building an AIR (or AIR for Android) application; the problems with portals; and what to learn next.

All that in about 300 pages 🙂

##Won’t it become outdated?

Facebook’s developers move quickly. Really quickly. The Facebook Platform is always shifting and changing. This was my major concern when planning the book; I was worried that all the information in it would be out of date before the ink was dry.

So, rather than giving you a set of instructions and code snippets to copy, I focused on explaining the underlying concepts of Facebook development. Once you’ve read the book, you’ll understand how Facebook works, and you’ll be well-equipped to deal with whatever changes Mark Zuckerberg’s team throws at you.

For example, in *Adding to the Graph*, I explained how to “like” a wall post, but said that it was impossible to “like” a comment on a wall post through code. This was true when I wrote it, but not any more. So what? If you understand how to “like” a wall post, you’ll be able to apply that knowledge to comments.

A section in *Finishing Off* explains how to keep up to date with all the improvements made to the platform, so you would be aware that it was now possible to “like” a comment, and could simply add this information to the understanding of the concepts that you’d already built up.

##Isn’t all that information available online?

Yeah, there’s a lot of information about Flash Facebook development available online for free. There’s the official documentation, there are tutorial blogs (of course!) and there are forums. I learnt everything I know about Facebook development from these free resources.

But you have to ask yourself whether it’s worth your time. The information is spread across different sites. A lot of what you’ll read on blogs and forums is speculation, like “to do X, you must first do A, B, C, and D” when actually only B is required. Sometimes it’s just plain wrong. The platform has bugs, and sometimes even the information in the official documentation doesn’t do what it claims to.

My book gathers all the correct knowledge from these various sources, and puts them in one place. Then it structures it, using a combination of Packt Publishing’s techniques and my own, in an order that’s designed to help you learn.

In other words: I spent months piecing all of this together. You can bypass all that time (and that frustration, when things *just don’t work*) for a few dollars. Whether that’s worth it to you depends on how much you value your time. Or how much of a masochist you are, I suppose 😉

##Where can I get it?

I’m glad you asked 😛 Both PDF and paperback versions are available for sale on the Packt Publishing webpage for the book.

You can also buy the book through Amazon, and if you use these links I’ll make a little extra cash on the sale: Amazon USA | Amazon UK. Hooray for affiliate links.

Otherwise, you might be able to find them in your local bookshop, assuming you still have a local bookshop.

##Can I read some of it RIGHT NOW?

The second chapter (which is where you start writing some code to actually get data from Facebook) is available for free online.

Click here to read it (PDF format), or right-click here and select “Save link as” to download it for later.

I hope you like it! And if you do get a copy, I’d really appreciate it if you’d post an honest review on Amazon. I’d also love to see what you make with it, so post a link to your creations in the comments below 🙂

And let me quickly thank the whole of the Packt Publishing team, as well as Emanuele Feronato (who did the technical editing for the book) and Keith Peters (who wrote the awesome Minimal Components that I used for the Visualizer).

Any questions?

##Additional Stuff

Rasmus Wriedt Larsen wanted to add functionality that redirected the user to the login page if they weren’t already authorised… so he did! You can see his implementation here. Thanks for sharing it, Rasmus!

http://gamedev.michaeljameswilliams.com/2011/01/10/flash-facebook-development-book/feed/ 54
Introduction to FlashDevelop http://gamedev.michaeljameswilliams.com/2011/01/08/introduction-to-flashdevelop/ http://gamedev.michaeljameswilliams.com/2011/01/08/introduction-to-flashdevelop/#comments Sat, 08 Jan 2011 06:23:11 +0000 http://gamedev.michaeljameswilliams.com/?p=1177 tutorial about getting started with FlashDevelop for Activetuts+: Beginner's Guide to FlashDevelop.]]>

FlashDevelop Tutorial

Who cares if you can shave a few milliseconds off the time it takes you to write a line of code? How hard is it to add an import statement yourself? What’s wrong with writing an event handler function on your own?

This is missing the point. See, all of these tasks are tedious; they’re gruntwork, not programming. Automating and streamlining them frees you up to just code, without having to think about writing code. The FlashDevelop user interface helps out in the same way: it feels a lot easier and faster to use than Flash Professional’s.

From a tutorial I wrote for Activetuts+: Beginner’s Guide to FlashDevelop.

I’ve been meaning to write this tutorial for a long time.

When people decide to get into Flash development, they’re often put off by Flash CS-whatever’s price tag. But you don’t have to buy Flash Professional to make Flash applications and games — you don’t have to spend any money at all. Many of the indie Flash game developers that I know use a workflow that’s totally free.

But even if you do own Flash Professional — even if you’ve been using it for months — I wouldn’t recommend using it for coding. FlashDevelop is a far better tool. Like I said in the quote above, it takes the tedious tasks out of programming, leaving you to focus on the actual code.


The trouble is, it’s a little daunting. It’s a lot simpler to set up than when I started using it, but it’s still tricky to figure out how to get started. And you could use it for months before discovering the power of the SWC, which lets you use Flash Professional for design and animation without getting it anywhere near your project files.

So I wrote this tutorial to cover everything you would want to know if you’d never used it before:

  • What FlashDevelop does that makes it so awesome
  • How to install it
  • How to use it without needing Flash Professional
  • How to use it alongside Flash Professional

Take a look and let me know what you think. Be sure to check out the comments; readers have already posted excellent tips.

http://gamedev.michaeljameswilliams.com/2011/01/08/introduction-to-flashdevelop/feed/ 2