Counting With Dinosaurs

July 2019

The Unit11 team initially designed and created this app before the company employed me. The team developed it using standard web technologies and Cordova to allow for cross-platform mobile development.

RobbResearch Ltd assigned me to recreate them using the Unity engine after NetEase's education subsidiary Youdao selected these apps for release in the Chinese app market.

I fundamentally rewrote the structure and code of these apps for the Unity version, leaving the artwork and audio mostly unchanged. As Apple hadn't released higher resolution devices at the original publication time, I did need to replace some low-resolution artwork. I designed the improved art to match the look of the original where possible.

Counting with Dinosaurs is an app developed for young children aged 3 to 5 who learn to recognise numbers and count up to 10. Two guides narrate the story set against a backdrop of child-friendly dinosaurs to help children count and learn.

A dinosaur egg represents each level. When a level is completed, the egg hatches and displays the dinosaur instead!

I implemented my Modular Framework for Unity which served as the structural base of the app. Each level in the game retrieves local JSON data and builds itself at runtime, which means that we could implement further development and manageable level changes in the future if desired.

The apps tasks the user with hatching all of the dinosaur eggs by completing counting challenges. A series of minigames set each level's structure, which rewards the user by hatching the dinosaur egg upon completion. The egg wobbles at the midway point to encourage the user to finish the level.

Level parameters are stored in JSON. This level structure meant that generic scenes could be populated with different graphics and mechanics and repeated throughout the game.

Each egg has an index which enables it to load the correct JSON data for the minigame levels. Generated levels depend on the loaded data, which contain variables for the numbers, sprites and background colours to be used. The JSON level structure meant that I could create a series of generic scenes with simple mechanics repeated throughout the game.

I also utilised my generic modular system for user accounts to store multiple accounts and individual progress on the same device.

The player is rewarded with a new dinosaur upon completing each level. This dinosaur is displayed on the level selection screen to show progress and encourage the player to complete further levels.

In addition to the minigame levels, there are bookend scenes which contain some encouraging dialogue and rewards for the player. These utilise the JSON data to load the audio files, sprites and colours for the scene.