Support For Multi-Panel Display?

In gaming, the challenge always seems to be bigger, bolder and badder when it comes to graphics, but why hasn’t anyone really tapped the PC market with full multi-panel display support? This question came to mind again today when I saw this amazing 43″ curved display. I can only imagine the satisfaction of playing a flight simulator or racing game with two of these bad boys side by side providing a true panoramic display.
Continue reading →

Cover E3 With Kotaku: I Am Not the Chosen One

Yes, that’s right: Kotaku will be without the immense blessing of my presence and personality during their E3 Expo coverage in June. In a follow up to yesterday’s post, I wanted to inform my faithful readers that I was not able to snag the victory in the writing contest and claim my role as a game reporter for the week. Am I disappointed? Absolutely. But, I must acknowledge that I was quite encouraged to have made it as far as I did, and I hope that I may possibly find a little recognition out of the whole thing.

Let me once again express my deepest thanks to Kotaku for even presenting such an opportunity as this. I am thrilled to have had any part at all, and – after asking specifically how badly I had lost – when Brian informed me that I actually came in third in their vote, I figured that is nothing to sneeze at. Third place in a contest that determines the next attendee to the pinnacle of video game summits: indeed, not a bad place to be at all. However, the sting of “so close but yet so far away” is definitely there.
Continue reading →

Cover E3 With Kotaku? Really???

As many of you are probably aware (well, at least the gamers among you), video game news giant Kotaku launched a campaign last week to offer a solitary individual not currently involved in the gaming industry a chance to attend and cover the highly anticipated E3 Expo with them this year. Donning my fanboy facade, I registered for round one of their contest and received word Tuesday that I had been chosen as one of the dozen finalists to participate in the big challenge.
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 →

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 →

Tower Defense in AS3 – Part IV

Many of you have been waiting patiently for this post, and let me say that I have worked many hours to get this where it is today. I wanted to get my code to the point where it was solid enough that I would actually publish something with it, and I believe it is there. Thanks to those who have encouraged me to finish this post, and I look forward to seeing how it is used!

In introduction, let me say a few things about this post: first, I have tried to alter my scope slightly in order to be more accessible to readers who may not have access to a full licensed copy of Flash. So, to help with that and make these lessons more accessible, I have decided to write them in such a way as to be compiled by the Flex SDK, a fully open source framework to allow anyone to build robust Flash applications. I prefer to use the full Flex Developer 3 for development and release, but even without it, you can compile full AS3 or Flex applications using only the SDK from the command line. One other major benefit to doing my development with Flex Builder is the ability to publish my source code for all to view online as well as download.

Obviously, this opens up the accessibility to a much broader range of individuals looking to learn Actionscript 3 or Flex. So, all this to say that the code in this post, while doing practically the same thing as the previous posts (and keeping the majority of the same logic), cleans up a ton of structural issues to lend itself more cleanly towards a completed project. That being said, we are simply focusing on the Tower object itself this time. I will leave it to your imagination and time to read through the rest of the cleaned – and fully documented, I might add – code. I may find time to write some more generalized posts on the Flex framework itself in days to come, but for now, suffice to say that the main file that is compiled as the application (in our case, called “MagicTD.as”) will be instantiated as the main() function and will serve as our entire platform base. You will notice on line 12 of this file all the variables needed to set up our SWF with the desired dimensions, background color and framerate.

So, without further ado, let’s jump right into our Tower class.
Continue reading →

Tower Defense in AS3 – Part III

I decided to take a slightly different approach to Phase III of this series than I had initially intended, since there was a little restructuring that needed to be done in order to support a cleaner and more efficient system. The intent was to have this post cover the basic solution to the towers themselves, but after getting back into the code, it made more sense to discuss stage structure, wave management and creep variety first. This way, we will actually have something on which to test our towers when we make them.

When you finish reading this post, you will have the ability to customize your waves via an XML file along with defining the path of the road — and therefore the creeps — in the same XML document. Allowing for customization in this way will pave the way for building a framework that can be enhanced for many different uses.
Continue reading →

Movement and Event Handling with AS3

Target Practice in AS3

A couple days ago, I decided I wanted to teach myself a few movement algorithms withing Flash using Actionscript 3. I started with simple Event.ENTER_FRAME event trapping to move an object across the screen, and then I decided to make it a bit more interesting. What I ended up with is this small target practice game. It isn’t very feature rich by any means, but the different things I was able to learn and apply in a relatively short amount of time — like my particle system, easing an object into a destination and MouseEvent trapping — are invaluable to learn if you are going to do anything remotely professional with AS3.

Although I don’t claim to be a professional yet (that will come with time), my intent is to share any interesting discoveries I have made in order to help someone along through the learning stages I have just completed. Just below this paragraph, you will see the target practice game displayed. Simply click the targets to destroy them, and when you need more (or if you want to overload the app), just click the green circle in the top right. You will notice that a main feature of this app is significant randomization: from the position and motion of the targets to the amount and direction of the debris that scatters when those targets are destroyed. So, to aid in your learning, I have provided the source code for this app for you to study as well. The download link will appear at the end of the post.
Continue reading →