Pin Point
Pin Point
About the game
Pin point was a game I wanted to make for a while but could never figure out how to make fun.
I decided to make a small mobile game with a simple premise on my own. No bought assets, no premade code. Every piece of art and code was made by myself.
Pin point is a simple game, you spin the target to grow its shape, its size grows with how fast you spin it, additionally this also increases the score multiplier of the level.
The aim of the game is to complete the level in as few moves as possible while bouncing the gem shard against as many platforms as possible before it destroys itself, as that will increase your score as well.
There are a few different bounce platforms available and 6 different powerups that can be applied to the player to change how you play the game in one way or another.
Additionally, the later levels contain special bouncing platforms that change how the player interacts with the game, how the player approaches the level, and increases both the skill expression and the difficulty of the game.
Gameplay Loop
Grabbing the handle at the bottom of the screen will allow you to spin the target object. Once you let go of the handle or the timer expires, you will be given the chance to aim and fire gem shards at the target.
Every obstacle in the game does something different, and your goal is to beat the game in as few moves as possible. Which can be done.
Once you have earned enough currency by completing levels and collecting Sapphires through the levels. The player has the option to purchase powerups to use in the game.
Progression of the game.
End of month 1 working on Pin Point
End of month 4 working on Pin Point
Lessons learnt during the development process.
This project did not teach me much in the way of development lessons. It did however teach me about the pipeline of development and how much effort is needed for each part of the development process.
The most noteable thing I learnt was how to pivot. About a month in a beta of the game was available and I played it a lot. A major part that did not fit was how how spinner interacted with the world itself.
Another notable pivot was in the actual format of the game. I went from the game being in a landscape format to a portrait one, the reason for that was that a portrait mode lent itself to being able to open the game, play a quick level and close it again.
This project taught me how to effectively use all the tools I already knew. Specifically I became very familiar with the other parts of Unity's polishing process, how to navigate it and how to effectively use it.
I also learnt how to best optimize the game using the built in Unity profiler as well as creating custom builds that would display error messages with the specific script and line where the error took place.
This project proved as a test of my skills to create a game on my own and make it fun. There were many times where it felt overwhelming and difficult as every game does. Pushing through it and seeing the game finished and played was a massive relief.
Doing the art, sound effects, some special effects and all the programming was a massive undertaking. But it proved to be a major highlight in my game development career.
Notable Systems implemented.
The shop screen was made completely from the ground up, it was also made to be extremely modular and flexible, allowing me to add new powerups in the future and have them work with the existing framework.
The powerup screen was a very difficult part of the project. It rarely wanted to work as intended but in the end it worked flawlessly.
Each of the powerups loads a description of what it does but only if the player has 1 or more of that powerup saved to their profile that is stored within a JSON file. Another system that is vital to the functionality of the game.