My first "solo" project, I did all the Design, Programming, and Art. "PIPO'S ON THE RUN" is about a cat running endlessly across rooftops. It started as a small exercise to learn C# and Unity but evolved into an international project.

: Endless-Runner, Plataforma;
Engine: Unity;
Team Size: 3;
Development Time: 4 months;
Platforms: PC (Windows), Web (HTML5), and Android;
Roles and Responsabilities:

Game Design:
      Invisible tutorial;
      Game Feel and Juiciness Design;
      Difficulty Progression;
      Endless-level design system; 
Programming:
      Implementation of an Online Leaderboard
      Animated UI;
      Character movement;
      Procedurally generated levels;
      Portuguese and English Localization;

Art:
      Background art;
      VFX animation;
      Character design and animation;
      Tile-sheet;
"PIPO DÁ A FUGA" was born out of my determination to learn C# and become more familiar with the Unity Engine. The objective of my third project was to create a simple game with a small scope that would be completed within one week. However, I failed the scope miserably. By the end of the first week, I had only completed the character movement. Each element of the game had to be learned from scratch: movement, audio, UI, and implementing art... Each new stage was a challenging learning journey, as I had little to no prior knowledge.

The game took on much larger proportions than I planned. What started as a small learning exercise became an international project: for sound design and music, I began working with two colleagues from the United States. Suddenly, I had to manage a project that no longer belonged solely to me. Requesting and overseeing the work of others became an enriching teamwork experience. Fortunately, everything went as expected, everyone remained determined throughout the project, and we were able to deliver a polished and high-quality product.
Tutorial
Despite having tutorial signs in the background of the game, players during playtesting didn't recognize that the windmill was a hostile obstacle. Therefore, the first two parts are always the same, presenting the main mechanics of the game and the situations that can kill you: the windmill is the first obstacle that the player must dodge, and then there's the chimney, which can be used as a platform to reach the item above it (which cannot be reached with a normal jump). This way, the player learns the core of the game: jumping over the windmills and using the chimneys as platforms, or jumping over them as well.​​​​​​​
I wanted a game that could offer a small challenge but still feel fair, so it would need to heavily favor the player. That's why I was extremely cautious with object collisions. Taking inspiration from the creator of Canabalt and their article about the game, I made modifications to enhance the user experience. For instance, the player's collision box represents only 40% of the sprite and is slightly offset to the left, allowing the player more time to jump between platforms and dodge obstacles. The hurtbox of objects is also significantly reduced, and the platforms have an extra forgiveness space to accommodate players who inadvertently jump a fraction of a second late. You can observe the changes and collision boxes in the image on the side. The white line represents the size of the image, and the green line represents the collision box.
Difficulty Progression
Due to the scope of the project, I had to rely on a simple procedural generation system. There are a total of 11 parts (or houses) divided into 3 difficulty levels. I wanted a smoother transition between levels, so some houses appear in all 3 difficulty levels, while others are only found in the more advanced ones. In the first level, 10 houses are generated from the pool of 5 available in the easy level. The objective is to familiarize the player and introduce simple mechanics that will be further explored throughout the run. In the medium level, 10 houses are chosen, alternating between the 7 available options. The remaining parts are all selected from the pool of 8 difficult houses. To add to the gradual difficulty transition, the player's speed also increases by a factor of 1.05 every ~300 meters. This creates a subtle speed transition effect. On the side, you can see the parts and their presence in the difficulty lists.
Playtest
The first round of playtesting was conducted with five friends sharing the game screen in a call. Several inputs were provided, but the most interesting one was the discovery of an unplanned "mechanic": jumping on the plant while it's in the air. Although it was discovered by chance, it proved to be an interesting and fun challenge for the players, who spent a significant amount of time attempting to perform it. Therefore, I incorporated the mechanic into the game and made some changes to encourage it: I positioned the plant house one unit higher than the others and slightly further away from the next house. This provides more space to push the plant pot and attempt to jump on it.
Furthermore, the playtesting revealed that the game was fun but became monotonous too quickly. To address this, I decided to introduce a mechanic that would add variety to the gameplay without requiring extensive level design changes, considering the time constraints we had. That's when I came up with the sock mechanic: every ~600 meters, a gust of wind would start, and socks would fly toward the player. This mechanic added spikes of difficulty to the run and broke the monotony of following the same course.

Toward the end of development, I conducted another playtest. This time, it was more open-ended and didn't involve direct observation of the players. There was a button in the game that led to a feedback form, where participants could answer general questions about the game's difficulty and report any bugs they encountered. However, out of the 30 people who downloaded this test version, only 6 responded to the form. In comparison, the first round of playtesting, where I personally observed the players, proved to be much more fruitful, despite being more demanding in terms of scheduling and organizing calls. Fortunately, the game had reached a more polished state by that point, with only a few bugs and minimal feedback needs, so the lack of input didn't significantly hinder our progress.

Veja a seguir

Back to Top