Building ‘Hard Rain’ Lessons from My First Finished Game Project

Table of contents

About
Hey Devs! Long time no see (a very long time actually). In this blog, I’ll be sharing my experience of successfully completing a game project. Let’s dive into it!
Game Idea
Game name: Hard Rain
For this project, I wanted to implement object pooling. While I was thinking about how I could use it, an idea popped into my head—a game where the player is trapped on a mysterious planet with asteroids raining down endlessly.
To escape, the player needs to collect materials to start a car. Once that’s done, the game ends.
It was just a small project. You can find the game on my itch.io page.
Concept Implemented
As I mentioned earlier, I’ve implemented object pooling in this project. The asteroids falling on the player spawn (SetActive = true) from a pool, then disappear (SetActive = false) under certain conditions.
Alongside object pooling, I learned how powerful interfaces can be.
I created my own interfaces for object pooling and interaction management.
Every script I wrote for this game is available in my GitHub repository.
Instead of hard coding, I focused on:
Clean code
Reusability
Modularity
I also gained experience with script pipelines—how scripts connect with the game, and figuring out “which script connects with which game object,” etc. This project gave me a great insight on how the flow of scripts within a game works.
Challenges Faced
Despite being a small project, it took me 2 and a half months to finish, because this was my first 3D project. Almost everything except the Unity interface felt new:
Character controllers
3D movement
Camera controls
I had to work on the project only after college hours and attend a language course twice a week. There were nights when I’d stay up until 1:00am fixing bugs, only to wake up at 5:00am the next morning!
I’m a game addict, but since starting this project, my entire focus was on development. After all those late-night bug fixing sessions, I came out with way more learning and practical experience than I could have imagined.
Conclusion
I know the game is small with just one level, and the concept is simple—but at the end of the day, I made something playable, and I’m fine with that.
For me, it’s the small steps and discipline that take you miles ahead. So, if you ever feel stuck in your project, keep reminding yourself:
“You don’t have to be perfect, just consistent” (read this at my gym, LOL).
I may not be some expert giving advice, but that’s something I keep telling myself.
I’m planning to work on some cool projects in the coming months, so make sure to follow my blog for future updates :)
We’ll catch up in the next blog, Devs!
Subscribe to my newsletter
Read articles from Tharun Adithiya directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Tharun Adithiya
Tharun Adithiya
A young mind trying to become a Game developer/programmer. Feel free to connect and advice :)