Sunday, December 05, 2010

Creepy. Gothic. Inspirational

Was perusing through some old book shop here in Japan and came across this book of old Art Deco illustrations courtesy of Bela-Gyula Krieger, a long dead Hungarian animalier artist of the LOUIS XV Period. One look and I instantly thought of how well these would go in for The Insanity 3, ooooh yeah :-)
Best thing about these are since they're over a hundred year old they're totally permission free - as the book says, and as such are ok for use in games. I've a few hundred pages of these amazing awe-inspiring pieces, everything from Toad Daggers to Crocodile Eye Brooches. It's totally the stuff of dark fantasy, perfect for games. I'm even going to base some of my spacecraft design for the latest game I'm working on (still haven't named it).






You can bet your ass Edgar Friendly would have loved these too and yes, you will see a few of them crop up in the third installment of The Insanity series.

Tuesday, October 26, 2010

ROIDZ continuation...

Design notes for the new game.
-------------------------------

*Start off with your ship basic firing abilities.
*Each enemy destroyed gives credits for buying better weapons.
*4 levels and 4 bosses.
*Earlier bosses will be doable without anything but skill but later bosses will literally be impossible without the correct combination of bought power-ups.
*Each time you clock the game it gets progressively harder.
*Random *super* enemies will appear. Normal enemies that are a special colour and much tougher/faster than others of the same ilk however they will give a fat credit bonus when destroyed.
*Some variety in enemies during later replays.

Est.finishing time, 2 months from this post.

Friday, October 08, 2010

Roids

ASTEROIDZ - I mean :-)
Use the mouse to drag them around. Fingers crossed they'll fit well into the game without slowing up the FPS too much.

Wednesday, October 06, 2010

Updates-

Small update to the latest shooting game I've been working on, just click on the link on the thread below. Really need to get a better codename than 'BlowUpSh*t' I know but the name makes me chuckle every time I read it. I would genuinely call the game that if I thought parents would allow their little 5yr old Johnny to play a game with such a title.
Updates include a nasty bug being fixed that was messing with the memory, and a new weapon. If you hold down the mouse button it now activates an R-type ray gun actually called the er- *R-Type* (sort of in tribute really) that can rattle the crap out of any enemies it smashes into. The gun does damage relative to the amount of time you power it up, and if fully powered, the generator blinks and you'll do maximum damage- along with doubling the magnitude of the laser.
Don't let the fact the beam goes through some enemies- I'm still collision detection tweaking so expect a fix soon.
Machine guns next.

Another demo:
This one isn't even worth posting honestly, but just so you guys can get a basic idea of how the fighting game I was working on *was* going (till I realised how much work would go into it) here it is for ye all to 'marvel' at, lol. Never fear, though for the time being I'm preoccupied with the shooter, this demo will become a fully-fledged game, hey perhaps if I'm lucky some talented artist might come along and start spriting characters for me based on the biped movements in the demo. I'd truly be motivated to get back on the coding for this one if that were to happen. Major bonus points if you can guess which game the background music was ripped from..

Sunday, October 03, 2010

Blow Sh*t Up

Little quick demo of the latest game I'm working on.
I was planning to do a beat-em up game and had been working on that for a few weeks until I began to feel it would take me forever to finish what with all the animations to draw and such. Therefore I decided to ease down off the big projects for a while hence this is what I've been piddling about with these days-


Codename:Blow Sh*t Up is what I call this puppy. It's nothing more than a standard shooter with some fancy pixel particles explosions. The demo just features a bunch of enemies floating around the screen. The particle engine is so quick I can eve n add Glow and Blur filters to it without much of a halt in the fps.

I'm using the excellent Pixel Perfect Collision Engine by Troy Gilbert. Dude has made a fine piece of code there, it works like a dream.

//Accurate pixel detection turned off (bounding box same as hitTestObject)
if (PixelPerfectCollisionDetection.isColliding(ob,characterArray[i], this,false))
{
//If ship has a weak point check for it first
if(characterArray[i].box)
{
//Accurate pixel detection turned on
if(PixelPerfectCollisionDetection.isColliding(ob,characterArray[i].box,this,true,20))
{
Tint(characterArray[i], 0xFF0000,1);
characterArray[i].oldX=x;
characterArray[i].oldY=y;
characterArray[i].alive=false;
removeMovie(ob);
return;
}
}
///////////////////////////////////////////////////////////////////


Awesomeness.

--------------------

So no 'Insanity III', boo hoo I know :-) I'd love to work on it- I truly would, but the only thing I have to say in my defence to the peeps begging me to make it a Jerry McGuire-esque 'Shooooow meee the money!' because entertaining you guys or not the financial scraps I've been making from this series are laughable, it's time for another strategy.

