Catbox Future Development

What next for Catbox? The prototype developed for this project features a virtual pet capable of engaging with its user, displaying distinct behaviours and a developing personality. It fits the brief developed at the start of the project, and hopefully works as an engaging piece of software in its own right. With the project concluded, I’m going to cover some possible future developments for Catbox.

To continue the academic development of the project and to better exceed the needs of the brief, the next step in the process would be user testing. A group of participants would be given the Catbox app and charged with ‘taking care’ of their own Catbox for a few days. At various points during this process data would be gathered through surveys and interviews, to get a qualitative picture of the developing relationship users have with their Catboxes. An additional layer to this could include quantitative assessment of user’s engagement levels, with emotional response data gathered through, for example, EEG.

The results of this user testing would be used to inform an iterative development cycle, in which Catbox is modified to better meet user’s needs, then tested further, and refined in a cyclical pattern to achieve the best possible user experience. This will improve the core Catbox experience; there are also additions to the game I would like to make based on findings from the various case studies. Continue reading Catbox Future Development

Catbox Interface Design

The user interface for Catbox needed to fulfil several of key requirements. Firstly, it needed to be unobtrusive, to avoid distracting from engagement with the actual virtual pet. Secondly, it needed to be embedded in the physical objects of the game world, so as to encourage interaction with the world rather than abstract it. Finally, it needed to be optimised for touchscreen control, making use of natural touchscreen behaviours to minimise the time a user spends thinking about the interface. Continue reading Catbox Interface Design

Catbox Behaviour Design

Designing for believability requires a virtual pet to react as much like a real animal as possible. For this reason, the pet’s behaviour needs to be predictable enough to not seem completely random, but unpredictable enough to be believable as an independent thinking agent. As a real life example, a cat will behave mostly predictably when it’s hungry – meowing, running to its food bowl, etc. – but it won’t meow at the exact same time or run the exact same route to the bowl. Catbox needed to emulate this kind of behaviour in order to suitably represent a real, thinking animal in the eye of the player.

Designing A.I. to react in a natural way is a challenge – A.I. programs tend to be good at being completely random or completely predictable, but less so at portraying a convincing level of unpredictability. For Catbox, I initially tried out a machine learning approach to developing natural behaviour. While initial results were promising, this approach ultimately turned out to be unsuitable for this project.

The solution settled on for Catbox employs series of personality ‘curves’ which track the pet’s internal state over time and adjust its behaviours according to both its inbuilt tendencies and input from the user. This allows Catbox’s behaviour to change over time, according to his immediate needs, his pre-set nature, and the types of interaction he’s had with his user. This article covers the details of developing this behavioural approach. Continue reading Catbox Behaviour Design

Catbox Animation Test

In order to load and test animations for Catbox, I’ve created a simple animation test program in Unity, which you can try here to get a feel of how Catbox’s animations look.

The animations for Catbox make use of the 12 principles of animation, originally devised by Disney animators Frank Thomas and Ollie Johnston, and outlined in detail in this DigitalTutors article.

In this article I’ll address each of the 12 principles with examples from the Catbox animation test, to demonstrate how I’ve applied animation principles to create appealing animations for Catbox. Continue reading Catbox Animation Test

Catbox Visual Development

In order to develop my Catbox design into a virtual pet, I needed to create a 3D animated model for deployment in Unity. The software used to develop 3D Catbox is used Autodesk Maya, an industry-standard 3D modelling, rigging and animation platform.

The 2D concept design served as reference for the 3D model.
The 2D concept design served as reference for the 3D model.

I used my 2D Catbox drawing as reference around which I constructed a 3D mesh. Technically, it was important to keep the polygon count low enough to run smoothly on mobile devices whilst still allowing enough geometry to deform smoothly when animating. As shown below, a majority of the polygons are in the cat’s tail, as this allows for smoother tail animation with ‘snake-like’ deformation.

Wireframe view of the front of the model.

Wireframe view of the side of the model, showing the increased detail in the tail.

The model is UV mapped onto a large texture that covers every part of the Catbox. An advantage of this method is that I’m then able to manipulate the texture in Unity, switching between texture maps to animate the facial expression of the cat. Continue reading Catbox Visual Development