Typical game graphics - The background and the patches are static, whereas the animals are dynamically inserted and be selected by touch
As a nice piece of eye candy, there is an animation for the magical transformation of an animal. The 'magical cloud' is shown for about 1 s.
It doesn’t look like it, but the inspiration for this voice game were initially dice games like Yatzy. Such games have the beauty of creating a deep and engaging experience with quite simple game mechanics. After two iterations of attempting to adapt Yatzy to voice, I arrived at this Kids Skill that’s something of a mix between a toy and a game. It has very simple game mechanics, efficient interfaces for both screen and voice, and enjoyable game esthetics.
What it does
Story-wise, the user is the magician of the Magical Zoo, and has only limited magical powers: They can transform animals, but only into chicken, sheep and cows, and the result of the transformation is always random. As the magician pleases the visitors of the zoo, their magical power incrementally increases and they can transform into ever more exotic animals.
Mechanics-wise, the game has three slots that are like dice or wheels of a slot machine. The user has to complete auto-generated missions of collecting groups of animals, which they do by successively selecting slots whose values are replaced by the result of a stochastic event similar to dice throws. After about every third mission, a new animal is unlocked. The game mechanics seem to contain only elements of chance, but there is a small aspect of skill, in so far as similar animals have a significantly increased chance of being transformed into each other, so by making smart choices, the player can get the desired group faster.
How I built it
Tech-wise, I built the code on a MacBook Pro with the VisualStudio Code editor, using the Jovo framework v1 for node.JS. The Skill is hosted using AWS Lambda, with DynamoDB as a production database, S3 for hosting assets like images and audio files, a Google Spreadsheet that serves as a CMS, and CloudFront as a content delivery network to minimize loading times.
Esthetics-wise, the graphical artwork was partly bought from Iconfinder and partly commissioned, but all elements were created from the same amazing graphic designer (Sorosak Pinwiset), which gives the Skill its mature and harmomic look. Individual sound effects were bought from AudioJungle. Arrangement of all elements into the complete Skill was by me using Google Slides (for images) and GarageBand (for audio effects).
Challenges I ran into
A main challenge was finding a game concept that is simple enough to work with a voice interface, but complex enough to be interesting. My initial attempt to transfer Yatzy to voice didn’t turn out well because it had too many elements and rules to remember and was too heavy on numbers (imagine Alexa saying “You have two ones, two threes and one four, and miss one two and one five for a small straight”). I solved part of that challenge by reducing the numbers of dice, replacing dice faces with animals, and building the story of the Magical Zoo around it, but the challenge of giving the player goals and measuring their progress remained. I solved this by targeting the Skill to kids, and radically simplifying missions and the scoring system.
Another challenge was to bridge the gap between how much information there is to convey in each round, and keeping the texts short and conversational. One approach in solving this was to convey some of the information as sound effects instead of text. Another approach was to carefully omit information that is redundant or has lower contextual relevance - For example, if the player has one cow and two sheep, but the cow is already part of the current mission's solution, I don't ask "Do you want to transform a cow, a sheep or a sheep?", but "Do you want to transform a sheep?".
Accomplishments that I'm proud of
I’m most proud of the game esthetics: This is the first Skill for which I bought and commissioned artwork, and I am very happy about how well it turned out. I’m also quite proud of the actual voice interface, where I heavily condensed all of the game information and present it in a kid-friendly way. Speaking of interfaces, I am also proud of the graphical user interface, where I built a neat solution in APL for animating the magical transformation of an animal.
What I learned
Of course, I learned a lot about working with APL in this challenge, which has a high transfer for the next Skills I will produce. I also learned a lot about artwork in this project, like where to look, what to look for, and how to brief and work with visual designers.
What's next for Magical Zoo
I already have a concept for the next iteration in mind, called the Royal Zoo, which builds upon the concept of this game, but has far more animals, the option to select replacements for some animals in individual missions, and an own mini-game about obtaining new animals (like expeditions into the savannah).