Love that you guys appreciated the games though.

Friday, September 24, 2010

Bit of NG drama

Phew. Stupid me I unknowingly uploaded 'THE INSANITY II' on minutes prior to what they call 'MADNESS DAY' on Newgrounds.com. Within about 2 hours the game vanished from the new entry Flash Portal with less than a 1000 views, much to my dismay. Thankfully after writing to the admin there I got a reply from Wade there that under my conditions they would delete the game and allow me to resubmit on a quieter day.

Man, for a minute there I thought 7 months of anticipation had just been flushed down the toilet. Lucky me.

For posterity here are the reviews it already got. I guess they'll be gone too soon enough.


"I am thinking to much..."
by: Kenxeus
date: 7 hours ago
The game got me thinking that maybe he is actually the twin brother of Edgar Friendly and that Edgar Friendly actually died in the car accident instead of his brother...Maybe I think that because when he went back to be a surgeon he could not do his job...
That his head injury made him believe he was Edgar Friendly, that the incident and the loss of his brother made him insane.
Great game what is next a game when he started doing his experiments for the first time?
[respond]
Rate this review:
Helpful!
Useless.
Flag as abusive.
No users have weighed in on this review.
Score:10
SanguineWendigo
"Absoutely Beautiful"
date: 17 hours ago
This game was as beautiful as the first one, I love every bit of it. But my favorite subject of the game would have to be the designs of all characters and creatures. One thing I have noticed is Edgar Friendly's hair is similar to a lion's mane, the king of the jungle, ironic since in a since that is what he is trying to become lol. the creatures as well are amazing in their design and even how to "handle" them was amazing. I do hope you make part 3 soon in the future for even though there is only 2 parts, I am a deep fan of the series. At least I hope it becomes a series....
[respond]
Rate this review:
Helpful!
Useless.
Flag as abusive.
No users have weighed in on this review.
Score:10
jason7799
"Your game"
date: September 22, 2010
Good graphics for the atmospher it brings....entertaining for a while..or how ever long it takes someone to beat it..but yea it could have been more difficult
good game though
5/5
[respond]
Rate this review:
Helpful!
Useless.
Flag as abusive.
No users have weighed in on this review.
Score:10
TheRinger1976
"Are you from Florida?"
date: September 22, 2010
I like your game, particularly the cinematic atmosphere you've created. I'd bet you're a fan of gore porn.
Seriously liked it though. Especially the [I assume to be] seamless blending of photos, drawings, and perhaps a bit of CG rendering in your stills. It tickles my pinial gland. Keep up the good work.
[respond]
Rate this review:
Helpful!
Useless.
Flag as abusive.
No users have weighed in on this review.
Score:10
thom175
"That's fuckin creepy."
by: thom175
date: September 22, 2010
This game scared me shitless. I love the Lovecraft reference. I hope you make another because this is really great man.
5/5
10/10
[respond]

Wednesday, September 22, 2010

INSANITY II- Q & A

If you've any questions about the game's storyline or the future of the INSANITY series post them to me and I'll paste the answers in here-



Anonymous Anonymous said...
This game is awesome! 8D Even though I keep getting stuck like the first game, but it's a lack of perception as per usual. XD Thank you for making The Insanity II, Mister Kris, my friend and I love it like we did the first game(which was HORRIFYING)! Your horror games are always terrifyingly wonderful.

Also the second painting in the beginning was a nice touch; I had played the Alpha and didn't expect it at all in the game itself. Keeping us on our toes as ever. ^^b
7:13 AM
Delete
Blogger EvilKris said...
My pleasure!
I'm working on a few other smaller scale games this year, but I expect they'll be an 'INSANITY 3' out sooner or later. It'll be based on Peter Langdon's brother, Nathan, and upon the concept of latex masks.
11:23 AM
Anonymous Anonymous said...
Well, variety is the spice of life! XD It'd actually be a little worrying to be working on games like The Insanity ALL the time...is it at all scary for you to think up all those designs and situations and the main couples' psyches?
Even Stephen King takes a break from horror. XD

