Post feature Report RSS Bat Chat! Designing an Improved Player Companion

A detailed look at what makes Imber a special companion, and my thought process behind it.

Posted by on

Imber’s character progression is a very interesting one, and I want to tell her whole story right here.


Her Birth

Back in 2015 I was trying to figure out what exactly would be in the world of Skelattack. My ideas were not fully formed yet, and I was playing around with some code to introduce a flying enemy to buzz around the player and slowly drain their health and be a nuisance. This flying enemy was a bat.


Yep, Imber began her life as a lowly enemy who only wanted to kill Skully. This actually worked fine for a while; the bats would hover in place until the player got too close, then they’d follow you around and try to attack. The issue was that a bat living in the dungeon and attacking a fellow dungeon-dweller made no sense! Wouldn’t they be friends? A-ha, I’ve got it! This bat will now be the player’s companion. Was a companion needed in the game? Probably not. But I loved the design and always enjoyed dynamic duos in games (Link + Navi, Banjo + Kazooie, etc.).

How To Improve the Idea of a Companion (I think)

Obviously I took a lot of inspiration from Link’s fairy companion, Navi (Ocarina of Time). But through the years a common thread emerged: Navi could be really annoying at times. Personally, I enjoyed having Navi around but during repeat plays of the game (which were numerous), I wished she’d just let me go and do the stuff I already knew I needed to do.

I wanted to move away from those feelings with Imber’s design. I began designing her chat system with the thought that some players wouldn’t want to speak to her at all. I also wanted a large number of things that Imber could say if you speak to her at any random moment. Some of them are helpful bits of info, others are humorous or just observational. You never know what she’ll say next (thanks to a random number generator). I think this helps make Imber feel like an organic character, rather than a piece of code following you around and shouting commands to GO THERE and DO THAT.


I’ve recently written more dialogue for Imber when you talk to other NPCs. Sometimes she’ll interject with something witty to drive the conversation. Sometimes she’ll do the whole conversation herself while the player observes. And other times she doesn’t take part at all. Letting each character take turns letting their voice be heard is very important. Skully and Imber are two sides of the same coin and I’ve found them so much fun to write for.

Imber sometimes has something super important to tell you about a situation. This is when you’ll see a ( ! ) symbol appear above her head. This is still optional and will not stop the gameplay. If you already know what you’re doing, then I don’t want to stand in the way of that momentum. Although there are a few unavoidable teaching moments at the very beginning of the game where I need to make sure the player grasps key concepts, Imber tends to stay out of your way and it makes her so much more charming.

How Imber Still Takes Part in the Action if you Decide to Never Speak with Her

Above I mentioned Imber’s place in NPC dialogues, but there’s more! I had the idea to let Imber handle all of your magic spells, which has served me so well. Under the graphics it’s still the player pressing the button to do a spell. But the animation is where the magic is. Every time a spell is cast, Imber does a cool little flip in the air, and magic dust falls from her body. She’s so helpful! You gotta love her!


It also helps introduce another feature of the game in which you can’t own more than one spell at a time (because her little feet can’t carry a bunch of magic scrolls at once). It’s a funny design element that influenced how Skelattack is played. I hope players will try all the spells and find that special one that works for their skill level.


That’s all from me today. I had a lot of fun exploring ways to make Imber worthy of more screen time. In her journey from generic enemy to your best friend, she’s grown into one of the more memorable characters in Skelattack!

~David

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: