Inspiration ๐Ÿ’ก

The idea for BinSwap came from a roommate I used to live with, who was always asking me which garbage can each of her pieces of garbage went into. So I did a bit of research and soon realized that, although great strides have already been made, there's still a long way to go before we're able to recycle the majority of our waste. The aim of BinSwap is therefore to inculcate ("unconsciously") waste sorting, so that everybody can contribute, at its own level, to the preservation of the environment. โ™ป๏ธ

What it does โš’๏ธ

The goal of the game is to sort various types of garbage into the appropriate bins (Organics, Papers, Plastics, Glass, Electronics, Textiles) by swiping to change bin positions. Users can also drag down on a column to speed up the item. The game also includes special bonuses such as Snow, which slows down the falling items, and Multi (x2), which doubles the score temporarily. Players earn "coins", that they can use to buy custom backgrounds and more in the future. The game is available in English and French, and users can customize bin colours to match real-life recycling standards. Users can also define their own colour distribution of garbage can categories to match that of their region. ๐ŸŒ

How I built it ๐Ÿ‘จโ€๐Ÿ’ป

๐Ÿง  I built all this project on my own. I firstly took some days to think about the environmental cause i wanted to focus on, and how should the game work. After finding the idea, I started to make some hand-drawn wireframes. I then took a week to fully design the first version of the application, and prepare the assets. I then worked by iterations, adding new features as I went along. ๐Ÿšง Technically speaking, I used Flame for the game engine, Riverpod Hooks for state management, as well as freezed and build_runner to speed up and facilitate development. ๐Ÿ“ท I used link for the icons. To create the background images and the logo, I used ChatGpt with Dalle-3, and Adobe Firefly to retouch it.

Challenges I ran into ๐Ÿชง

Even though I'm experienced in Flutter, it was my first time building a mobile game. I didn't encounter any major problems during the development of the application. I did, however, have to make some development choices to save time, and had a few difficulties with the sound system. All the same, I'm pretty proud of the result and think the application is maintainable enough to accommodate all the new features I have in mind.

Accomplishments that I'm proud of๐Ÿ†

I think the thing I'm most proud of is that I had a great time playing my game on the couch, and so did my friends! Some of them even spent quite a bit of time trying to beat my record (I developed the game, so I'm pretty good, I admit). ๐ŸŽ–๏ธ Aside from that, I'm really proud to have managed to create the game I wanted in 2 months, and to have achieved the goals I set myself. The game is fun, innovative and even a little addictive for my taste! I'm also pretty proud of the application's visuals, even though I had to come up with them on my own.

What I learned ๐Ÿ“š

This project taught me how to design and create a mobile game from A to Z. It was my first experience in the world of gaming development, and I really enjoyed it. I learned how to find the tools to create attractive visuals, UX techniques to make the player want to play, how to make the game more fun, and much more. ๐Ÿง  From a more technical point of view, this project allowed me to familiarize myself with Flame, a package I'd never used before. Of course, it also enabled me to consolidate my Flutter and Dart skills, particularly in the use of Riverpod and build_runner. It also taught me that I had to make some tough design choices, balancing the ideas I wanted to add with the time available.

What's next for BinSwap - Swipe & Sort ๐ŸŽ‰

I have many ideas for the future of BinSwap. Firstly, I'd like to add the functionality of a community leader board, to see the best players around the world. ๐ŸŒ This would also include linking to an account and saving players' information in the cloud, allowing them to transfer their account from one device to another. In addition, I'd like to add daily and weekly quests, allowing players to win various prizes. These quests would encourage players to return to the game and vary their goals. ๐Ÿ“… I'm also thinking of adding other types of categories, other waste, and other bonuses. Finally, I'd like to work with a designer to create new backgrounds and garbage can skins (skins that will also be a new feature). ๐Ÿ–ผ๏ธ

Built With

  • buildrunner
  • dart
  • flame
  • flutter
  • freezed
  • hooks
  • riverpod
Share this project:

Updates