Realm
MongoDB Developer Center
chevron-right
Developer Topics
chevron-right
Products
chevron-right
Realm
chevron-right

Lessons Learned from Building a Game with MongoDB and Unity

Adrienne TackePublished Jan 07, 2022 • Updated May 13, 2022
UnityRealm
facebook icontwitter iconlinkedin icon
random alt
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!

Copy Link
facebook icontwitter iconlinkedin icon
Rate this article
star-empty
star-empty
star-empty
star-empty
star-empty
Related
Quickstart
MongoDB Realm Web SDK Tutorial

May 13, 2022
News & Announcements
Realm Kotlin 0.6.0.

May 12, 2022
Tutorial
How to Update Realm SDK Database Schema for Android

May 12, 2022
Article
Creating a Multiplayer Drawing Game with Phaser and MongoDB

May 16, 2022
Table of Contents