ducky road game screens

duckyRoad()

C# | Unity

The objective of this project was to propose and create a prototype for an indie game. The game could be created for Unity 2D or 3D but it needed to have strong gameplay mechanics. The mechanics needed to relate and make sense considering the narrative of the game. Group of 5

Research

We all started off finding a game that we liked that was made in Unity and brought that to our first team meeting where we would each share and discuss the mechanics of our selected games. From there we had somewhere to start from and looked to see what would be attainable within our skillset. The idea of a game about herding or flocking arose from that meeting which became the core behaviour in our indie game. All of us agreed that our final game should be polished, unique but simple and have one very strong game mechanic.

Process

We came up with roles for each of us which included 2 programmers, sound design, art/animation, level design and overall project manager. I was one of the programmers and helped with level design. We were all aware of each others work because we were combining what we had together at different stages during the development. We implemented a flocking algorithm for the ducklings so the ducklings would have a certain level of cohesion and randomness between them. If ducklings are near other each other they would tend to stick together but if they are separated from the group they would move randomly and wander off. The goal of the game is to keep all the ducklings together, pick up lost ducklings along the way, avoid enemies (cars & foxes) and return as many ducks back to their mother. The ducklings were initially kept together with the players mouse which basically pushed them in the direction you were moving the mouse. During our first playable prototype we had the teaching assistant, professor, and summer camp students to come test our game. We received valuable critiques from each of them. We ended up changing the mechanic of guiding the chicks all together to something that made more sense.

We had some playtesters try out our game during different stages during our development. This helped us refine our mechanics and receive critical feedback.

I programmed an object (corn) which serves as an attractor for the ducklings. The ducklings would all roam around this corn object and only one corn can be placed at one time. The player now has to keep the ducklings close together throughout the journey through the environment. The more ducklings you have in your group the harder it is to control. This allowed for some strategy in our game so the player has to think about if they want to split up their ducklings into multiple groups. We programmed the cars to generate randomly above and below the screen so it will be different each time you play. The foxes run towards the group if they are within a certain radius. They grab and bring one duckling back to eat and there is an animation of them eating the duckling. During the final few days we had another playtester try out our game where we refined our mechanics further in addition to the game level. We created a level with a starting area so players have some time to get used to the controls. From there, there are several paths players can go through each with their own rewards and consequences.

Challenges

There were lots of challenges throughout the programming side of this project. One big problem was when I combined my portion of the code with another group member who was also programming something. We had to make sure we were on the same page and import the correct classes and objects to the main file. Another team member was responsible for the flocking algorithm but when he needed help I tried to help wherever I could because the duckling movement was critical to the game. Looking back now and using the knowledge that I now know about Git, we would have created a Github repository that everyone could pull and push code to.

Outcome & Insights

We all were very satisfied with the final product of our game. During the final presentation and play test of our game we had a couple people from the game industry (EA & Archiact Interactive) who came around to play our game. They seemed to really enjoy it in addition to other students, teaching assistant and the professor. We received the highest mark in the class for our game and were very proud of that.