That'll be interesting to see in the future. So do you plan to always have it with "sane man being tested by the insane", or have you ever teased the idea of one of Friendly's mindwarped creations as an Insanity protagonist? I'm not saying the current formula is stale(nor should I assume that Nathan will be treated like Peter or Firstgame!Friendly, honestly...sorry), it'd just be interesting to see the mentality and how Friendly treats the creations he has under his control beyond cannon fodder for those he's testing. ^^
-------------------------------------------------------------------------------------
Yeah in fact it is a little taxing to go deep into the world of Dr.Friendly and company, there's always one or two nightmares that lay in wait but it goes with the territory. Besides, what lies at the base of any story worth telling is the characterization, so you have to go there. If Friendly had been nothing more than a typical B-movie psychopath who kills for naught but leisure there'd be hardly anything riveting about him. But being that he was once a kind and caring doctor warped by mental disfiguration (brought on by a crash crash) it gives him a little more depth. His tragedy also gives birth and victimises the character Tracy Takaki -who obviously being somewhat driven to mental sickness herself- is compelled to follow the man she once loved to the very end. What starts to happen in the first game is Dr.Friendly's inner sub-conscious trying to bring him back to reality.
In a third game (set after part one) he will once again slip back into madness and this is where the character Nathan Langdon steps in. As he seeks out his missing brother Peter (INSANITY II), he will also become another hapless victim drawn into the Friendly world. Like I've said the game will explore the concept of silicon/latex masking and also intelligent vivisects who are able to go out into the world incognito. So in a way it'll still play with you, who's a friend and who's an enemy? And are you really Nathan Langdon? Yikes I think I'm giving away too much here. Sane man being tested by the insane? You bet! the game's not called 'THE INSANITY' for nothing, lol, and believe me, stale or not the story for the 3rd game is already much formed and will definitely keep you guessing right until the end.
About the other stuff-
Sadly it seems that these kind of niche games don't really fit the 5-minutes-at-lunchbreak medium which is Flash, and financially it's actually more rewarding just to whack out something quick and satisfying. So unless something magical happens like winning the lottery or somebody asking me to write an 'INSANITY' movie script I'm probably going to have to spend a year or so just throwing the bones sponsors want for quick'n'dirty $$$. Gotta pay the rent.

Thursday, September 16, 2010

Tuesday, September 07, 2010

PRELOADING MADE EASY IN CS5?

New pc yeehaw!.

PRELOADERS
---------------

It's pretty much known around the Flash stratosphere that preloaders are -always- a pain in the ass to get working. The first INSANITY game was a complete nightmare to set up, I had to painstakingly go through every movie clip, untick the Export in first frame box and drag each one into an asset holding movieclip on the 2nd frame of the main timeline. THEN for each and every sound I had to build a layer and drag the sfx onto their own individual layer. And even so everything was set up properly I still had some weird issues like sounds playing randomly on the title screen and such. To this day I still wake up Ripley style after a disturbing dream related to preloader setting up.
So there I was coding the 2nd INSANITY game thinking - "Oh man sooner or later I'm going to have to go through all that bs again" when I thought of something that might work.
I set up my timeline for the preloader as usual:
  • 1st FRAME - Preloader code&graphics
  • 2nd FRAME - Empty skippable Frame *used for the assets*
  • 3rd FRAME - Title screen
  • 4th FRAME - The entire game
I started dragging things into the second frame for a bit then I thought I'd try something. I went into Publish Settings/AS3/ and in the Export To Frame box I changed the 1 to 2. So Assets are all loaded on the second frame. Then I just compiled the game as normal and to my surprise and delight the preloader worked perfectly! Without the hassle of dragging all that crap into an asset holder.

Well slap my ass and call me Sally but I had no idea you could do this that easily. Do take note.

OTHER NEWS
---------------

Hmmm, well as far as I know 'INSANITY II' is pretty much sold. I'm onto my new *unnamed* project, a Golden Axe clone. Currently struggling with pixel art and such, though I believe I'm onto a good technique. Actual fighting engine code is coming out smoothly as essentially all I'm doing is exporting my AS2 Streets of Rage demo engine to AS3. This time I'm all about keeping the game simple, done&dusted in under 3 months. No complicated ideas that will lump on production time. A few bits here and there to up the replay value by including many random factors.
Example- any 'stage' can contain a number of random enemies but their properties will be controlled by the difficulty level of that stage. Also there will be a chance some randomly selected enemies will be 'LORDS' ie a little bit higher than their actual level, like the Black Phantom characters in the PS3 game Demons Soul. You can win the game as quickly as in 5 lucky hint-giving stages, or just go through the game stage by stage and try to complete all 99 (for a special medal of course).
Damn coding a fighting game is fun. And it's playable almost as soon as you get your main sprite launching combos with a keypress. Why didn't I do this earlier?

INSANITY II ETA

Deals have been done- Looks like 'THE INSANITY II' is about to go public veeery soon, watch this space for an announcement.

Saturday, August 14, 2010

How to code a Beat em up

