CROCODILEBALLOON PROJECT Icon

CrocodileBalloon Project

Project CrocodileBalloon is an upcoming mobile game where you take on the role of a crocodile tied to a balloon, embarking on an exciting airborne adventure to devour a sheep! Equipped with a fan, you'll navigate through the sky, gracefully gliding past obstacles and feasting on floating meats, all in pursuit of the delectable sheep awaiting you at the end of each level! As you progress, gather as much meat as possible to unlock a variety of skins for your crocodile, balloon, fan, and other delightful cosmetics, adding a touch of personalization to your thrilling aerial escapades! Stay tuned for the release of this exciting and mouthwatering game!

About Project

Project CrocodileBalloon is a 2.5D platformer game where you play as a little crocodile who is tied to a balloon to glide in the air dodging obstacles and eating flying meat and a delicious yummy sheep at the end of each level!

This is my most proud project of all. Its a project I’ve been working for a long time and dedicated a lot of time to develop. It’s currently under development for Mobile platforms (Android & IOS). Everything in the project has been made by me except audio (music & some sound effects).

Team Size: 1 (Solo Dev)
Tools Used: Unity Engine, Blender 2.8, Audacity
Languages: C#
Project Duration: (In Development) 7 months in
Genre: Platformer
Platforms: Mobile (Android & IOS)

Game Features:

-Simple and intuitive controls: Ensuring an accessible and enjoyable gameplay experience.

-Engaging Mechanics and Visuals: Bringing fun and vibrancy to every moment of the game.

-Character & Props Customization: Allowing players to personalize their crocodile and

-Expansive Level Design: Featuring multiple worlds, each with its unique theme and gameplay challenges.

Development:

Project Crocodile is being developed solely by me. Everything in this game, except for some music and sound effects, is made by me. From 3D models and animations to programming and UI.

Technical Skills:

This project is the most complex one I have worked on so far. It incorporates many systems and classes. Here's the top highlights of this project:

Level Management:

The LevelManager class is responsible for tracking the current world, level, and loading. It utilizes a ScriptableObject class called LevelLibrary, which holds all the data for worlds and levels. With this class, we can find the level name using the world index and level index, which we can then use to load the corresponding scene in Unity. This data is also used to save the game and load the last world and level the player visited, and which levels are unlocked or locked.

GameMode Class:

Similar to my other games, I have implemented a GameMode class that handles the start and end of the game. In this project, the GameMode class has some additional functionalities. Whenever a new level is loaded, the GameMode ensures that all the necessary GameObjects for the player are created. In this case, it includes the following:
-PlayerCamera
-PlayerController
-PlayerCharacter (Crocodile)

I learned this from Unreal Engine's Architecture. I always looked into Unreal Engine when ever I wanna learn complex things like Movement in Kinematic Characters due to being open source. I have gotten so used to it that now on any engine I use, I try to follow similar architecture.

Dependency Injection with Zenject

Introducing Dependency Injection into this project changed my way of thinking. With Zenject for Unity, a Dependency Injection framework, I was able to decouple all my classes and use interfaces for better communication. I now incorporate DI into all my projects because I find it incredibly useful. It improves code readability and testability. I used DI in most of the main system classes, such as PlayerUI, AudioManager, and LevelManager, which all run in the ProjectContext. I also employ DI in the GameMode class as a SceneContext, allowing classes that need to communicate with the GameMode to easily do so using the [Inject] property.

Design Process:

I began working on Project CrocodileBalloon in early 2023, immediately after releasing the game WebHop for a Game Jam. Following the jam, I created the first 3D model of the protagonist (as shown in the image on the bottom left). I have a fondness for quirky, cute, and silly-looking characters. Initially, I wasn't sure what I wanted to use the character for. However, I also had a sheep model with a similar style and silly eyes. That's when the idea struck me: why not create a game featuring these two characters—a crocodile and a sheep?

Next, I contemplated the main mechanic of the game. It was a bit challenging, particularly because I tend to approach things in a logical manner. I couldn't envision the player controlling a crocodile in its natural form. Then, I recalled an old idea I had for a mobile game involving a boy tethered to a balloon, using a fan for movement. That's when inspiration struck—I decided to replace the boy with the crocodile and tie it to a balloon with a sheep. And that's how the initial idea was born!

Current Status and Future Plans:

While Project CrocodileBalloon remains in active development, it stands as my favorite personal project to date. Constant playtesting and prototyping are underway to refine and maximize the potential of each level. The game is slated for release on mobile platforms in the upcoming months, promising players an enjoyable and immersive experience. Currently its being ported to a different engine called Godot. As a dev, I wanted to learn new trending tools in the industry and I had to rewrite all this project from ground up due to all the new things I have learned in the past year. So I took this opportunity to learn a new engine while writing the project again!

Takeaway

Project CrocodileBalloon has been a tremendous learning experience, showcasing my ability to program diverse systems, implement save game functionality, and apply SOLID principles in game development. The project is not just a game, it's a journey of growth and discovery, and I'm excited to share it with the gaming community in the near future.