Inspiration

I have always been a fan of chemistry and one of the main reasons for this was one of the first iPad apps called The Elements. I studied biochemistry for my undergraduate degree and it opened my eyes to the organic molecules that make up so many of the things we interact with. People mention molecules in everyday conversations: carbon dioxide, alcohol, DNA, insulin, glucose, glyphosate, acetaminophen, etc. I think it is important to help educate people about what molecules really are so that they realize a plastic like PET is just a molecule that can be broken down and recycled.

What it does

The player plays as a small biorobot moving through a laboratory pipeline. As the player moves through the pipeline, they can earn in-game currency (BioCoin) by collecting naturally occurring or useful molecules. Any molecules they have not collected yet (or collided with) are added to their ChemiDex. They must also avoid dangerous pollutants (flashing red) that lower their shield strength, however if they do make contact with these, they also collect them. Their shield can also be replenished by collecting lysine (orange molecule).

At the end of the game the user sees their score, how much BioCoin they earned, and their current BioCoin balance. They can then return to the Main Menu and check their ChemiDex where they can view the molecules they collected or collided with. They can also add passes for any Natural Molecules they collect to their Google Wallet (provided publication privileges are granted, see YouTube video).

How we built it

The Flutter package flame is used for sprites, animation, and gameplay. The flutter package shared_preferences is used to store information about whether a player "owns" a molecule. The information about molecules, including json web tokens and image file names, are stored in a json file. Popscope is used to handle for the back button on android. Checking platform is implemented for controls (keyboard vs touch) and for deciding whether to add a pass to Google Wallet via web or via the app. Platform checks are done using dart:io and foundation packages.

The game environment implements parallax scrolling similar to Jetpack Joyride. The player can move in two dimensions with arrow keys/touching arrow icons. The speed at which the player moves through the environment increases the longer they remain alive until a certain high speed is reached.

Challenges we ran into

The gameplay mechanics were relatively simple to implement. However, a time-consuming process was generating the art for the game and creating animations. I wanted the player and the objects they interacted with to be dynamic. Ideally, the player interacting with an object would also result in a specific animation, however time constraints limited this aspect of the game.

Additionally, I was hoping to have a link to a listing in the Google Play Store, however I have hosted a web app on Firebase for testers to try out. https://molecule-collector-12026.web.app I hope that the attached apk and YouTube video can show the optimizations made for Android. Additionally, I am hoping that the Google Wallet generic passes I have created will also be usable by testers, however, I have also attached pictures of the wallet integration.

Accomplishments that we're proud of

The game is playable across multiple platforms and is particularly optimized for Android mobile phones and Chrome desktop, however I am confident that it can run on other platforms given handling for both keyboard and touch controls as well as adding passes via Google Wallet. I built this game as a passion project and I have even found myself playing it on the bus. I like the freedom in movement and how it is different from the left right swipe of temple run or the tapping of Doodle Jump. With the parallax scrolling mechanic, you can play it and collect items indefinitely, and there is always more one can add on in terms of game content.

What we learned

Game development requires a substantial amount of dedication and tedium. While modern tools such as Flutter remove many challenges in the process such as animation, game assets need to be created and incorporated so that player interaction with them is seamless.

What's next for Molecule Collector

The next steps for Molecule Collector would be improving the graphics, animations, and gameplay. Good molecules could grant more abilities and bad molecules could provide more challenges. Essentially, the overall level of detail and immersiveness could be improved.

Built With

Share this project:

Updates