Thursday, October 22, 2009

Time to flex those platforming muscles


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.


This post is mostly focused on acrobatics. If you want to see what combat will be like in this game go to this post!

Look - a new place to run around in! Try to find the little podium - there's more than one way to get there (the more difficult the path, the faster it is).

But what's the point?

Well the thing is I've been thinking about how the game is going to be set up, and it dawned on me that I had a whoooole lot of level designing in front of me, so I wanted to work on my "level editor" to make it quicker and easier to use. I found lots of nice little tricks and techniques, as well as programming a lot of stuff that would automate the boring bits.

There are still a few issues - it's annoying that I have to have floors overshoot walls, instead of having nice, clean corners. This is a collision detection problem (as always), though I've already started working on a solution for that.

In any case, I thought I'd give you something to do as well as try out my new level building tools by making this little area (I say little, but it's the biggest I've made so far).

It was a useful experience because it showed up several bugs that I had to sort out (more collision detection fun!). The nice thing is that my collision detection engine is getting better and better, all without having too big of an effect on the frame rate (animation and big images are still the big processor hoggers). Increasingly I feel completely free in how I design my levels - just that corner thing that still needs to be sorted out...

In any case, please, feel free to try to break the game! Find walls that let you drift through, areas that are too difficult/easy/stupid. Any ideas you think could improve level design etc. As always, your feedback is really, really useful to me!

So what's next?

Well I want to start making the game elements that make up a real level - a sense of progress. This means NPCs, items, switches and all of that nonsense. This also means developing a talking mechanic to have Dreg interact with other characters. I imagine the next update will be just that...

Sunday, October 18, 2009

Now, now boys


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. Press refresh to have it all start again!


This is a bit of a silly update, but I find it incredibly fun, as no doubt you will too!

I'm working on techniques for saving my input, so as to be able to quickly and easily create cut-scenes within the game (or have NPCs perform actions for demonstration / race purposes). I need to make something that isn't too processor expensive, but reliably reproduces the actions I tell it to. I think I have it, though they may still be some bugs around.

To test it, I had lots of different versions of Dreg running around, falling into pits, getting squished etc. for a relatively long time to see if he'd end up where he was supposed to (in this case, the secret room - though one sort of falls off by being an idiot). The final result was so wonderful I had to share it with you all!

I admit this is a silly post, and there still isn't anything incredibly exciting for you to do, but I find the sight of all those little Dregs gleefully bouncing around to be hilarious. Don't you?

Thursday, October 15, 2009

Suited and Booted


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 and D to attack.

See below for a list of Dreg's fight moves.



Urgh, today was a lot of work...

I did to Dreg what I'd done to the thugs, and it was generally a rather horrible experience. As I mentioned in the previous post I had to do a few changes to the Thug MovieClip for the variety of clothing to work, and this had to be done for each bit of animation. I spent a good five hours today just converting graphic symbols into MovieClips. It was horrible.

But after I'd done all that, I was able to give Dreg a suit! I think he looks dapper, don't you? With his cheesy big collar and his cheesy white socks...

Also, after all the fine tuning I'd done with collision detection regarding moving objects, I'd screwed things up in other areas and had to fix them today. I also added a very simplistic preloader (I had to read my own tutorial to remember how!). It was all rather difficult work. So I decided to cheer myself up by doing this:


I think it's hilarious. I might use as a billboard within the game. Disarea is the name of the world, by the way.

Anyway, I feel that things are shaping up!

Once again, for newbies, here are the fighting moves:

punch him in the face lots:
A + A + A

kick'im:
D

upper-cut:
DOWN + A

get his ankles:
DOWN + D

dirty my trousers:
D while running

flying kick:
D while jumping

kick 'im onto 'is butt (more powerful kick with ever-so-slightly different animation):
A + A + D
OR
DOWN + A + D (this one is fun - you fling him into the air then kick him off into the distance)

Sort of roll over backwards then then kick him in a sensitive place, thereby flinging him away:
A OR D while moving into him

No, look over there!
move into him and press A while he's facing away from you

slingshot! (my favourite):
Run towards him and press A just as you get to him

Double dragon rip-off:
DOWN, release DOWN and press D while rising.

Wednesday, October 14, 2009

Variety is the spice of fight


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 and D to attack.

See below for a list of Dreg's fight moves.



Wahey!

Well, for those of you who come regularly, I'm afraid there's nothing new gameplay wise for you to enjoy. I've been working on an essentially aesthetic thing... the thugs are all different now!

I've taken advantage of the ability to play around with movie clips to give each thug his own look. It's all rather simple, really, but the problem was that I had set up the characters awkwardly, and I spent a lot of my time going through the thug movieclip and fixing it (namely, replacing graphic symbols with MovieClips). It was slow, dull and annoying. Now I have to do it with Dreg too, argh!

But at least what this means is that in the future I can make a character, then whenever an instance of that character is created he'll be a little different to the other instances, making the game feel that tiny bit more varied and organic.

