Inspiration

Being lost on campus and not being able to find MacDonald Harrington when I was a first year. We also love cloudberry so we wanted to make him a large part of our project. We first wanted to make a game where you had to find Cloudberry like so many McGill students do on campus. But this idea slowly evolved into a game where you play as Cloudberry and collect items around campus. Since the game takes place on McGill campus, we thought it would be interesting to make it double as an interactive map to help navigate around campus.

What it does

The game consists of the player controlling Cloudberry to move around McGill campus. The aim of the game is to gain points by collecting various items such as berries, acorns and miscellaneous things found in trash cans. Trash can items are random and can have different side effects like giving you a boost if you find coffee or reduce your points if you find a rotten egg. As well, Cloudberry must hide from students who are trying to spot her and take pictures of her. On top of this, players can also use this game to help them get around McGill since the map used in game is an accurate map of McGill Campus. Walking in front of buildings and pressing space shows information of the building such as the name, the opening hours, the available microwaves etc.

How we built it

Act I: A bird guides our way

Our journey begins at 12pm, on January 27th. As we decided on what project we’d like to do, one question remained, how would we build it? As we pondered what platform we wanted to develop for, or tools we wanted to use, once clear option appeared to us. Flutter. What better tool to use than one with a cute bird as mascot? Thus, we began using Flutter and Flame, a game engine made with Flutter. We began by following Google Codelab tutorials and sample projects online to understand how to use this engine. The result 10 hours later? An amazing amount of no progress. Our art team had cooked up the perfect pixel sprites to use for our project, but as for development? Flame was a terrible choice for beginners. We were still struggling to display the map as a background or even just animate the main player character. In an act of desperation, we did the only reasonable thing to do at this stage: we started anew, but with Unity.

Act II: Uniting in finishing the project

With little time remaining on the clock, we had to speed run our entire project with Unity. After a brief interlude competing in the Mario Kart tournament, we were progressing at the speed of light. In under two hours, we managed to add the map, player movement and control, as well as camera movement. Buoyed by this success, we moved on to implementing collision with our beautiful pixel art buildings of the McGill campus, and a pickup system for the items we wanted our player to pickup. Unity really helped us develop this in such a small time, and it was quite the experience to switch tools halfway through our project. Thus, Cloudberry Campus was born.

Challenges we ran into

Our main challenge in this was developing our game using Flame. Very few tutorials covered what we had wanted to implement, so as neophytes to Flutter and Flame, it was incredibly hard to figure out. We spent several hours checking tutorials, forum posts and documentation, but we made very little progress. This challenge was so hard to overcome that in the end, we changed our tools to use Unity instead so that we could have a minimum viable product. In the end, that was why we ended up making Cloudberry Campus with Unity.

Accomplishments that we're proud of

We are very proud of how the graphics of the game turned out as they not only are an accurate representation of McGill and Cloudberry but are also aesthetically pleasing even though they are simple. As well we are proud to have implemented what we have so far in Unity as most of us did not have any experience with it coming into this. This is especially true considering we only switched from Flutter to Unity almost half way through the Hackathon.

What we learned

We learned a lot about how to code on Unity such as collision detection and camera angles. As well we did gain a lot of experience and insights on Flutter although it did not turn out like we had envisioned.

What's next for CloudBerry Campus

  • Adding students that roam around campus
  • Adding more items
  • Expanding the map to all of the McGill downtown campus
  • Expanding the map such that Cloudberry can enter buildings
  • Adding more iconic McGill lore such as Frank Ferrie, samosas etc.

Built With

Share this project:

Updates