Friday, June 29, 2007

Into the Abyss with AS3..

Yes, it's official, AS3 is awesome. After 2 weeks of consistent AS3 tinkering, I'm wondering how I ever made games without it. Programming in AS3 is definitely tricky. There's no easy way to remove MovieClips anymore, and even passing parameters to functions can be a pain-in-the butt with all the new compiler errors that pop up should you misplace your variable definitions, but by and by it stands head and shoulders over AS2 in many departments.

Something I've been cheerful about is that- contrary to my initial belief- AS3 doesn't necesserily have to be coded in solid OO (what the hell is a public/private function anyway?), and you CAN thankfully code in an almost similar manner to AS2 just by learning the appropriate methods to migrate your AS2 code to AS3. And yes, though the proper programming protocol would be to have your game consist of a bunch of class.as files and give you a headache over all the encapsulation/polymorphism and that sort of tosh, you can actually circumnavigate all that and do it the old fashioned way I'm used to, ie having the game code entirely on the first frame and bugger all OO. Naturally I do intend to gradually turn my games into full OO, but it's a relief to know that my coding doesn't have to come to a flat halt while I'm on the baby steps to mastering that particular style of programming. Subsequently I wont be releasing any tutorials based on AS3 until I'm comfortable that I'm coding properly in OO- but you can expect a few new games out soon.
It's great perkt that I can stick to my usual style of programming and yet still benefit from the TASTY speed increases AS3 has to offer. Already it's clearly obvious to me that the power of AS3 is superior to AS2 in many ways, and if you take a look at some of the demo's online showing the differences between the two you can see it for yourself. It's like having a new Testarosa in your garage- all good fun and I shan't be going back to AS2 anytime soon.
Bounty Hunter 2 (AS3) is in the works. I realise the first one is well... shit, but it was fun to code and there's still a lot of functions in there I think I can reuse. Think of Bounty Hunter 1 & 2 as the equiv of Mad Max and the sequel. They're going to be light years apart in excellence. I've already a little prototype up and running on my machine with an astronaut that can enter ships littered around a galaxy, and an R-Type style beam weapon in operation that is looking rather fab if I don't say so myself. I won't post a pic or an swf as firstly there's a few bugs still in there and also the graphics are all placeholder and crap to look at. I figure I'll start out making a skirmish mode demo that sets you against 20 bots in a deathmatch, and if that does ok with the public I'll turn it into a long-term (and I do emphasise 'long-term') multiplayer project that will have teams against teams. I think the beauty lies in the Paradroid style ability to defeat and then occupy the enemy, assuming all of their special abilities and such. Almost like a Space Sim GTA. It's a play mechanic that I think will be huge fun, with people competing to get or destroy the best ships. Throw in some special super-rare super-hard-to-get street cred ships and you've got a winning game I reckon.
What I've been working on for the last few days though is actually the Streets of Rage engine. It now has throws, combos, some sfx and enemies, and is working well. This will be my last AS2 project for sure, I'm dumping AS2 like a frumpy girlfriend who's no longer good in the sack, for AS3, my new Swedish PlayBoy centerfold. The SOF engine will combine the mechanics of some of my favourite beat-em-ups, Final Fight, SOR, and Spike-Out. It's like Tarantino says- if you want to make great movies, you've got to be a great movie watcher, and I'm pretty confident that I know exactly what it is that makes some fighting games better than others.

4 comments:

Anonymous said...

kris your blog is great, y looked around through you work and its the kind of stuff that id like to do some day, please could give me some tips from where to start on AS, because im working on flash 8 around a month or two, you now getting the basic stuff right, but its been pretty hard because i lack good documentation, if you got any info to share please write me an email.

by the way great work keep it up.

ilgabo@gmail.com thats also my msn

richieopera said...

Very nice blog!
Well done!
Im moving to Japan soon from the UK too and would love to know more about the home vide game consoles. How much is the PS3 and what games are there and such.
Are those game centers pretty much everywhere or rare?

Thanks!!
keep up the good work!!

EvilKris said...

Can't say exactly how much a PS3 is from memory right now but it's not particularly cheaper here than anywhere else. Besides you might want to think about getting a WII instead because Nintendo is killing the PS3 in sales at the moment and I've a nasty feeling the PS3 might be the next DreamCast, especially with Halo3 out soon on the Xbox.
What games are out? Gaaaah...You're going to make me get my camera out again aren't you? I thought nobody was reading this shit so I stopped. Alright I'll take a few pics later on and post them.
The game centers are pretty much everywhere- some are even open 24hrs. Back in the UK the video arcade scene pretty much died back in the late 90's but here it is still doing a roaring trade and the tragedy is that you guys outside of Japan are missing some of the most awesome multiplayer arcade games there is.

Anonymous said...

Hey Kris,

Awesome tutorials, I need some help though. On part 5 of the Beat'em up Fighting tutorial. When you are creating the enemy A.I. I looked at _root.attachMovie("zombie", "brownzombie", 9, {_x100, _y:100});. Where does the brownzombie instance come from? I understand that zombie is a movie clip but what is brownzombie? What is it for? And what exactly does brownzombie do? Thank you for your help and time. Please reach me at lady_kaiulani@yahoo.com