The Grind

There’s been a grab bag of progress since the last update.

1. Character AI / Behavior

Perhaps the most substantial accomplishment has been what I can only hope is the final slaying of multiple bugs in character AI and behavior — getting characters to move around the ship on their own, handle transitions between areas elegantly, and react to obstacles (including the player).  I definitely anticipated that this feature would cause me some trouble, but I have to say that this has been extraordinarily tedious to implement.  It has become something I dread working on by this point and definitely sucks on my energy to work on the project.

And I’m sure there are still several bugs that will only show themselves after play-testing.  Hooray!

One feature that I lump into “character AI” is something I haven’t shown yet: the ability to have characters follow you around, caterpillar-style!  This will be used at a couple points in the game when the plot demands it.

As with last time, click on the image to see a GIF of this!

Getting the follower to work correctly was quite tricky.  The normal pathfinding for characters moving on their own was too clunky and not responsive enough to follow the player around closely.   So, I had to write a simpler sort of AI that beelines towards the point the player was in about 30 frames ago.  However, this can be exploited by the player as well to get the follower stuck on obstacles, in which case the follower will walk in place for eternity.

Each approach had its faults, so I created a hybrid of these two behaviors.  The follower now uses the simpler behavior until it finds itself stuck on an obstacle, at which point it shifts to the more complicated path-finding behavior in order to get around the obstacle.  As soon as it reaches the player, it then shifts back to the simpler behavior.  You can see this in action in the GIF when I get the follower stuck on a wall-corner, and she moves around it after about a half-second pause.

At some point I think I’d like to make a huge post about all of the small idiosyncrasies, bugs, hangups and annoyances of character behavior.  It would be cathartic.

2. 100% More Kitty!

I don’t think I’ve mentioned this on my blog yet.  There is in fact another possessable character, up until now never spoken of!  Who could it be!?

Click to see a catwalk GIF!

Yes, you get to possess a cat.  It may not be the most useful for getting other characters to open up about their dark and troubled histories, given that it can only say “meow” or “hiss”.  But, it makes up for that by being the most agile and lithe of your potential hosts.  Observe:

Click for GIF!

The cat has the ability to jump, a feat that no human in the game seems capable of (or at least interested in).  And combined with its small size, this allows the cat to go through crawl spaces and open up new areas that you couldn’t access with your human hosts.

3. The Introduction

One of the final things standing in my way for a complete demo is a proper introduction that pushes the game off.  This was something I could have pushed back; I could have released a demo without it.  However, I’ve heard that feedback is a bit of a finite resource, and I’d really like my first ‘wave’ of feedback to include the introduction to the game.

In the previous “Why Am I Dead”, you are simply thrown into the game.  Instructions are given as black text on the ground, and you are given a short conversation that explains the premise of the game.  This time around, the introduction will still be short and sweet, but much more involved.  This is partially because of a difference in premise — the last time around, you start hovering over your fresh corpse.  Combined with the title, it really spoke for itself.  In this game, things aren’t quite as simple, and it really warrants the extra effort to explain things.

A little peek at the introduction outlining the protagonist’s end.

This meant creating original art for the introduction and scripting things to get the timing just right.  It’s been pretty easy to implement, but surprisingly time-consuming.

I know I’ve taken way longer to get to a closed demo than I had predicted, but I really am getting close now.  I promise!  For real this time!

Really Piling it on Here

Hello from Xi’an, China!  Things have been a bit hectic; I’m just getting over jet-lag now, and I start teaching English classes tomorrow.

Lots of new stuff to adjust to.  New country, new apartment, new school, new students (lots of them).  It might be a while before I get comfortable with all of it!  So, what better a time than now to make clear my goal to submit Why Am I Dead At Sea to IGF 2014?

The deadline is October 19, which gives me about a month and a half to get my current build to competition-readiness.  That really isn’t much time at all!  But more importantly, this gives me a solid deadline and a great reason to get back into full-time development.  To be honest, even though I completely failed to reach my goal of submitting to Indiecade, that was by far the most productive time for me.  I never really was able to match that pace afterwards.  And now that I’m in China and teaching English and all that crazy and awesome stuff, it’s more important than ever that I have a clear goal that I’m working towards.  It would be very easy to lose sight of development in the midst of everything else, and I am determined not to let that happen!

Most of the work left is writing and polishing.  Prioritization is going to be key here — there are lots of side-features that I’d like to implement but which are by all means optional.  If I want to even have a chance at submitting my game I’ll have to be much better at leaving that stuff to finish later.

So….here goes!