I've also made them slightly different sizes, to add to the fun!

It also means that as the player buys new items for Dreg, they can alter his appearance, making everything very cool.

This is also an opportunity for you to immortalize yourself on the rankings page. For those of you who are new to this, these are the fighting moves:

punch him in the face lots:
A + A + A

kick'im:
D

upper-cut:
DOWN + A

get his ankles:
DOWN + D

dirty my trousers:
D while running

flying kick:
D while jumping

kick 'im onto 'is butt (more powerful kick with ever-so-slightly different animation):
A + A + D
OR
DOWN + A + D (this one is fun - you fling him into the air then kick him off into the distance)

Sort of roll over backwards then then kick him in a sensitive place, thereby flinging him away:
A OR D while moving into him

No, look over there!
move into him and press A while he's facing away from you

slingshot! (my favourite):
Run towards him and press A just as you get to him

Double dragon rip-off:
DOWN, release DOWN and press D while rising.

Wednesday, October 7, 2009

Tweakage galore!


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.

If you haven't already tried it and want to know what the combat is like, go to this post.



"Hey Awoogamuffin!" I hear you cry, "What's the big deal? You haven't changed anything! You're so boring and unsexy!"

Well, I won't lower myself to your frankly insulting level, but I'll happily dignify your uncalled-for comment with an explanation.

And anyway, I still haven't received any proof that any of you have found the secret room. There's nothing in the room. But it's secret. Go find it.

Though it may not seem that anything has changed, the collision detection has undergone a revamp. The version in the previous post was plagued with lots of bugs - Dreg often would get stuck to walls, and worst of all, in several places he could actually drift right through them!

Here are a couple of examples:


This one is relatively easy to replicate - if you jump as if you're going to grab the ledge of the bottom cube just as the top one is moving towards you, this happens. It's horrible.



This one is more difficult to replicate - you have to jump just as the block is coming down on you and it'll push you through the floor. The line underneath was to "catch" this happening, and though it works (more or less) it annoyed me that it was necessary


There were also plenty of plenty of places where Dreg would get "squished" for no apparent reason, other places where he would fall through the geometry and the whole thing was generally plagued with nonsense. But now it's all fixed! I'll go into a longer explanation later in the geek section...

I've also made a few visual changes - giving the platforms a foreground element so that Dreg can get hidden behind rails or walls that are facing away from the camera. It looks a lot better when Dreg gets squished now because he's half-obscured by the right-hand block.

I also made it so that it doesn't look stupid if you roll off an edge (down + jump to roll).

So now the geekiness!

< geekment >

So yeah, I realised what was happening with the first bug picture I showed was that when the collision detection saw that dreg was in position to grab the ledge, the game would simply teleport Dreg straight to the ledge. This would sometimes teleport him right through a wall!

Now even though I knew that to keep collision detection functional you should never directly modify the x and y values, I had been doing that regardless because I'm lazy and a little stupid. Anyway, I wrote a function that would perform a new collision detection test before placing Dreg on the ledge (I had to do clever things to avoid the wall underneath the ledge counting), and it worked!

This was when I thought I should comb through the whole game and make sure that the x and y values are only ever directly changed once all the collision detection has been completed, which meant performing additional checks whenever Dreg ran into a wall, landed on the floor or hit a ceiling. Now Dreg never gets teleported anywhere unless I want him to!

I also completely re-wrote the stuff that handled Dreg's interaction with moving floors and walls to avoid the stickiness I mentioned earlier.

In any case, the lesson learned is that with collision detection, you can't cut corners - every time you want to move a character, check whether there's nothing blocking him first. Tralaaaa!

</ geekment >

Monday, October 5, 2009

It's squishtastic!


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.


Yay! More stuff!

Well I've considerably worked on the whole moving platforms thing, the best bit being the implementation of squish mechanics (that's the technical term) so that Dreg can be crushed and squeezed to your delight. It also allows for some fun pseudo-puzzle acrobatics which test your block negotiation skills (also a technical term).

It's still a little buggy in places - sometimes Dreg grabs onto a ledge when he shouldn't, and there's the occasional odd sticking to walls. I've uploaded it anyway because I need more attention!

I'm certain there are plenty more bugs. That's where you, my play-testing monkeys, come in - I want to hear all of the weird bugs and quirks you find, and I'll do my best to fix them!

This has got me really excited about the possibilities for level design. This little demo is only scratching the surface - I can make the moving lines be at any angle, and travel along a path of my choosing (I've even half-coded something that would allow me to use the paths within Flash to create paths for my platforms).

The nice thing about this being a science-fiction world, and a 2D computer game, is that I can get away with crazy level design, involving huge moving parts and whatnot (I'm toying with the idea of a giant robot, trapped and spanning across various gravity zones and feeling generally unhappy with the world).

So can you navigate Dreg through the fun? There's also a little "secret" room (not much of a secret now that you know about it) of which I hope the game will have plenty!

Tell me what you think!