Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Networking/Multiplayer SIG

A topic by Kaezon created Aug 30, 2021 Views: 527 Replies: 8
Viewing posts 1 to 7

Wanted to start a thread for anyone else who's going to focus on mutiplayer or general networking features for the Jam. I figure we can share notes, tutorial sites, or snippets from around the web as we research.

I figure I'll start by reposting the official doc for high-level multiplayer: https://docs.godotengine.org/en/stable/tutorials/networking/high_level_multiplay...

This is my first jam, so I'm looking forward to learning something new with everyone :)

HostSubmitted(+2)

This is definitely something I'm interested in figuring out with Godot as well, but probably not this weekend, haha. Thanks for the doc link!

Submitted(+1)

oh, this is cool! i was planning on attempting 3d, but this might be a really neat area to focus on too

(1 edit)

If youre coming from any other software area, i made a small tutorial on interfacing with a websocket server :)

https://razorsh4rk.github.io/tutorial/2020/06/12/dead-simple-multiplayer-with-godot-and-nodejs.html

I've been meaning to play with websockets for a while! I'll give that a read!

If you're trying networking for the first time with itch there are 2 things I'd like to point out.

1. you have to use websockets. You can write you're code all the same as a normal networking project in godot, but just need to switch a couple of lines when you're done:  this post should help you

2. Your server/client need to run over wss/https: this post and this thread should help you too assuming you already know how to host a server. GL!

(1 edit)

Hi all. I'm interested in  making a Tetris Attack (TA)-like pvp game for the browser. The only hard requirement is to be playable with people across the globe, i.e. high latency. It'd be nice to have 4-player multiplayer too, but not essential. 

The gameplay itself requires very low latency, multiple moves per second, but the multiplayer interactions less so. If you're familiar with TA, you'll know there's basically one signal sent between players - new boulder of size X. So in order to deal with high latency from the network I plan to make each player's own state mostly local and transmit the attack signal with high priority.  Each player will also receive the opponent's state but at a lower priority/higher interval.

My first idea is to build it as p2p where one player hosts. I came across this article that looks like a decent start: https://perons.writeas.com/creating-a-peer-to-peer-snake-game-with-godot-webrtc

I have no godot or game dev experience. I have some web dev experience but not with webrtc.  This sounds like an awful lot for a weekend so I'm thinking if I'm just able get two players to communicate state that's a win!

(+1)

It's quite the tall order, but limiting it to just the two players -might- simplify it. I'm not sure.

I think the way to tackle this will be to make a single-player Tertis game, then start looking at how to rig up everything with RPC so that two players play tetris side-by-side. After that works, then look at the inter-player interactions, like dumping garbage blocks.

My rule of thumb for networking is that complexity becomes an exponential curve, so just be ready to tackle that.

I have part of my concept down, and I think I want to use Heroku. So far the tutorials I've seen are Node.js, but I've used Flask with python to make a simple webapp before for class. Right now I'm thinking a tile-based space roguelike, and part of that is due to that I have an alright way of generating planets in tiles.