Overview
Tilt Rocket is a side project I developed in Unity for Android. Initially conceived as a prototype to test the gyroscope functionality of mobile phones, it evolved into a fully-fledged hyper-casual mobile game featuring unlockable rockets, various challenges, and over 25 levels for players to conquer. Tilt Rocket was also published on the Google Play Store, making it accessible to a wider audience.
Customization and Challenges for Enhanced
Replayability
To enhance replayability and provide rewarding
experiences, I introduced customization and challenges
into Tilt Rocket. I aimed to create a sense of
achievement and motivation for players to continue
engaging with the game. To achieve this, I developed 8
different rocket variations, each unlockable through
different methods.
I implemented a system to track and log player
progress using CSV files, ensuring that players'
achievements and unlocked rockets were saved and
loaded seamlessly. When users opened the customization
tab, dynamic UI was generated based on their challenge
progress. This allowed players to scroll through all
available and locked rocket variations, giving them a
clear view of their progression and goals. Players
could then equip their favorite rockets, adding a
personalized touch to their gameplay experience.
Developing Accessible Control Schemes
Initially, I developed a control scheme that utilized
the phone's gyroscope. This method took the
gyroscope's changes, based on a normalized starting
position, and applied them to the rocket's rotation.
Essentially, this allowed users to control the rocket
by tilting their phone. While this control scheme
worked well in terms of responsiveness, it was not
easy to use and did not align with the casual nature
of the game.
To address these issues, I developed a second control
scheme that featured a dynamic joystick. When the user
touched the screen, a joystick would appear, allowing
them to control the rocket with a more conventional
input method. This approach was far more accessible
and easier for players to use, solidifying Tilt Rocket
as a hyper-casual game.
By offering multiple control schemes, I ensured that
players could choose the method that best suited their
preferences, enhancing the overall gaming experience
and accessibility.
Scene Management
For scene management, I implemented a robust system
that recorded level completion, level score and the
amount of stars collected while playing. This progress
was tracked and saved into a CSV file, enabling
efficient data loading and storage. This system
leveraged the level management package available on
the Unity Asset Store, ensuring a seamless
integration.
To optimize the loading process, I utilized
asynchronous loading techniques to load levels behind
a loading screen. Levels were additively loaded into
the main scene and subsequently unloaded when no
longer required. This approach minimized loading times
and preserved smooth gameplay transitions.
Additionally, I incorporated a mechanism to reset
levels without any loading if a player chose to replay
a level after failing, ensuring a quick and responsive
user experience.
Optimisation for Smooth Gameplay
To ensure Tilt Rocket provided a smooth and enjoyable
gaming experience, I focused on optimizing various
aspects of the game. One key optimization technique I
employed was the use of baked lighting with low
settings. By baking the lighting, I reduced the
computational load during gameplay, allowing the game
to run more efficiently on mobile devices. This
approach helped maintain a high frame rate and
responsive controls, essential for a hyper-casual
game.
Additionally, I compressed textures and reused assets
to keep the file sizes low enough to meet the Google
Play Store threshold. By optimizing asset usage and
minimizing the number of draw calls, I further
enhanced performance. These optimizations ensured that
Tilt Rocket delivered a seamless experience, even on
lower-end devices, without compromising the visual
quality or gameplay mechanics.