Tuesday, August 29, 2006

Blogger is behaving today.

Here are the other bosses that have been created so far;

EVILK



A pyscho based on LeatherFace who tries to carve you up with a chainsaw. EvilK is a shite name for a game boss, but leaves no mystery as to which flash coder authored the original game, in the case of E.Baum or another criminal stealing it and claiming property rights. The showdown with EvilK is 100% complete already, and I'm 98% happy with it. You fight him in a dark cave, and I've used an actionscript generated tint to colour him black so that you only see him when he comes running out of the shadows. It works suprisingly well, and has the desired effect of scaring the poo out of you on first sight. He also has a blood-curdling scream to go along with the ear-ripping chainsaw sounds. (Update 8/2010 'EvilK' became 'Project K' in 'THE INSANITY 1 & 2'

LUCIFER



Lucifer is a demon that was accidentally raised by a necromancer who foolishly believed he had will enough to master. Unfortunately for him, he raised a sovereign monster far beyond his control and was slaughtered. Lucifer is a quick boss that grows wings in his second stage of battle, and can also raise other creatures to his aid. He doesn't have any special weak points, unlike Snakeman or EvilK- you simply have to be nimble with the mouse to catch him under the crosshair.

Lucifer has been rendered but I've yet to get him into code. I figure after he's done I'll tweak the game up, see what the public thinks, and then maybe make a few more levels if it's popular.

Tuesday, August 15, 2006

Apologies for a long absence..

No excuses, other than myself being lazy to update I'm afraid. Well, not exactly lazy- in fact pretty busy. Not with chasing hot babes and driving fast cars, worse luck, but with coding.
I ran into a coding problem with Nexus and decided to drop the project temporarily. I hit a brick wall and realised I don't have the programming know-how to deal with the ever fiddly tile-engine. Instead, I've been working on my first game, House of Splatter (now retitled with the less daft-sounding 'THE DAMNED').
And man, what was a tiny little shooter has now matured into a top-notch game. Who would have known it had such potential. In its current stage of completion it features new graphics, bolder death scenes, extra blood'n'gore, an intro page, and some perversly evil bosses:

SNAKEMAN





Snakeman is a creature kind of inspired by Jason from Friday 13th. He lives in the lake and protects his vulnerable tongue with a tempered steel mask. *HINT*

Go ahead and check out the first level of THE DAMNED on link section.


Sorry the rest will have to wait as Blogger isn't uploading pictures properly right now.


The bosses have some fairly predictable AI patterns, but won't be beaten by any lazy trigger fingers (saying that though, Snakeman is a bit too much of a wimp at present). You also have to time your reloads very carefully or you will get a game over - as a unique aspect of this game is that you have only one life.

I'm quite chuffed with the mileage I can get out of Poser these days. When I first got my hands on the program about 5 years ago, it was of little real use and just a way to waste an hour making two crappy looking-models kung-fu fight, or do 3d humping for a laugh.
Nowadays, it is much improved.
It's a bug-ridden application that crashes more often that not; a pile of cack compared to Max or any of the other big boys, but it certainly can do the job at times. Now that I've figured how to wrap textures around models correctly with UVMapper, deform them with magnets, and have mastered the Cloth room, Poser truly has become indespensible for making realistic keyframe animations. I recommend it to other newbs who are embarking on their journey into the world of 3d animation.

Sunday, July 30, 2006

Tile-Engine Rebirth




It's highly enjoyable remaking old classics of your childhood. but it sure is time-consuming. I'm embaressed to say how long it took to make some of the backgrounds alone. Today I got quite a lot done though.

Check out the Nexus link for some new updates.

You can press Q to punch, and if you're in the elevator room, you can see the doors open too when you press it. I haven't as yet implemented a proper elevator system as of yet(that's probably next) but if you tap Space bar it flips arrays and you can see the next level when you leave the screen.

CODING
First, I got around to rewriting the art/tile based hybrid engine. If you check the Nexus l*ink you can see the little beauty in action.
It wasn't much of a hurdle to code- in fact, I'll post the code here for the newbs.

tile_width=60;
tile_y=50;

myMap = [5, 4, 6, 4, 3, 2, 1, 2, 0];

//myMap is the array for the background. The numbers refer to the corresponding movies. Ah, you'll get what I mean in a minute..It'll probably end up as a 2d array (to deal with levels) but I'm just keeping things simple for now.

myMiddleMap = [[0,10,0,0,0,0,0,1,1,0],
[0,1,0,0,0,0,0,0,0,0],
[0,0,0,0,2,0,0,0,0,0],
[0,1,0,3,0,0,1,1,1,0],
[0,0,0,1,1,1,0,0,0,0],
[0,0,0,0,0,0,1,0,0,0],
[0,0,0,0,0,0,0,0,10,0]];

//myMiddleMap is a double-array that contains references to objects held in movies that combine to create the middle tile layer.

this.createEmptyMovieClip("background", this.getNextHighestDepth());

background.attachMovie("cavetile_" + myMap[current], "cave", background.getNextHighestDepth());

//In the library, my backgrounds are all named like "cavetile_1" "cavetile_10" etc, so all the above line does is check the myMap array to see which one is up, then attaches it to an empty movieclip called background.


for(var i=0;i < style="font-style: italic;">current is a referer to which screen you are actually in.
First we check to make sure the array reference isn't 0. If it is, that means there's nothing to plot, so we do nothing except go to the next tile, 60 pixels further to the right. If we do have a tile that needs to be placed, we give it a name "Midtile" with a number from 1-9. and we position it appropriately by setting its x co-ords to i*the set tile width.

Later on I make sure to replace 'cave' with the new backgrounds at screen change, and remove the previous one when it's out of view, along with all the tiles that are attached to it.

I quite like my little tile engine because it's fairly flexible. Though the mid-tiles have to retain a set width, their height is dependant upon you. Further more, since they're all movies, they can be animated and code put on them.

For example, an invisible wall tile is pretty easy to implement.
When the character runs, before incrementing or decrementing his x position, we check to see if a collision flag has been raised. If so, we disallow any changes. The collision flag check is performed within the tile movie itself. You run a hitTest to see if the _root.hero has collided with it, and if so it returns true and our character stops moving towards it. With most tile-engines, you have to check every frame for a collision, but because the code is inside the tile and not on the main program, it's that little bit faster as it only runs tests after it has been created.

I'm either really smart, or my code is pants and I'm just too dumb to recognise it.
-----------------------------------------------------------------------------------------------
I was thinking about whos faces to use for the undercover agents. In the original, the faces were digitized and probably mates of the programmers, but I figure "Why not just go the whole hog?" and put my favourite actors in there instead. So look forward to seeing Christian Bale, Al Pacino, Di Caprio (haha, just kidding), Christopher Walken, and plenty of others make an appearance. I figure I'm never going to get sued since the game is being made basically just for my entertainment, and if any Ebaum or wherever steals it without my permission for their site then they'll likely be the ones getting the finger pointed at instead. Hell, I'd find it hilarious if I was a famous moviestar and some cheeky Brit used my face for a crappy game.

Well, it'll be a laugh getting to that, but first and foremost I need to get the levels working properly and a tracking system up and running. Did I mention I welcome volunteers? Sigh.This is going to take forever...

Labours of love.