MongoDB Developer
Realm
plus
Sign in to follow topics
MongoDB Developer Centerchevron-right
Developer Topicschevron-right
Productschevron-right
Realmchevron-right

Lessons Learned from Building a Game with MongoDB and Unity

Adrienne Tacke4 min read • Published Jan 07, 2022 • Updated May 13, 2022
UnityRealm
Facebook Icontwitter iconlinkedin icon
Rate this article
star-empty
star-empty
star-empty
star-empty
star-empty
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!

Facebook Icontwitter iconlinkedin icon
Rate this article
star-empty
star-empty
star-empty
star-empty
star-empty
Related
News & Announcements

Introducing the Realm Flutter SDK


Jun 14, 2023 | 4 min read
Quickstart

From Zero to Mobile Developer in 40 Minutes


May 26, 2022 | 1 min read
Article

Source Generated Classes and Nullability in Realm .NET


Feb 27, 2023 | 3 min read
News & Announcements

Introducing Sync for Geospatial Data


Dec 06, 2023 | 5 min read
Table of Contents