Blog Categories
- Art (64)
- ChineseBrush (13)
- Draw (18)
- Photoshop (6)
- Practice (35)
- Comics (180)
- Blonde Shelly (2)
- Cooking (8)
- Danny's Comic Journal (100)
- WebDesign (11)
- You had me at Croissant (69)
- 00_IntroBySofia (2)
- 01_InCalifornia (6)
- 02_TravelToLyon (11)
- 03_InLyon (46)
- 99_sidenote (2)
- Games (19)
- Flash Game (9)
- Links (2)
- News (62)
- Store (14)
- Tutorials (50)
- How To (14)
- Lessons Learned (5)
- Materials (8)
- Observation (10)
- Technique (17)
- Uncategorized (2)
Danny Around The Web
Links
Links to People
- 10min Drawing Techs.
- Alberto Ruiz
- Ann
- Ben Seto
- Brittney Lee
- Genevieve
- Karen Luk
- Marc Holmes
- N8 Vandyke
- Paul Forest
- Russel
- Shaheed Khan
- Vince
Blog Archive
- February 2010 (1)
- January 2010 (6)
- December 2009 (3)
- November 2009 (3)
- October 2009 (7)
- September 2009 (2)
- August 2009 (1)
- July 2009 (1)
- April 2009 (2)
- March 2009 (2)
- February 2009 (15)
- January 2009 (5)
- December 2008 (8)
- November 2008 (4)
- October 2008 (1)
- September 2008 (3)
- August 2008 (6)
- July 2008 (4)
- June 2008 (14)
- May 2008 (3)
- April 2008 (8)
- March 2008 (17)
- February 2008 (26)
- January 2008 (25)
- December 2007 (17)
- November 2007 (19)
- October 2007 (5)
- September 2007 (49)
Meta
After doing a random AS3 search for some code that might let me outline text clean/easily, I stumbled on this post by Tom Carden. It’s a short and sweet little post with some sample code. However, what caught my eye was his clone function (note, that’s a screenshot to the right, please go to his site if you want to see/use the code.).
Basically, my thought process was: "what the? why is he for-each’ing an array created on the spot? –oh, that’s pretty elegant, I should share that."
So basically I just wanted to post to say "hey, check out this for loop." :)
(and go read Tom Carden’s blog! :)
Appreciating the little things,
~Danny
First off, the image to the right is NOT playable yet. That said, on to the post…
Over the holidays I made a little game I called MicroRPG (here’s the original post, and original playable game page). It’s kind of a spoof on RPGs. You start in a town and you run out and kill a few guys only to retreat back to town to restore your life. You do the xp grind like this until you level up and start venturing out farther and farther. It basically points out the core mechanic RPGs use, which is "forcing people to grind in order to progress". I wanted it to be so obvious that I didn’t even program any button presses –>that’s right, it’s a zero button game. However, what started out as a spoof on RPGs turned into, what I think, is an okay game with nice sense of progression. It also involves some skill because if you’re not careful your little hero can get double or triple-teamed and will die much faster. Ultimately, you save the princess from an end boss with a ridiculous amount of hit points (just like a Final Fantasy game :). Actually, you can beat the game multiple times and each time you do, the end credits make a different joke about the hero and the princess’ "happily ever after" depending on how much money you have when you reach the end.
Anyway, I’ve been playing with the code in my spare time (which is not much :) and working on a version 2. It’s not currently running well enough to release again, but I just finished upgrading the hud and it looks sooo much better! So much so, that I thought I’d post a screen-shot (even tho the game is not ready to release again). Before, the hud was just some numbers along the bottom of the screen. Now it’s closer to my original idea. I wanted to embrace the whole "micro" part of the MicroRPG idea and make it look like the "screen" was also ‘micro’ by making a little box around the hero. It looks sooo much nicer and it’s soo much easier to play when the info you need from the hud is only an inch from where you’re already looking.
Improvements include:
- Hearts to show health, which break down into 5 pieces in each heart
- As you level up, you get another heart
- When you die, one of your hearts is x’ed out and can’t be filled until you go to the little doctor’s house and pay gold to get it fixed.
- The "Attack" and "Defense" numbers are now icons that change as the hero gets stronger. The icons are also in the hero’s hands.
Unfortunately, by redoing the hud, I now have to re-balance the game (I halved the hero’s hp… which makes all the enemies kill you really fast now). Before the next release, I’m hoping to create a new map and have creatures drop items (so the map above might be removed/replaced). I’m also debating about removing XP completely and going with a more Zelda style approach where all progress is ultimately an item you have to collect.
anyways, I’ll keep you posted (all 2 of you who actually played the original :p )
~Danny
I got inspired over Thanksgiving and made this game. Then I worked on it some more over Christmas. It was loads of fun to make so I thought I’d share :)
Click on the image to actually go to the page that has the game on it.
I just think it’s funny to have an RPG on such a tiny scale :)
Enjoy,
~Danny

WSMonitor is a useful graph that will monitor the memory usage of any open/running flash app with a real-time graph.
Very Handy, here’s a direct link to download it. (otherwise just google it)
http://www.websector.de/blog/download-manager.php?id=13
Hope That’s Helpful,
~Danny
Click and drag the pieces above to create your own toon portrait.
So I’ve been working on this little flash app for a week or so. I just wanted to make one of those little avatar makers I keep seeing, like faceyourmanga.com and wii’s mii maker. Only I wanted to be able to click and drag the pieces around and change colors without being limited by the app’s preselected positions and colors. This is what I have so far.
Let me know if you spot any major issues. Currently you have to be careful because there’s no undo. (Lock your pieces so you don’t accidently move them while you’re working on other stuff). I just cloned existing pieces and got creative for backgrounds and stuff. Also, there’s no save yet, so you’ll have to take a screen shot to saver your work (printscreen and then "paste" into a paint program like ms paint or photoshop).
Feel free to post your results online, etc (and leave a link so I can see it out on your facebook / deviantart / flickr / etc account! :)
Here’s a couple I did this morning. They’re random. My goal for this project is to make toon portraits of all my friends on facebook (these 2 don’t fit that theme).


