Quack Tales

a collaborative puzzle platformer game

Project overview

  • Team size: 6

  • Game engine: Unity

  • Setting: Bachelor thesis project

  • Role: Art, animation, level design, etc.

This was my bachelor thesis project where the goal was to create a collaborative game. The game can be played by two to four players where you play as the ducklings Bengt, Benny, Bongo and Bosse trying to find their way back to their mother.

the ducklings

Goal of the game

The purpose of the bachelor's thesis was to create a game where players must cooperate to complete the game.

The goal of the game was to create an easily accessible game where as many as possible in the target group could easily participate and play together.

The game was aimed at individuals who are involved in various projects, whether they are colleagues or students. For example, the game could have been used as a team building activity for students, or at work to improve cooperation skills within a team.

Implementation

We implemented the game itself in Unity, a well-known game engine with a large help forum and many functions. For version control we used Git, this doesn't work very well with unity but we managed to avoid problems by dividing the work clearly and not working on the same thing, which leads us to our agile way of working. We worked according to a scrum model where at the beginning of the week we entered everything that needed to be done during the week in a trello where we then distributed who was to do what. Every friday we then had an evaluation meeting where we reviewed how everyone had gone.

Prototype to finished level

When developing the levels we started by making paper prototypes, this made it easy to get the ideas down on paper and we could bounce ideas around and try out different concepts. After that we built the levels in unity with only the basic elements to be able to test drive through the courses. Finally, we added the graphics with foreground, background and other environmental elements. I had part in all these steps, but the third step was entirely my responsibility.

Sprite shape

To make it possible to quickly build up and create entire levels, we used sprite shape. It is a tool that unity has, which means that you can simply make profiles of edges, then unity itself can assemble and manipulate these according to self-made shapes, as you can see in the pictures here. I made spriteshape profiles for, among other things, the ground, the rocks, the branch platforms and the grass in the foreground and background.

Graphics

Worth mentioning is that I did all the graphics myself. All background details were drawn separately in procreate and then imported into unity as prefabs you could just drag and drop into the scene. To add more immersion to the game, I animated a lot of them, which leads to...

Animations

I also did all the animations myself with skeletal animation in unity with the help of unity's own rigging and animation system. This means that you don't have to draw different images for each frame. The player has a total of 8 different animations, while the mother duck only has two.

State pattern

For the player itself, we chose to use the state pattern. This means that you have different behaviors for the ducks depending on which state it is in. This makes the code very modular and easy to exchange.

Did we reach the goal

So, did we rech our goal? The user testing we did indicates that the game met its intended objectives. Players found it easy to start playing and felt integrated into the problem-solving process. We also managed to create four complete levels which where tested and could be played through. So all in all we didn't create a completely finished, releaseable game, but we did manage to create a pretty solid prototype while having fun in the process.

Learnings

I learned a lot during this project, how to work together in a larger group, how to divide the work evenly so that people could work in parallell and how to plan out a larger project. I also learned a lot about the inner workings of creating a game, specifically cooperative games and how to make use of game design patterns when designing a game which I hadn't really done before.

I also learned a lot about animation, especially 2D skeletal animation. I found it very fun and enjoyable. Additionally, I learned a lot about how to put together nice environments and how to utilize tools such as spriteshape in order to simplify and streamline the process.

Most of all I had a great time and really enjoyed spending time to create a cute game, to the best of my abilites, with the time frame we had.