Inspiration

In South Asia, especially in my country India, plastic pollution is a big issue. People tend to throw plastic everywhere and use it excessively. I thought of a practical solution: picking up the plastic littered around and getting it recycled. This way, we clean up the environment and also make some money. It's a win-win situation. So, I turned this idea into a mobile game to raise awareness among users.

What it does

It is an exciting game where two boats race on a beach. The goal is to collect more plastic(to recycle) from the shore than the other player. You can also bump into the other boat to make them move aside. Whoever collects more plastic wins and earns money by recycling it. Youtube link

How we built it

The game mainly runs on Flame, which is a Flutter game engine. It's got various collision detections and calculations. Flame handles most of the stuff, like sprites, game management, and collision detection. I've used many asset images from the Casual Game Toolkit and credited each of them in my README.md file.

Challenges we ran into

We encountered several challenges during the project. Firstly, I aimed to implement a functionality where each boat would drift both left and right while steering, and maintain a straight path when not steering. This was achieved through the implementation of an enum logic and handling of sprites.

Secondly, My boats have nets on both sides. When the boats bumped into each other, the logic I initially implemented caused them to deflect when the nets collided with each other. I wanted the boats to deflect when they collided, treating the nets as soft material. To fix this, I added a 60-millisecond delay before the collision, and now it feels just right

Lastly, there was a requirement for the boats to remain within the water and to avoid running onto the sand, where they would continuously rough drive and jump against the shoreline. To fulfill this requirement, appropriate measures were taken to ensure that the boats only operated within the water boundaries, thus preventing them from traversing onto the sand.

Accomplishments that we're proud of

I am really proud of how enjoyable and straightforward the game is. People can just pick an amount and start racing, bumping into each other along the way. My friends have played it and said it's a blast

What we learned

During the process of making this game, I learned what makes a game truly fun. It's all about the combination of factors like enjoyment, uniqueness, social interaction, competition, a bit of a fight, keeping score, and of course, the right mix of graphics and audio.

What's next for Green Race

In the future, we're thinking of taking this game online and linking it with social media platforms like Facebook. We could also add multiple levels, and challenges to make it even more exciting. Even giving players option to choose multiple boat models to choose from. Right now, Flutter only supports 2D games, but there are a few options for 3D. As Flutter evolves, we're hoping it'll offer more support for 3D, and then we can take this game to the next level in 3D

Built With

Share this project:

Updates