I had to custom create those little selection sqaures that let you change the size, rotation, layer depth, etc. It was a little tricky –remember that big long post I made about having to work around AS3 not having a MovieClip.clone() function? Either way, I think it’s a good starting point. I was hoping to avoid having all the buttons and sliders like faceyour manga has and I think it worked out pretty well so far. Hopefully I’ll find some more time to add a selection of reusable parts like hairdooes and faces and stuff.
BTW, if you rotate something and then try to resize it, it’s a little funky. I’m hoping to fix that in the next release.
Enjoy,
~Danny
Danny Burbol’s How to make a falling blocks style Flash Game Tutorials
Lesson 2: Drawing Blocks & Keyboard Input
A Link To: All Lessons’ Table Of Contents
A Link To: The Original Flash Game that started all this
So here’s where we left off at the end of lesson 1. We have a couple self-contained screens that we can navigate between by clicking buttons.
You’ll notice that I changed my title text, scaled up the title screen buttons with the free transform tool (Tool bar, the black cursor with the box, under the white cursor and above the Lasso) and I’ve added an extra screen with links to these tutorials. You should be able to make changes like this if you went through lesson 1. The only thing you’ll needs is the function to call to open a web link in a new window. Here it is:

Note the: import flash.net.*;
In this lesson we are going to:
- Learn how to draw a sprite with a rectangle using ActionScript .
- Learn how to create our main loop callback event (timer events).
- Learn how to use Sprites for containers.
- Learn how to use 2 dimensional arrays as an adjacency matrix (the game’s board).
- Learn how to detect simple keyboard keys presses.
- Learn how to rotate our game’s pieces using some simple vector math trick.
I’m also not going to be going in to as much depth as I did in Lesson 1. Lesson 1 was a “starting from nothing” introduction to flash, but here in Lesson 2, we’re going to build on what we’ve learned rather than reiterate all of it. So don’t be afraid to pop open Lesson 1 and review a couple steps when you feel the need. I know it’s annoying, but realizing you don’t quite know how to do something and having to go dig up the info is actually a great way to train yourself to remember.
Danny Burbol’s How to make a falling blocks style Flash Game Tutorials
Lesson 1: Intro to Flash/ActionScript 3 and App Screens
A Link To: All Lessons’ Table Of Contents
A Link To: The Original Flash Game that started all this
This is a Flash tutorial for introducing some of the basics parts of ActionScript 3 that you’ll need to make any Flash Game. It’s presented with a goal in mind. We will be using these building blocks to set up a basic framework for making some simple games screen that we’ll be able to switch between by click on buttons on the various screens.
Here’s a link to my falling blocks game, it’s the reason I started making this tutorial.
I’ve been programming console games in c/c++ for years, but Actionscript 3 is pretty new to me. So rather than gloss over everything, I plan on making a more in-depth “how to” for people who have some programming knowledge, but are new to Flash and AS3.
A work of caution to artist and non-programmers: Making game with Flash using AS3 doesn’t *involve* programming, it *is* programming. This tutorial can’t teach you how to program, I’m sorry, it’s just a topic all to itself, and it’s a huge topic at that. So use your best judgment as-to whether or not you want to go through with this tutorial, I don’t want to waste your time or make you frustrated. Also, if anyone reading this had some good links for helping others learn some the the basics of programming and programming practices, please leave a comment so others can benefit. (Thanks!)
By the end of this tutorial we will have a flash application that shows a few screen and lets you click buttons to go between them. For example: a “someone presents” screen, a title screen, a credits screen, and a game screen that we can click buttons to go between.
So by the of this tutorial, you will have a framework, something like this:
Elements I’ll be explaingin in this tutorial:
- Make a .fla file
- Make a few movie clips (one per screen)
- Make a few buttons (for switching screen)
- Make a .as file
- Make a class
- Hook flash to automatically run ActionScript
- Hooking up movieclips to work like classes in ActionScript
- Hooking up buttons to work like member variables of classes in ActionScript
- Catch Generic Flash Events
- Make and Catch Your own Events
Elements I won’t be explaining:
- I won’t be explaining “how to program”, but I will be volunteering as much insight as I can about the Actionscript I’ll be showing. Regardless, if you don’t know what a “class” or “event” is and you’ve never heard of “public”, “private”, “extends”, or “override”, please stop now. You will be disappoint about halfway through this tutorial. Instead, go check out some programming tutorials and come back to this one later.

I know this is supposed to be an art blog, but as soon as you introduce a computer, the lines between art and engineering start to get blurred. Regardless, I found this Flash AS3 Memory Leak to be such a landmine that I just had to post it somewhere for other people to hopefully find and breath a sigh of relief when they realize why their flash game slows down and grinds to a halt the longer they play it.
Okay, no beating around the bush. Do this code once a frame (or more!) and you’re flash game will grind to a halt.
mySprite.graphics.beginFill( 0xFFFFFF );
mySprite.graphics.drawRect( vPos.x, vPox.y, vSize.x, vSize.y );
mySprite.graphics.endFill();
This was my “DrawBlock” function for my falling blocks game. I see these three lines posted all over the web in tutorial and in forums. –Worse, I often only see the first two lines and no endFill(). The above code eats memory.


