Thursday, September 17, 2009

Combatalicious!


Arrow keys for movement and crouching, spacebar to jump. Use arrow keys while swinging to increase his spin. Hold down spacebar to make the jump last longer. Hit spacebar again when holding on to a wall to wall jump. A is punch and D is kick. Press A while running against an enemy to throw him. Click on the game to start interacting with it.

To avoid the thugs, your best friend is the roll - jump while crouching, and you'll avoid those nasty punches and kicks



Yes! I think I've done it!

So I've just gone ahead and added the one major missing ingredient - blocking. Blocking for Dreg was pretty easy to program - so long as you're not moving, or attacking, and their attack isn't one of the slow powerful ones, and you're facing the right direction, you'll automatically block the attack.

As for the thugs (let's call them 'Arry and Manphred), well, here's where I was really clever. Like, seriously clever. So clever I simply don't know how I could possible do my cleverness justice. Anybody reading this will think it's simply empty showing off, but no, seriously, this isn't anything like show-offy enough, believe me.

Anyway, the thing is that now the Thugs learn as they suffer - each time they get hit, they'll develop a certain resistance to that type of attack. So if you think you can just go ahead and spam the same move over and over again, you've go another thing (think? my brother insists the expression should be "you've got another think coming" which kinda makes sense) coming.

I like the little animation Dreg does when a throw gets blocked.

I'm going to go into further geeky detail, so look away ye laymen

< geektion >

Whenever a character does a fight move, at the moment of impact a collision object (which I, entirely unprofressional, have called "DeathBall") is created. Obviously DeathBall contains size and position information, but it also has a "type" variable (which is modified and check using bitwise operators).

There are six types - air (jump attacks), high, low, strong (the slow, powerful attacks), weak (fast attacks) and throw.

Accordingly, the thug has and array of six numbers - each number represents the Thugs resistance to an attack type. If the number is 100, he will always block, and if it is 0, he will certainly get hit. If the thug is attacking when he gets hit, this resistance is reduced somewhat.

Some attacks can be of more than one type - so the double-dragon spin kick thing is both "strong" and "air", and the little kick you do while crouching is both "low" and "weak". In this case, the Thugs resistance is the average of the resistance numbers he has for each type.

At all times, the total of all the resistance numbers is equal. I refer to this as the "resistance pool". In the case of the demo above, the thugs has a resistance pool of 200, so 1/3 of the 600 points available (six attack types).

Following me so far?

So when the thug is hit, we get some redistribution of points. 40 points will be removed from those resistance types that are not involved in the attack, and they are distributed among the resistance types that are. It makes sense, trust me.

In any case, the idea is that the player has to vary his or her attacks, hopefully making the game more challenging and fun!

</ geektion >

So yeah, enjoy!

No comments:

Post a Comment