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.
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!?
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:
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.
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!