Inspiration
I loved playing Super Dash and it made me decide to make a game where users have to save Dash's home from being destroyed by evil construction workers. I wanted to create two mini games called Recycle Sorter and Green Rush where users can learn about different ways to be sustainable. I also created a mini story as well that users were going to go through as they play the mini games to help engage younger players. I created these two games so younger players can learn that small actions like these can make a big difference and these actions are easy for anyone to implement. There aren't any constraints on them.
What it does
This app lets the user become a Green Guardian to help save Dash's home. In Recycle Sorter, the user swipes the recycle bin left and right to see how many recyclable objects like soda cans, newspapers and plastic bottles they can catch in 40 secs. The app has a title screen, intro/instructions screen to introduce the users to Recycle Sorter. Recycle sorter has a score counter that lets the users see their score and it has a countdown timer to let them know how much time is left in the round. The app-release.apk is for the Android pixel 5 emulator.
How we built it
I built Recycle Sorter using Flame and Flutter. Flame was used for the game mechanics. Recycle Sorter has a has a score counter that lets the users see their score and it has a countdown timer to let them know how much time is left in the round. The title, intro, recycle sorter load game screens are built using Flutter widgets like Image, Center, SizedBox etc.
Challenges we ran into
Since this was my first time using Flutter, I had to learn about the basics of Flutter first. Once I got a good understanding of the basics, I had to learn how Flame worked so I followed Flame's documentation to build their sample game. After that it was a bit challenging to figure out how to get the proper game mechanics and features that I wanted using Flame which took a lot of trial and error. Since that took a while, I wasn't able to add my second mini game called Green Rush. Due to time constraints, I wasn't able to add enemy sprites and power ups.
Accomplishments that we're proud of
I was able to create recycleSorter with the basic features that I wanted it to have which was falling objects and being able to see the score and the time when playing. I was really happy that I learned how to use different Flutter widgets to create different screens like the title screen and intro screen and how to style them. This project makes me want to explore the capabilities of Flutter more!
What we learned
I loved learning that Flutter can be used to make apps that go on web and mobile devices. I thought it was always difficult to learn different many different languages in order to create a web or a mobile app so I love that Flutter lets you use one code base to make an app that can go on many different platforms. I learned how to use different Flutter Widgets to design different types of screens and I got to practice thinking about and implementing UI design. I loved learning how to use Flame to create a 2D game.
What's next for Green Guardians: Protect Dash's Home
- I want to add my second mini game which was Green Rush. This is where the users have to tap on falling plastic bags as fast as possible so they turn into reusable bags.
- I want to add my overlay screen which leads us into the instructions for Green Rush.
- I want to add the crashlytics feature.
- I want to style the UI more so it has more of a nature theme.
- I want to add enemy sprites to make the game more engaging.
- I want to add power ups as well to make the game more fun.
- I want to add a sustainable advice screen at the end where Dash tells the users that they can scroll down a ListView and read what items can be recycled so they learn how to be sustainable. I want to add some statistics/facts here as well so I can reinforce that small choices like can make huge changes for younger players.
- I want to make the app layouts responsive so other users can play it on web as well.
Helpful links!
I thought this tutorial was really helpful to learn the basics of Flame and how to create a simple 2D game! https://m.youtube.com/watch?v=wUf3UytV4wQ
This package is really helpful to add fun and cool animations to text! https://pub.dev/packages/animated_text_kit#create-your-own-animations
This is a really helpful tutorial to teach you how to make your layouts fit different screen sizes! https://hackernoon.com/creating-responsive-flutter-app-layouts-for-all-screen-sizes
This course is really good to learn more about Flutter! https://www.youtube.com/watch?v=CzRQ9mnmh44&ab_channel=RivaanRanawat
Built With
- dart
- flame
- flutter
Log in or sign up for Devpost to join the conversation.