Click to view larger image.

Doodle Drifter

Genre: Platforming Adventure
Platform & Control: Android, Touch
Engine & Tools: Unity 2018, Visual Studio
Development Time: 4 weeks (Q3 2018)
Team Size: 6 Designers, 4 2D Artist
Roles: Level Designer, Scripter
Contribution: Level Design, Game Design, UI Scripting, Sound Scripting
Released on Google Play store!

This project was part of a 5 weeks course where design and 2D students teamed up to create a game which could fulfill the projects objective criteria of innovative 2D art and mechanical storytelling. This game is about a little doodle, traversing various paintings by drawing its own path forward. Once a line has been drawn Doodles will slide along the line and by using physics can gain a high momentum if traveling downwards with a little ramp at the end of the line which launches Doodles in the air. Once airborne Doodles will slowing being to fall towards the ground.
The story of the game is for doodle’s to be the players imagination, just like how you would imagine yourself running alongside of a moving vehicle when looking out.

During this project I primarily focused on level design which I collaborated on with another team member. I also contributed with setting up the main and credits menu with applying scripts and implementing art also implementing a sound manager which were to hold all sound effects and music for the game. We who worked on level design had a close cooperation with how we approached our workflow. Since the game has three long levels each with there own aesthetic feeling we still wanted to have a coherent gameplay flow throughout each levels.

Apart from these contributions I was also involved in all design decisions regarding gameplay, features and how we could achieve our objectives. Through communication with the team helped tweaking part of the levels and movement from valuable playtesting feedback. As well created the opening animation in the main menu and credits scene.

Level design

How did we plan the levels?

We decided our levels were supposed to do three things enhance the player’s movement ability, have open areas to freely draw in and foreshadow in order to have time to both react and plan for when hindrance appear. Along with the other designers and artists we continued discussing pacing, where and how we could challenge the player by implementing this in the shape of the level layout. A layout where the shapes gently guide the player on how they could draw their lines for a fluid movement. Some objects we had to keep in mind for each level was to implement paint pickups since paint used to draw with is and expendable currency and checkpoints.

The game’s artstyle was set early in the project and concept art was created at an early stage before much of the level design had began and final player movement had been finally decided. Another aspect we level designers agreed on with the artists was that once we were done with the level design they would go in and paint over the collision boxes. So we were given full freedom with how we placed collision boxes and the artist were given creative freedom in what objects could be in the way of the player. This would let all of us become more focused on our separate task. I create the third and final level in the game and I wanted it to be a mixture of all the elements the player had previously experienced with en openly ending area the player can play around in before choosing to finish the level and so completing the game.

The idea for the game is to transition between different aesthetic areas, starting on a warm colored and gently shaped open field and to end in a cold, harsh mountain area. I received this concept art and used it as a foundation to place the frist draft of blocking platforms.

Concept art for Level 3.

Initial level design draft based on Concept Art. Red shapes are blocking platforms. The white box represent the camera’s frustum and the black figure is the representation of the player. Blue dots represent pick-ups and green dot, to the furthest right, represents the goal of the game.


Once the player had been implemented in the level I noticed the character was to big for the level so it would need to be enlarged. But through playtesting I noticed that these curved shapes worked as players followed them. As well the open mid area where players launched themselves into the air and had some airtime before falling forward and downwards into a second open area with a wide tunnel leading them into the goal.


Frist iteration with added length and size, divided into three acts with open space between each act. As well implementation of checkpoints, see the three colored dots in Act 1 and 2.

Since the layout and it’s shape worked I decided to keep the rough idea of it. Me and my team member discussed how the layout of the level could work for our levels, I suggested making them three parted and have each part work as their own act’s with one main focus. I created the first two acts to represent our first two levels and be a variation of the hardest challenge in each.

A new feature for this stage was the implementation of checkpoints in the level. After implementing the player into the first iteration and conducting playtesting to determine the spacing between platforms and their locations would worked to fulfill our level design goals.

After playtest with the group I learned that the spacing between platforms was large enough for the player to pass and the distance of the platforms within each act gave the player both a foreshadowing and enough open space for doodling. But, the starting area for the player in Act 1 was confusing and often caused frustration with players that they needed to go down, to the left and then down again before in such a large area before they could proceed forward. As well as the distance between each act was to large. Players got lost between them and often ran out of paint before they could reach the next pickup. Players also often missed the checkpoints due to their open location which forced them to repeat the level from start which quickly became frustrating. And not having a checkpoint in Act 3 became to punishing since players would have to keep traversing half of the level each time to reach the goal. This made them to vary of losing paint to use the end area of Act 3 to simply play around in before clearing the level, which was the intended reward with this area.


Player implemented into the first iteration to check the scale and playtest.


Second iteration with limited space and hazards (dark red shapes).

Since the playtest had given no negative feedback on the length of the level it was kept and the three acts now became more connected, but they still kept their own intended experience. I added more platforms in the open space to guide players forward and added pickups to each of them to encourage exploration. I wanted to give players more freedom in the ways they choose to traverse since the amount of open area had to be restricted. So, I added an alternative route in Act 2 and closed of dead ends in Act 1 and 3 since they had a negative effect on the flow.

Moved the checkpoint from Act 1 to Act 3 and placed them in a narrow exit. Both so players could not miss them and so they would more feel like they had gone in, passed through a challenge and emerged on the other side where open freedom would await them before the next challenging area.

The new feature for this stage was hazards which had up to this point only been placed on the floor of the level was now added to various platforms throughout each act. My idea with their placement was to exist more closely in the areas where players was supposed to be challenged and not in the open areas where they were given the option to doodle around. I wanted to keep these reward areas clean to more clearly distinct the two.

After playtesting this layout and doing minor tweaking in the spacing of platforms in Act 2 this level was approved by the team and sent to the artists for a first paint-over pass.


First pass of arted version with hazards.

After the first paint-over pass I implemented the art, played through the level, checking and alter collision and hazards boxes to make sure it all fitted with the artwork before letting the group playtest it. After receiving feedback from the playtest and through discussion with the other level designer I made minor tweaks in Act 1 and 2 as well as the implementation of two new platforms in Act 3 before sending it back to the artist whom began the final paint-over.


Comparison between first draft based on concept art and the final released version.

This is now the comparison between the initial draft to the final released version of the third level. The time estimate between these two images is roughly 3 weeks, although not 3 weeks of constant work due to other prioritized tasks which I worked on in the meantime.


Something I learned after release is that I now would go back and make the spaces in the middle of Act 2 even larger. After having more playtest with people from outside of the school is that those turns are to narrow and I would remove the upper of the platforms in the end of Act 3, most players kept falling down on it and stop drawing. I would make that area even more safer from hazards and add pickups to make it more inviting for players to simple doodle around without fear or hindrance. One thing that would be worth trying was to simple expand the entire area on the Y-axis by a fifth of the current frame, not scale everything up but drag the entire top frame up and so expanding the middle and bottom areas, making them more open.

Another thing I would like to further iterate on is making it more inviting to take alternative routes and exploring which if the size of the level would be increased could offer more replayability to the level and could invite for a higher flow in the gameplay.

Sound manager

The SoundManager is built to be a constant singleton. I built this manager previously for the game project Trial: The Night Parade and is built to keep an sound library by using the Sound script. The user can set the size they need and then by calling the singleton instance of the SoundManager from any other script when they need to play and/or stop a sound. They can choose from various options within the SoundManager to play, fade in/out, stop sound clips as needed.

The SoundManager script attached to a object.