When our game was first pitched, it was planned as a local multiplayer game. We did not intend on creating a multiplayer online game. As the development continued, we started leaning toward putting the game fully online. After further investigation we learned that Epic Games has online subsystems that are designed to be implemented into Unreal Engine. I sprang into action to set up Bugby to work fully online and integrate it with user Epic accounts. The process took some time; however, our game is now set up with full cross-network multiplayer support and the ability to sign in with your personal Epic account. This also allows us to collect analytics on our playerbase including live users and average session time .
One major hurdle that we needed to jump over was actually because of an error we made earlier in the development process. When we were first developing the game, we created a GameModeBase blueprint class where we help all the game’s functionality. This worked fine for a long time because we were not worried about networking. However, when we began to move toward a networked game, this became a major problem. It was only months later when more problems ar
ose that I discovered we were using the wrong game mode class. I swapped the GameModeBase, which is meant more for single player games, to GameMode, which has many multiplayer functions already build into it. The switch was difficult because our code up until that point was designed in a roundabout way to compensate for the fact that we were not using the right base class. Replication has always been an issue and my hopes are that after the changes are fully flushed out, replication will be an easier problem to resolve!
Throughout this year long project I have learned so much about how networking and replication works within Unreal Engine. Though there were many problems and a lot of frustration, I overcame and learned from each one. I am confident that I can set up another networked game in the future with ease.