Some of you may remember a long time ago I did write a tutorial on beat em up's, but it was in AS2, and had a few major flaws I picked up on, therefore it was removed.
I figure now is the time to update those tutorials in AS3. This isn't going to be a straightforward making-from-scratch tutorial, rather a guide to the techniques involved. You'll have to do the grunt work yourself- no easy download FLA's for the lazybones here!
-------------------------------------------------
ADVANCED KEY-CAPTURE
-------------------------------------------------

Second only to a real fighting game such as Street Fighter 2, I can't imagine which type of game requires more pinpoint, tight arcade controls than a beat em up. Besides knowing exactly when a key is pressed, after we know what key has been pressed, we will also want to know when it was last pressed (in milliseconds), if it is being held down, and if so for how long.

//////////KEYS
var KEY_UP = Keyboard.UP;

var KEY_DOWN =Keyboard.DOWN;
var KEY_LEFT = Keyboard.LEFT;
var KEY_RIGHT = Keyboard.RIGHT;
var KEY_ATTACK = 87;
var KEY_JUMP = 81;
/////////////////////////////////////////////////////////////////////


First we need to set up some constant variables for the key-codes. As you can see, with the directional controls I'm just using the arrow keys therefore I can use the globals Keyboard.UP etc. KeyCode 87 = "W", KeyCode 81 = "Q".

var keys = new Object();
keys[KEY_UP]={down:false,count:0,held_down:false,timerA:200,timerB:0,timeElapsed:0};
keys[KEY_DOWN]={down:false,count:0,held_down:false, timerA:200,timerB:0,timeElapsed:0};

keys[KEY_LEFT] = {down:false, count:0, held_down:false, timerA:200,timerB:0,timeElapsed:0};

keys[KEY_RIGHT] = {down:false, count:0, held_down:false, timerA:200,timerB:0,timeElapsed:0};

keys[KEY_ATTACK] = {down:false, count:0, held_down:false, timerA:200,timerB:0,timeElapsed:0};

keys[KEY_JUMP] = {down:false, count:0, held_down:false, timerA:200,timerB:0,timeElapsed:0};

Next I've made an Object that contains information on all keys used.
down = Is the key being pressed?
count= How many times has the key listener detected this key being held down?
held_down= er..is actually being held down?
timerA and timer B are used for checking the length of time it's being held down.
timeElapsed= might or might now be useful till later.


stage.addEventListener (KeyboardEvent.KEY_DOWN, downKeys);
stage.addEventListener (KeyboardEvent.KEY_UP, upKeys);

Our keyListeners. What is a listener? Think of it as a function that never stops working until you tell it to. In other words, remove it.




function downKeys (ev:KeyboardEvent)
{
if (keys[ev.keyCode] != undefined)
{
   keys[ev.keyCode].down = true;
   keys[ev.keyCode].count++;
   keys[ev.keyCode].timerA = getTimer() - keys[ev.keyCode].timerB;
   keys[ev.keyCode].timerB = getTimer();
}
};

function upKeys (ev:KeyboardEvent)
{
if (keys[ev.keyCode] != undefined)
{
   keys[ev.keyCode].down = false;
   keys[ev.keyCode].count=0;
   keys[ev.keyCode].held_down=false;
}
};

////////////////////////////////////////////////////////////////



downKeys listens for pressed keys, and upKeys listens for unpressed keys.
Okay so every listener triggers an event. Don't worry too much about what that means, anyway the ev:KeyboardEvent part means 'ev' equals the key that has been picked up by the listener. We can use it as a reference into our handy keys object.

if (keys[ev.keyCode] != undefined)

Only proceed if a key has been picked up by the listener.

keys[ev.keyCode].down = true;

This key has been pressed, so set down to true.

keys[ev.keyCode].count++;

Increment variable count- telling us how many times the listener has picked up this key being held. *NOTE* This doesn't work quite as simply as you might think, the AS3 Key Listener is a funny beast- to be explained later.
keys[ev.keyCode].timerA = getTimer() - keys[ev.keyCode].timerB;

getTimer() returns the number of seconds since the movie has been playing. TimerA is the now time. The old time - the timer value it gives us right now. Think about it, you'll get it!

keys[ev.keyCode].timerB = getTimer();
Set timerB, the then time.


So, now I can detect whether a key is being pressed with a line like:

if (keys[KEY_JUMP].down)
{
trace("JUMP has been pressed");
}

This replaces the old AS2 isKeyDown nicely. In fact, it's better isn't it? Not only can we check if the key is down, but we can also get more information about that key.

p.s.Don't forget your libraries at the top.:

import flash.events.KeyboardEvent;

import flash.events.Event;