Bitmap Filtering With AS3

It’s been far too long since I have had a few minutes to post on the topic of Flash or Actionscript, so I wanted to take a few minutes out of my incredibly hectic schedule and post something I’ve recently learned. I had been looking for a nice, clean way to come up with some more stunning visual effects for my studies, especially when they can be construed as boring by some based on content alone. After finding the Polygonal library on Google Code and studying their particle handling and demos, I decided to give them some sincere flattery and imitate their demo display. I found it to be incredibly clean, and the masking techniques exhibited make for a much more easily managed viewport. While this was a great boost for me, I was most impressed by seeing their incredibly simple solution to some visual effects I had been striving to achieve with some of my particle studies.
Continue reading

Particle Generation and Management Study

Over the past week, I have had opportunity to play with some ideas for particle generation that have been floating around in my mind for a while. Why particles? Well, while single object animations are great, there is a certain level of realism to movement in everything from explosions and fireworks to dust and debris when your environment can act upon the individual particles that make up your animation. Enter the particle generator. Instead of simply embedding an explosion movie into the appropriate scene, we can instead render a particle generator. These generators will then produce the debris for our effect, and each element (or particle) of that debris will be able to interact with its environment – from gravity to boundaries. By calculating each particle to have a mass of its own, the effects can be quite pleasing.
Continue reading

Adding Links to a Dynamic Flash AS3 Slideshow

Those of you who may have followed my previous Flash AS3 Slideshow post may have noted that it was rather limiting in function. While there are sometimes valid uses for a slideshow to statically transition between images (whether or not those images are dynamically loaded), there are typically much more useful things we can do in the presentation. In this post, we will review how to add an optional link to each slide in the XML data that will then turn the individual slides into hyperlinks whenever they are displayed.
Continue reading

Dynamic XML Slideshow in AS3

Over the past year or so, I have been responsible for developing and maintaining a JavaScript Slideshow component for our internal CMS. With the similarities between JavaScript and Actionscript, I have wanted to implement this slideshow in a manner consistent with the flexibility and usage of the JavaScript version. The biggest difference is that the JS one is focused on content, and the AS3 version will be focused on pictures – since AS3 does not fully support markup and CSS yet. This being said, I have had opportunity to attack my project and have the first phase completed. As with so many of my other personal projects, I’m tackling it in phases rather than having a defined spec list ready to go. In this case, I have the slideshow reading an image list from an XML document, loading the individual pictures and setting them on a timed rotation.
Continue reading

Simple Actionscript Shooter Phase 1 (AS3)

Well, OK, it’s not much of a Phase 1 – more like Phases 1, 2 and 3 all rolled into one simple demo, but for my purposes, the name will suffice. Many different ideas and techniques have been rolling around in my head for months, and I finally decided to try and find a simple way to implement some of those ideas into a working model; and what better way to do so than a classic shooter?

With flash gaming sites like Kongregate and ArmorGames offering incentives – and even revenue – to developers, I thought it about time to start put something together and just see what comes of it. Obviously, I have a long way to go, but here is a preview of a little application on which I am currently working.
Continue reading

Embedding Fonts into Actionscript Only Project (AS3)

Embedding fonts has been a bane to me for some time, and I finally spent the time to find both the easiest and most comprehensive way to embed needed fonts into a SWF using AS3 only. As always, I try to keep the demos here as lightweight as possible, and I have tried to keep any code snippets I give free from external resources. In this case, there is a small exception, but it is only the exception of using one of the fonts installed on your own computer.

Basically, we need to understand a couple things about the nature of the embedded font in Actionscript. First, it must be assigned to a String in order to store all the character references. Next, you will quickly find that creating and implementing a TextFormat object to attach the font and styles to the different places in which it will be used is ideal. Finally, keep in mind that attaching several fonts to a single application can significantly increase the file size, so try to consolidate and style for variety as much as possible instead of selecting a boat load of different font faces.
Continue reading

Map Handling Take 3 – Hover Over Borders (AS3)

Well, at the risk of sensory overload today – it’s my blog after all – I decided to post one more version of my map handler. This one adds in the classic mouse hover scroll effect at the edges of the map. I did try to make it a bit more usable, though, by calculating the distance from the edge of the map and accelerating the movement appropriately. So, the closer to the edge you are, the faster the map scrolls. So, to recap, you can use the following methods to move:
Continue reading

Drag Viewport for Map Preview in AS3

So, a really quick update post here. Upon publishing my previous post, I received some great feedback from gamer friends who thought a good way to improve the interaction would be to allow for dragging the preview marker around to update the viewport in addition to simply clicking. After giving this some thought and suppressing some immediate concerns about the overhead calculations this might take, I have implemented this change and am interested in getting some feedback. Of course, all the other features (like clicking the preview and navigating the map using the A, S, D and W keys). Feedback welcome as always…
Continue reading

Handling Larger Maps in AS3

I have been working on some ideas for a TD game that would be both entertaining and original, and I feel that – with the help of a couple friends’ input – I’m on the way to something worth developing. Since I have already put together much of the “guts” for a TD game, I am hoping that I will be able to quickly put together a prototype in my free time. Ideally, once I have a prototype together, I will be able to find a sponsor to pay for development, and I would then be able to focus some solid time on the project, but that is a bit optimistic at this point, since we are still in the baby conceptual stage.

Without giving too much away on my idea, I’m going to try to cover some concepts and specific ideas that I have had to resolve in order to visualize different portions of the interface and interactions. The first thing I realized was, to fully succeed with the idea I want to implement, I would have to be able to support fairly large maps (in some remote cases, massive may be a better term). Having been a long time RTS (Real Time Strategy) player, I decided to take some cues from them and implement a similar map-handling system. Surprisingly, once things started falling into place, it was quite easy to tweak and get working to a satisfactory level.
Continue reading

Consistent Omnidirectional Movement in AS3

One of my biggest gripes in Flash games to date is that of simulated motion that is by no means realistic. True, this may be acceptable for some games, but as a whole, there is something that just doesn’t feel right when your side scrolling shooter plane moves up one unit when you press UP, left one unit when you press LEFT but moves both up and left one entire unit when you have both keys depressed. Logically, by moving in two directions at once, your character or vehicle should not be granted an additional bonus to their movement speed. Not only does it offer unfair advantages to the competent player who learns to use this loophole to his advantage, but it also makes your control somewhat unwieldy. The human brain is able to estimate precise movements and predict where things should go, and some people, though they may not know the precise reasons, will gravitate to those games that their minds can accurately predict the outcome of a motion.

If you have read my last few posts, you understand that this more realistic motion has driven me to all sorts of physics and algorithmic studies in the past weeks. Today, though, I decided to write on something a bit more fun. Those of you who remember the great old days of R. C. Pro-Am, Super Off Road or other top view racing games can attest to both the challenge and creativity about learning to control a car driving in an omnidirectional world without having to sit directly behind the wheel.
Continue reading