Heads up!

I’ve got the beginnings of a mini HUD that I’ll use to track which weapon the player is carrying, health, number of health-drinks carried, and any other inventory items (keys, for example).
I also got the mind blast and whip weapons working. In the end, the whip will stun its enemies to make up for the fact that it’s such a slow weapon, but since the japanese level enemies have no need for stun behaviors (since the whip won’t be on that level) i’m leaving it as just a generic ranged weapon for now. I’ll start working on another ranged weapon, probably the molotov, and make sure that works, and then finish getting some of the more unique enemy behaviors down.
I ended up going back to the enemies with scrolling text like I had on deployment, as far as animations go. The poser thing was a neat idea, but just not a time-efficient way of doing things.
So, next up is to work on player health, which currently gos down every time he’s hit by the enemy, but isn’t really tracked anywhere, and doesn’t let him die at all. I need to make an appropriate-looking health bar for the HUD, program in the behavior for the pitchfork, make some health-potion-y things, and then I can start working on the first level in earnest. I’m pretty pleased by the way it’s coming together.

Whip it.

Whip it good.
Tired. Spent the past several days working on weapons. Whip ended up kicking my ass. Finally got it satisfactory. Go ahead and try. It doesn’t do any damage, but you should be able to click and make it happen. Only works if you’re facing in the same direction as the mouse cursor, because walking and looking backwards looks awkward.
So yeah. Whip. Tired. Good for now. Do more later.

Choosy moms choose .gif

Haven’t made much progress on the game these past few days- codewise, that is. I changed the post-damage routine so that the guy blinks a couple times instead of turning translucent. I was thinking about it, and I think I like the idea of making his transparency gradually increase as his health decreases, to fit in with the dream theme.

The majority of my time has been spent trying to engineer some animations for enemies. I finally decided on using one of the generic mannequin frameworks in Poser, applying some animations, and then rendering it at a tiny resolution and using those. I’ll just color each one differently to represent different enemies. The biggest issue has been trying to find animations. I’d’ve thought that sword animations would be all over the internet, but there are surprisingly few. I finally found a page where Carnegie Mellon has uploaded a huge repository of motion capture information, and I sifted through those and some Civilization 2 animations to find what I needed. I’m not sure what I’ll do for the bosses; I might have to just work at getting better at animating in poser, but then I don’t want to waste too much time on that, since these animations are really going to be nothing more than placeholders anyways.
I’m wondering if I had the Kinect for Xbox if I could save mo-cap information and apply it. It looks like that’s what some of the other people are doing. Don’t think it’s worth going out and getting one, though. I’ll just play around in Poser for a while longer, and put off working on the Player weapons.

Where’s Buckaroo Bonzai when you need him?

I swapped out the caveman sprite with a cheesy ninja sprite I found online, just as a placeholder. I completely modular-ized the enemy attack system, so all I have to do when I add a new enemy to the screen is give it a name. Based off of the name (Thug, Knifethug, Deckhand, etc) it changes all the applicable variables (range, damage, speed, fernkampf, etc). It took me a while to get the damage-dealing system down, and I’m still not 100% sure I like how the character turns translucent for the few seconds after each hit. It’s supposed to signify that he’s invulnerable to another hit, but most games make the character flash or something. I’m having a hard time coming up with a blinking routine, and I figured that the translucent thing would be more appropriate to a dream theme anyways. I dunno, maybe it’ll grow on me.

I spent the past 11 hours straight working on coding, and the progress I made today was incredible. Next I need to work on weapons for the player, and after that I suppose I’ll start programming in all the behaviors for the rest of the enemies. Thanks to the modules I created, it’ll be pretty easy. The only stuff that’ll require anything special will be minibosses and bosses. Though really, I’m looking forward to that quite a bit- those should be a lot of fun. I just need some sprites for them!

notes on final boss: Beast From The Other Dimension

Stage 1: Enemy flies, bobbing in place for 2 seconds (use a sine wave for natural movement). After 2 seconds, swoops to player’s position for attack. 1 out of x chance to start a ceiling crawl, where x starts at 4 and decreases by 1 for each swoop. During a ceiling crawl, Beast unfolds wings and dislodges chunks of ceiling to throw at player. Player must shoot at wings.
Stage 2: With wings destroyed, Beast gallops across floor at player. Player must use Mind shield at the appropriate time or get thrown back against wall by Beast. After each gallop, 1 out of x chance for another gallop instead of a leap (where x starts at 4 and decreases by 1 for each leap). Beast leaps to player’s position and commences a flurry of scything attacks with arms. Beast is completely invulnerable except for the couple seconds after being blocked by Mind shield.
Stage 3: Abdomen sprouts tentacles and claws. Large tentacle fires energy beam at ceiling to knock down rubble on to player. After 3-6 shots, tentacle curls into an ‘S’ shape for 2 seconds and shoots at player. Beast is completely invulnerable to attack.
After 2 shots at player, Ending sequence begins with guards and Emily.

Fernkampf

It had nothing to do with slopes after all. It turns out I had the “receive physics” box checked, and every time the bad guys ran into a wall, they would turn around and bounce off in slow motion, which looked a lot like flying.

I ended up completely redoing the enemy’s collision detection, using Pickline to check the entire bottom edge (with a 3 pixel buffer) to see if he was intersecting anything solid.
Also, because of all this, I ended up discovering that the entire time, I’d been using the width and height of the image instead of the collision polygon, which doesn’t matter so much for Tim, but matters a whole bunch for the caveman, who has a bunch of transparent space around him. I ended up discovering how to translate coordinates from object space to world space, and now all my calculations are a lot more accurate.
I also ended up playing around with collision layers, so now the caveman doesn’t end up standing on top of Tim’s head, and if there are multiple cavemen on the screen, they don’t push each other around trying to get to Tim.
I’ve started adding the code necessary to make the enemies modular; ideally, all I do is add a field to each enemy sprite that holds the name (Thug, KnifeThug, Samurai, etc.) and the enemyclass initialization does the rest, changing all the applicable variables as necessary (health, damage, range, etc. Fun Fact: I’ve added a variable called fernkampf as a mini-homage to Albion, which was originally coded in german. Fernkampf means long-range-combat and that was the variable name that held the amount of damage different characters did).
I’m going to start needing some enemy animations here soon; just a way to differentiate between different types. What I used on deployment was just a single image that scrolled an animated marquee across the top: “attacking,” “walking,” or “idle.” I would change the color of shirt and pants to make the enemies look different. That’s pretty cheesy, but it worked for the time. Now that I’m using better quality graphics, though, I’d kind of like everything to be a little better looking. There has to be an application out there somewhere for animating simple characters.

Slopes: My Nemeses

Can you have more than one nemesis? Would nemeses be the plural if you can?

I’ve been tweaking the enemy-caveman’s movement for hours now, and he looks smoother than ever- including his flight. I just can’t get him to stop launching himself into the air every once in a while, and I’m convinced it has something to do with the slope as he starts to walk down. I’m going to play around with it some more and see if that doesn’t help.
I was cleaning out the Mad Scientist Room in my apartment the other day, and I happened upon a treasure trove of concept materials, most notably the building layout for the laboratory, both the final level, and the flashback version. I thought that had been thrown away, and was quite bummed by the loss, because I spent a long time working on it.
I feel like I’ve finally gotten a little bit of time to myself, and it wasn’t until I found myself playing Starcraft for three or four straight hours that I realized I probably had enough time to pick my game back up.
Even though my online class started today, I’m announcing the end of my hiatus. I need to make time for this project; I refuse to let this be another one of my forgotten-about wastes of time.