Sunday, May 6, 2012

Flash tips!

Over the past year and a half, I have picked up several tips when it comes to making Flash games. Some of these I use so frequently, that they have become essential to my development process. Here is the first batch...

1. Flash IDE Project


I use the free editor FlashDevelop as my primary text editor and debugger. In the latest versions, you can create a "Flash IDE Project" which will link to whichever FLA file you have open in Adobe Flash. This setup is advantageous because the text editor in Flash otherwise is very slow, and FlashDevelop comes with many neat features like a profiler (discussed as the next tip).


Prior to this, working with the two software packages was cumbersome. You would have to export art assets as SWC or SWF files, and then embed or import them into FlashDevelop. In some cases, FlashDevelop would have to be closed before you can overwrite one of the files.

To make matters worse, an embedded SWF that is instantiated as a MovieClip is very misleading because actually it gives just a container that stores the real clip you want, as a child object. To gain access safely, you have to use some obscure stream-related event listener. The only time I needed to do this (prior to the Flash IDE project feature) was when a sponsor handed me a compiled SWF to use in my preloader class.

2. FlashDevelop's amazing profiler


FlashDevelop has many useful features; the profiler definitely is somewhere on the top of the list. Open it by going to "View", and then "SWF Profiler". Click the red flag to green, and then hit F5 to publish and launch the game. The profiler only works in debug mode, so be sure you are not running in release mode.

I like to view the live object count. I've managed to find certain objects that accidentally got left around without being garbage collected due to some reference hidden somewhere.


3. Invisible box for buttons


How many times have you played a Flash game and had trouble clicking on a button? Often times these buttons are text based so you have to click on them in just the right place. Well, as a simple fix, all you have to do is overlay your button with an invisible shape with alpha set to zero.

The invisible rectangle above is on a separate layer on top of this text:

3. Text with outlines


Often times I like to outline my text with a dark color. To do this, first type the text in any font you want, and then break it down to a shape by hitting Ctrl-B twice. Copy this and use Ctrl-Shift-V to paste it in place on a different layer.


Then hide the top layer, and use the "Ink Bottle Tool" to create an outline around each character.
Then show the top layer and this is what you get:


This is flexible because it is possible to change the outline to a gradient, or even move the layer top around to give a more three dimensional look.

4. Paint inside



If you do all your painting in Flash using just the brush tool (or if you are planning to do so), then I cannot stress the "Paint Inside" option enough. Basically I never turn this option off, unless I am sketching on a bottom layer.


This tool forces your brush to paint only in the shape that began the stroke. It makes it super easy to add shadows and highlights because you don't have to "keep inside the lines."



4. Drop shadow


Have some boring buttons? Give them some depth by using the "Drop Shadow" filter. This makes just about anything pop out. Here are three blank placeholder buttons with a black shadow behind them. I like to use drop shadows on sponsorship logos, because it makes them easier to see on any background.

(Ignore the tooth and its painted shadow)


4. Ambient light


For background art, there is an option to "cacheAsBitmap". As long as it does not get scaled, rotated, or otherwise transformed (translation is okay), then it will be cached for ready use under the hood. This does improve performance if objects constantly get redrawn on top.

With that said, you can throw in a constant color effect for free...


I painted this background using very simple colors, and then turned it into nighttime using a blue color effect.


Wednesday, May 2, 2012

Tooth quest

Zombie Situation currently is being reviewed highly by testers on FGL! The game will get another week of full-time development, because it could use some more features and perhaps a story.

In the meantime, I have pretty much figured out what my next game will be. It will be a jumping tooth armed with weapons to fight against evil candies and sweets. Would you believe me if I told you that it will feature a story? Yes, it is incredibly weird, but I'm tired of the usual themes of orcs, skeletons, soldiers, zombies, mages, knights, etc.

It started with me creating this playable prototype of jumping around shooting black lines with the keyboard and mouse. My roommate said the lines look like toothpicks. Initially, I wanted to correct him and say they represent arrows or something typical like that. But then I thought why not toothpicks? The rest of this story will be history.

