Why do it?

We had the idea that we wanted to build either an interactive story skill, or a tamagotchi style virtual pet. Unable to make our minds up - a thought occured... why not do both at once?
We knocked around a few ideas of what the focus of the skill could be... cats and dogs had been done... a city would be good, but maybe too complex for a first attempt... how about a magic potion said Phil? Oh, and the potion is sentient. Stuff like that comes out of Phil's head sometimes.

What does it do?

On a basic level, Magic Potion is a virtual pet. It craves heat and food, and without regular attention it can make a mess and get a bit naughty.

One of the challenges of voice-first is letting people know how to use the skill - you either keep it so simple it doesn't need explaining, or you find a way to guide users gently into the experience. We decided to go for the latter, and introduced a bunch of 'familiars' who would offer you useful - and not so useful - advice. Phil sketched out a few characters and came up with basic character traits. I got creative with the Alexa voice options - being audio only for most users we'd need to know who was talking to us, and we knew we wouldn't have a budget for voice actors. It was important to have variety in the experience; you can only listen to so much Alexa!

Potion mechanics: Heating the potion was a no brainer - and obviously we'd need to add stuff to the potion, so that is 'food'. Looking at the classic tamagotchi gameplay mechanic I knew we'd need a 'discipline' option... stirring: you stir the potion to make it behave better.

The magic ingredients you add to the potion are the key to he second gameplay element - the interactive story. Your familiars have to fetch the ingredients, and they will tell you the tale of their adventures in doing so. Normally this involve an antagonist - and more often than not, some consequences when you add the ingredient to the potion. From there the user has to make a decision how to deal with those consequences, and then sometimes the antagonist returns and you have to make more decisions about how to deal with them. Classic storytelling stuff.

The third gameplay strand came in relatively late: someone asked - "but why are you making this potion?"

Good question. To sell of course! But how would you go about selling magic potions in the 21st Century? Online, naturally - so we'll need an online portal: Spellbook. (See what we did there?)

Once we had that it lead naturally to requests - you need to make your potions for someone, so the requestors became part of the game - and another opportunity for entertainment. Once users get this into the game, it becomes like a proper potion selling business - so we restrict resources. You'll get your ingredients topped up regularly, but what do we do when we want something sooner? We pay for premium delivery!

Great, so In-Skill-Purchasing is now a thing in our skill - and along with that comes premium content. So now we're updating Magic Potion regularly - sometimes it'll be themed content (Halloween, Xmas) but sometimes just some silly jokes to share. Premium users will get special requests that lead into this additional content - but regular users can still make as many potions as they like, and occasionally new and/or silly stuff will happen to them as well :-)

How did it happen?

First we mapped out the gameplay via flow diagrams and then stuck religously to the agreed flow during the development process. Ok, that last bit is kind of a lie. But it did get us started.

I started with the basic gameplay mechanic - looking after your potion, adding ingredients etc. Phil came up with some crazy magical ingredients, some fun stories and some visuals for those on screen devices.

I slotted the stories into the game, and then added music and sound effects - most users will be experiencing the world via audio, so we needed to make sure the humour brought by the visuals was also present without them. Cue plops, thunderclaps, cackles and farts. We needed a catchy them tune, something simple to hum after playing.

Tech used: AWS, Lambda, node.js, dynamoDB, s3 storage, Alexa Presentation Language & In-Skill Purchasing via ASK CLI


Sound effects make the skill 'pop' (sometimes literally!) but we can only use 5 sounds in each response - this lead to some hard choices, and even trickier design decisions. As the game flow is so open, it was difficult to predict what combinations of story beats would be delivered, but we knew we could never break that 5 file limit!

Pitching the humour - we wanted to be clear this isn't a kids skill; there had to be stuff for the grown-ups to enjoy, but we couldn't make it too scary for kids to enjoy as well. For instance, is it too scary if a teacher turns his class into Zombies? After testing on some 5 year olds, it seems this is fine.

The character voices were also hard - for ages the snake was just too quiet, and the cat was talking too slowly.

Structuring the data so we can drop in new content regularly was also a key challenge. This has to feel natural to the user but give Phil enough flexibility to let his imagiation run wild.

Good stuff

I think it is fair to say we're pleased with how the skill looks. We wanted to position it somewhere between the Nintendo asthetic and classic UK kids TV favourite Trap Door. I think Phil has done some outstanding work here.

I'm pleased with the potion making process - using APL to make it look like the potion is being made up on screen.

Some of the sound effects are pretty pleasing as well. I spent hours debating the correct number of plops and fizzes each ingredient should make as it hits the brew.

The skill is scaleable - now we've got it up and running, we can come up with new premium content regularly and the more people use it, the more we'll add.

What's next?

We think the premium content gives this skill legs - we started off building a free skill, and I think it is enjoyable to play for a while; the additional content we'll add gives users a reason to come back.
We're going to expand on the characters we've introduced so far, finish off some of the stories we've hinted at - does the Witch from the store get her revenge? will the Devil Dog make a comeback? just who is Bad Bat? - and add new seasonal content: Xmas is coming, then we've got New Year, Halloween, Valentines Day, Easter... all are ripe for a magical makeover!

Let's make it better...

We plan to release in the US - we just need to make sure all the voices still work, and the jokes are not too brit-focused.

As well as the subscription, I think we could add some consumables to the gameplay, which could also be earned in game by the patient user. For instance tidying up teh potion room is such a chore... maybe we need a magical Roomba? You could buy such things with gold coins, earned in game or bought via ISP.

I'd like to make the potion more animated - the expressions are great (thanks Phil!) but if we could have the potion constantly moving, it could even be left on screen as a screensaver. Some of the newer APL options make this a possiblity I think.


Thanks for reading - hope you enjoy the skill!

Share this project: