Hello, and welcome to a new development blog series about Frog Bath. Frog Bath is a super silly game where you and friends play as frogs all attempting to bathe the frog king first. Developed by Lafterburn studios, Frog Bath is one of the many great games from last semester to continue forward this semester. To get a better sense of the game, here is a trailer showing off the amazing work the original team pulled off:
I was one of seven new people to join the Lafterburn family and I’m incredibly excited to work on Frog Bath in my Senior Production course at Champlain College. The onboarding process was exceptionally smooth, and meetings are a ton of fun with new ideas hopping around like crazy.
My primary role as a programmer working on Frog Bath is to hook up networked multiplayer. Offering online multiplayer unlocks the opportunity for players to jump around over the internet instead of only locally. The major challenge this semester is going to be learning how to incorporate online multiplayer into the current codebase, as Frog Bath was designed mainly for local multiplayer. To help integrate it into the project, I plan to gradually start converting the core systems from blueprint to C++. Doing so makes the code more manageable, quicker for our designers to interact with, and scalable when adding prospective features. Though it will require a little extra time now, it’s worth doing for the extra time we’ll save later in development.
Networking in Unreal Engine 4
Working in Unreal is still relatively new to me. Only having one semester of experience in the engine is daunting but extremely exciting. I’m learning new features about the engine every day, and it’s refreshing to gain experience in a new development environment.
In addition to gaining experience in Unreal, I’m especially excited to learn more about networking in general. Many of my favorite games all have a multiplayer aspect to them. Growing up I have many unforgettable memories playing MMOs late at night with my friends. Now, as a developer, bringing people together through online experiences is why I’m so passionate about network programming. Real-time multiplayer in Unreal is an intriguing new frontier for me and I’m ready to take it on.
Learning Networking in a New Engine
To help ready myself before jumping into Frog Bath’s source code, I decided to follow an online Udemy course. The course teaches the ins and outs of Unreal’s networking capabilities. With four parts and 24 hours of hands-on tutorial footage, I have a lot to learn.
For this first sprint, my task was to complete the first two sections from the online networking course. First, I created a separate test project. Then, I learned how to make a game act as a client or server through console commands. And finally, I hooked those commands into a simple UI system for more comfortable use:
After learning more about object replication, I created a simple test level where my team and I could roam around:
Now those are some realistic frogs! But in all seriousness, I’m excited to apply this knowledge to Frog Bath and have players jumping around together. If you’d like to follow my progress on GitHub, click here to view the repo—my username is Andy608.
In the coming sprint, my goal is to continue learning about Unreal’s multiplayer. I plan on looking into Steam support as well, so players can conveniently join each other. Stay tuned for more updates!