Connection issues and the upcoming solution
Hey everybody! Haven’t used this blog in a while, and thought this was a good place to start using it again.
On Friday, December 7th, I decided to try something out for the first time. I held a live in-game event inside of Gimkit. This event would transform Gimkit for the holidays in an exciting way. I was super pumped for it and tried to let everybody know that this was happening:
I sent out multiple tweets about this live event the week leading up to it. I was extremely excited for everyone to try it out. I also spent a solid 25–30 hours coding it all together.
The night before, I did a final test with my family. 7+ players were needed to experience the event, and so my family members and I got out a bunch of devices to test the event out and look for any bugs. After that, I was confident the event was going to work and was now just excited to see the reaction to it.
This leads me to event day; I’m sitting at my computer with 7+ tabs open so I can experience the event as well. It marks event time and it starts. The event is running! Sweet!
Then, after a minute comes the interactive part of the event. It shows up for me and I start to complete it. It works for a few seconds and then it just completely stops working. I switch over to another tab. Nope, not working. Another tab, nope not working either.
I start panicking a bit, but I’m hopeful. Perhaps this is just because I had too many tabs open on my computer and some of the tabs were left inactive for too long and lost connection.
I go to Twitter and what do you know? Almost everybody is having the same issue. This event that I had gotten everybody's attention for wasn’t working. I was upset.
It turns out that the event brought in so many people, that it overloaded my game servers. The servers couldn’t keep up with the interactive section in which thousands upon thousands of students were attempting to send messages at the same time. And so, it just didn’t work for many.
This was finally the kick in the butt to prioritize the game engine for Gimkit. When 3.0 came out, I rewrote a custom game engine that manages student balance, game options, themes, powerups, rankings, and teams.
However, since 3.0 came out, usage for Gimkit has more than doubled and the engine I wrote for 3.0 just isn’t keeping up, at least without getting insanely expensive to keep running.
I hear multiple times a day of teachers reporting connection issues; of students being kicked out, or the game not ending for them. Other common issues too such as being in the game, but not on the leaderboard. There’s a whole bunch of stuff that goes wrong here and there.
And one thing is I will always expect for there to be some connection issues from time to time. With the variety of school networks, device types, browsers, and internet speeds, there are so many variables that can cause these types of issues. The tough thing is also there aren’t really ever any steps to reproduce issues. A teacher will tell me that they are having connection issues, but it doesn’t help me much since I can’t get a clear list of steps to reproduce the issue. All I know is that there is one.
Right now, it feels like there are way too many issues. Much more than I am comfortable with. So, over the next few weeks, I am going to rewrite the game engine again to make these things happen much less frequently. I’m going to use a framework that is used by multiplayer video-games which will hopefully give Gimkit the stability it needs.
My goal right now is to have this new engine out by end of January 2019.
Either way, thank you all for your support and feedback. This is a growing pain, but one I am excited to get over. If you ever need anything, feel free to reach out to me at any time. Thanks so much everyone.
-Josh from Gimkit