This is some art I drew to help visualize the theme. None of this is final of course (not even the title). This just gives me something to work with.

Just like Zombie Situation, this is going to be another 4-6 week development cycle, and will be sponsored once things are final. As an indie developer, I have experimented with different ways to monetize my work (especially on the mobile platform), and my experience has shown that Flash with sponsorship works the best for me.

Friday, April 20, 2012

"Zombie Situation"

I would like to announce that my latest game, "Zombie Situation" is now in beta! This means all the features are done so it just needs fixes and tweaks here and there. It is a Flash game where you must defend against an onslaught of crazy zombies using nine different weapons!


I will upload it to FlashGameLicense.com next week for play-testing, and then open it for sponsorship bidding once the game is in its best shape.

I decided to go for a darker atmosphere so the royalty-free music I licensed from Pond5.com helps establish a mood early in the game. Most of the audio was collected from freesound.org that I modified in Audacity (open source!). I like to overlay some of the art with free textures from Mayang.com to avoid making things look too cartoony.

The game itself is very simple and easy to play. You only need the keyboard during battles, and only the mouse for menu navigation during breaks. You can expect to utilize most of the nine weapons because ammunition is limited.

Sunday, April 8, 2012

Zombie progress


Lately I've been making a lot of progress on the current zombies defense game. I have decided to keep it in its Flash form and find a sponsor for the web. Why? Because my experiment of pursuing a dual Flash + mobile release of Pigs Will Fly shows that it was not really worth the extra work - I would have been better off with the usual sponsorship route.


This is definitely not a game for kids.

There will be random loot and events that occur. Hey, this is a zombie apocalypse so there should be surprises around every corner. Usually the last enemy of a round will drop some question marked bag which must be opened to proceed.


For example, here are some pills that were looted. You can either eat them for potentially a positive effect, or sell them for cash to upgrade your weapons. These little surprises should keep things interesting in between battles.

I should be finished with the beta in two weeks from now - April 21st.

Speaking of simplicity, I also have a couple freemium games planned for iOS and Android. I notice a burst of activity every time I update ones of my apps (iTunes bumps it back to the top) so I want to develop several free games over time that feature in-app purchases. It does seem like a good way to experiment with ideas.

No, it will not be another defense or puzzle game that reaches a limited audience on the phones. I am thinking even simpler than that - games that anyone can play. Fortunately each initial release can be achieved within 1-2 weeks of development time and I can scrap the ones that don't go anywhere.

Also it looks like I've been indie for one year! I am going to call today the end of my freshman year.

Tuesday, April 3, 2012

Pigs Will Fly is on the Web!

The free Flash version of Pigs Will Fly is now available on the Web! It has been uploaded to two of the biggest portal sites, Newgrounds and Kongregate and is already spreading quickly. You will notice that there is no primary/exclusive sponsor for this viral version because as an experiment, I chose to self-publish it and emphasize the bonus levels available on handheld devices.

 

Although I tested the game thoroughly, at the last minute I had to rip out the statistics API and upload a newer version because it was causing the game to stutter on my Mac Mini only after publishing the final game. Weird. Therefore I will not have any statistics to share.

Anyways, back to work on the current zombie game!

Wednesday, March 28, 2012

Pigs Will Fly is released!

I am pleased to announce that Pigs Will Fly is now available in three app stores!



The game runs in HD if you run the app on a iPad, Kindle Fire, Galaxy Tab, or Nook Color. Below is one of the walk-through videos for the Flash version, which will be available on the web in a week or two.


Cross-platform Mobile App Development Showcase

Free web version available here!

Thursday, March 22, 2012

Early zombies

I've drawn some of the art for the new zombie game:



Each zombie has a special ability or purpose, and they are introduced as the play progresses through the game.

Here is an early concept for the weapon upgrade menu which contains repeated placeholder weapons. I decided to make each upgrade cost only one token (dollar symbol), which rids the need to cram in prices had I gone with a more traditional currency system.