Creating "Battle Pong" - a networked multiplayer game in Godot

Submitted by David Snopek on Sat, 09/14/2019 - 06:34

Lately, I've been wanting to experiment with creating a multiplayer game in Godot, my current game engine of choice.

So, thought, "What is the simplest two player game I could make?"

The answer: Pong. :-)

The goal isn't to make a unique or engaging game, but just to learn about making a network multiplayer game, so that I can get the fundamentals of that and use them for a more interesting project later.

See, my assumption is that certain design decisions will make network multiplayer easier or harder. If I make a really complex game, and then add network multiplayer after, I may have to rework the design significantly for it to work.

However, if I can learn these lessons on a simple game, I could perhaps create that complex game with the right design initially, so that network multiplayer fits in naturally.

That's my hope anyway! :-)

Read more to find out about my progress and end goals!

Progress so far

I started yesterday, and I also did my first live stream on Twitch! (Follow me on Twitch if you want to catch the next stream live as it happens.)

It took only 2.5hrs of work, total, and the game is already playable over the network. I was honestly really surprised with how easy that turned out to be.

In the first video we get the basics of the game and start on multiplayer:


And in the second video I get multiplayer actually working:

 

You can get the current source code from the project on GitLab

What's next?

Right now, it's a desktop game, where one of the players runs the "server" and the other player connects as a "client".

The end goal is for it to be a web game, which will connect any two players who try it at the same time, without the need to locally run a server. I'd like to try using Agones to manage the game servers in the cloud.

Tune in next time to see how that goes!

Game / Project