Chris Price • Music & Media
Composer • Arranger • Programmer
Added to cart!
Composer • Arranger • Programmer
Tell me if you've heard this one. You go to a small party, about 7-9 people, and someone boots up the Xbox and decides to play a party game where everyone can connect using their phones? Well, I've definitely been there before, several times. My friend group is full of people who are always down for a game of Jackbox. Knowing I can code almost anything, I decided to sit down and learn how to code a Jackbox-style game. I used GameMaker Studio 2 with AWS hosting the server. I learned SEVERAL important things while programming this.
Growing up, I've programmed several multiplayer video games. Clients would connect to a server, and the server would tell each player where everyone is. I understood the idea of client-side vs. server-side logic. Developing a Jackbox-style game works differently. I had to program a website for the players on their phones to view as well as a game program for PC for everyone to watch. With that, I also had to develop the server that held everything together. That's 3 different programs in one!
I ran into several issues learning how WebSockets worked. Several attempts in trying to receive help led me to people questioning how I'm developing my game. In hindsight, they were correct in their criticism. I programmed the server with GameMaker Studio 2, which runs on Windows, and when using AWS with a Windows server, it's very expensive and not very efficient. Now I always use Linux for hosting my servers, but at the time I didn't know how to do this, nor did I know this was the optimal option.
AWS has several issues with the Windows servers that I didn't know about. Players would often disconnect randomly, and sometimes the server would slow down extremely. Now that I have more experience with backend development, I know a better way to go about handling players.
Friendmocracy is still available on Steam! Check it out if you enjoy multiplayer party games!