Rolling Trouble

Engine : Unity (Version 2021.1.10f1)

Role : Programmer/Team Leader

Group Size : 4

Summary of Rolling Trouble

Rolling Trouble is a mobile puzzle game with the aim being to guide the racoon, that's curled up into a ball, to their home, which is a bin, on the other side of the level by drawing ramps and paths across gaps and around obstacles. There is a limited amount of line that can be drawn by the user, so the paths and ramps have to be perfect.

Along with trying to get the racoon to their home, there are three stars on each level for the user to try and collect to add an extra level of difficulty. Trying to get these stars will require the user to guide the racoon around a more difficult path and would require more precise placements of the lines before landing in the bin.

Moving onto the later levels, a moving obstacle in the form of a ladybird is added into the level to add even more difficulty by making the user gauge when to release the racoon to try and avoid hitting the lady bird.

Purpose of the assignment

This assignment was part of our Games and Media Creation Processes module, and it had the purpose of getting us used to the professional work environment by learning the agile methodology and applying what we learnt in our groups to make a mobile game.

Contribution to the Project

For this project, I chose to be one of the two programmers, with the third member of our group taking up the role of the game designer while the final member of the group being assigned the role of the team leader. This, however, was not the case as when the project started the group member who was meant to be team leader did not fulfil their role and therefore, I also took up the role of team leader as well as a programmer. This meant that I was unable focus purely on the programming side of the project as I had to take care of other tasks that the team leader had to complete which are stated below.

Implemented Mechanics

Level Progression Saving

At the end of each level, once the racoon is in the bucket, the number of stars that the player collected along the path is gathered. If this is the first time completing the level, the number of stars that the player managed to gather during the recent attempt is saved. However, if it isn't their first time completing the level, the number of stars collected in the most recent attempt is compared to the current high score for that level. Depending on whether they have managed to earn more stars in the recent attempt, the stored high score for that level is either updated with the new value or remains untouched. The highest number of stars that the player has collected for that level is also displayed in the corner of the screen to let the player know their progress.

Line drawing

Drawing lines is achieved by having the players use their finger to draw the lines on the screen of their phone which the racoon will roll along to reach the goal. This can be done as one long continuous line, or it can be done using multiple smaller lines which allows the player to make ramps for the racoon to use to try and acquire the hard-to-reach stars.

There is a limit to how much the player can draw which makes the game a more of a challenge as a path has to be planned out and the lines need to be drawn carefully. The limit for how much the player can draw is based on the sum of all the lines that have been drawn and once that limit is reached, the user will not be able to draw any more lines.

Racoon entering goal

The game has to be able to detect when the racoon has entered the bucket as otherwise the game would be considered as broken and unplayable, therefore, to make sure that this does work, an invisible box that the racoon is able to pass through is located in the bucket so when the racoon overlaps the box, the game considers the level to be complete.

Picking up stars

Adding stars to the levels creates an extra layer of difficulty to the game as the players can easily guide the racoon into the goal, but if the player wants to try and collect all three stars, they will have to plan what path they should take and carefully draw the path that they have chosen as there is a limit to how many lines they can draw.

Collecting a star is accomplished by checking to see if the racoon asset has overlapped with the star asset, if so, that star is then deleted from the level to prevent the player accidently collecting the same star twice. After the star has been deleted, the number in the corner of the screen that shows how many the player has collected is updated.

Team Leader Tasks

As stated above, I had to take on the role of the team leader as well as working on the programming which meant I was assigned extra tasks to make sure the project was a success. One of those roles included setting up the Google Play Store group account and actually uploading the game to the store as this allowed the game that we developed to be made available to the public so we could receive feedback on how to improve the current state of the game.

One of the other tasks that I had to complete was setting up the Trello board which allowed the group to be more organised and to help understand what tasks were left that needed to be completed. Making the Trello board allowed for each member to understand what they had to achieve in the short term and allowed the group to keep track on the progression of the project.

Where to go from here

If the group were to continue developing this game even further, one of the first things to be added would be more levels which would have an increased difficulty by placing the stars in harder to reach areas, requiring more thought on how to obtain them. To help the future levels being considered more difficult, more items such as the lady bird, which makes an appearance in the later levels, could be added to keep to add variety.

Learning Points

Even though I have worked in groups before this assignment which functioned well, using the agile methodology, along with tools such as GitHub/GitLab and a Trello board, made the assignment easier to complete as each member knew which tasks were currently being done and what still needed to be done.

Also, taking up more of a team leader role helped me improve my communication with the other people in my group which meant there was a better understanding of what was left to be completed.