HomeLearnArticleLessons Learned from Building a Game with MongoDB and Unity

Lessons Learned from Building a Game with MongoDB and Unity

Published: Mar 11, 2021

  • MongoDB
  • Realm
  • Game Development
  • ...

By Adrienne Tacke

Rate this article

Back in September 2020, my colleagues Nic Raboy, Karen Huaulme, and I decided to learn how to build a game. At the time, Fall Guys was what our team enjoyed playing together, so we set a goal for ourselves to build a similar game. We called it Plummeting People! Every week, we'd stream our process live on Twitch.

As you can imagine, building a game is not an easy task; add to that fact that we were all mostly new to game development and you have a whirlwind of lessons learned while learning in public. After spending the last four months of 2020 building and streaming, I've compiled the lessons learned while going through this process, starting from the first stream.

πŸ“ΊοΈ Watch the full series here (YouTube playlist)! And the repo is available too.

#Stream 1: Designing a Strategy to Develop a Game with Unity and MongoDB

As with most things in life, ambitious endeavors always start out with some excitement, energy, and overall enthusiasm for the new thing ahead. That's exactly how our game started! Nic, Karen, and I had a wonderful stream setting the foundation for our game. What were we going to build? What tools would we use? What were our short-term and long-term goals? We laid it all out on a nice Jamboard. We even incorporated our chat's ideas and suggestions!

Watch us plan our strategy for Plummeting People here!

#Lessons Learned

  • It's always good to have a plan; it's even better to have a flexible plan.
  • Though we separated our ideas into logical sections on our Jamboard, it would have been more helpful to have rough deadlines and a solidified understanding of what our minimum viable product (MVP) was going to be.

#Stream 2: Create a User Profile Store for a Game with MongoDB, Part 1

#Stream 3: Create a User Profile Store for a Game with MongoDB, Part 2

#Lessons Learned

  • Sometimes, things will spill into an additional stream, as seen here. In order to fully show how a user profile store could work, we pushed the remaining portions into another stream, and that's OK!

#Stream 4: 2D Objects and 2D Physics

#Stream 5: Using Unity's Tilemap Creator

#Lessons Learned

  • Teammates get sick every once in a while! As you saw in the last two streams, I was out, and then Karen was out. Having an awesome team to cover you makes it much easier to be consistent when it comes to streaming.
  • Tilemap editors are a pretty neat and non-intimidating way to begin creating custom levels in Unity!

#Stream 6: Adding Obstacles and Other Physics to a 2D Game

#Lessons Learned

  • As you may have noticed, we changed our streaming schedule from weekly to every other week, and that helped immensely. With all of the work we do as Developer Advocates, setting the ambitious goal of streaming every week left us no time to focus and learn more about game development!
  • Sometimes, reworking the schedule to make sure there's more breathing room for you is what's needed.

#Stream 7: Making Web Requests from Unity

#Stream 8: Programmatically Generating GameObjects in Unity

#Lessons Learned

  • As you become comfortable with a new technology, it's OK to go back and improve what you've built upon! In this case, we started out with a bunch of game objects that were copied and pasted, but found that the proper way was to 1) create prefabs and 2) programmatically generate those game objects.
  • Learning in public and showing these moments make for a more realistic display of how we learn!

#Stream 9: Talking Some MongoDB, Playing Some Fall Guys

#Lessons Learned

  • Sometimes, you gotta play video games for research! That's exactly what we did while also taking a much needed break.
  • It's also always fun to see the human side of things, and that part of us plays a lot of video games!

#Stream 10: A Recap on What We've Built

#Lessons Learned

  • After season one finished, it was rewarding to see what we had accomplished so far! It sometimes takes a reflective episode like this one to see that consistent habits do lead to something.
  • Though we didn't get to everything we wanted to in our Jamboard, we learned way more about game development than ever before.
  • We also learned how to improve for our next season of game development streams. One of those factors is focusing on one full game a month! You can catch the first one here, where Nic and I build an infinite runner game in Unity.

#Summary

I hope this article has given you some insight into learning in public, what it takes to stream your learning process, and how to continue improving!

πŸ“ΊοΈ Don't forget to watch the full season here (YouTube playlist)! And poke around in the code by cloning our repo.

If you're interested in learning more about game development, check out the following resources:

If you have any questions about any of our episodes from this season, I encourage you to join the MongoDB Community. It's a great place to ask questions! And if you tag me @adriennetacke, I'll be able to see your questions.

Lastly, be sure to follow us on Twitch so you never miss a stream! Nic and I will be doing our next game dev stream on March 26, so see you there!

Rate this article
MongoDB Icon
  • Developer Hub
  • Documentation
  • University
  • Community Forums

Β© MongoDB, Inc.