Replies: 3 comments 2 replies
-
Am I correct to assume that you want to build a Godot extension that adds a Nat-powered networking layer? Godot has some low level networking interfaces, PacketPeer and StreamPeer, although these are typically implemented by UDP and TCP respectively. There's also a MultiplayerPeer interface for higher level protocols. I understand NATS Jetstream to be a reliable delivery message queue implementation, would you be looking to implement a NatsMultiplayerPeer 'class' in Godot? |
Beta Was this translation helpful? Give feedback.
-
Hey @Splizard Sorry about delayed response. NatsMultiplayerPeer is exactly what I am looking into. What do you think ? I was not sure if the GoDot client can be augmented or if I need to put in an adapter at the golang level that manipulates the messages / packets for the GoDot Client. Sorry if I am not explaining myself well here, but I am still getting to grips with how GoDot networking really works. |
Beta Was this translation helpful? Give feedback.
-
actually it maybe that all we need to do is import the nats.go into the golang code and nothing else. SO then nats would communicate with the devs golang code which would then control the asset. Maybe I am wrong though as I am yet to actually try out this code. NATS also works over web, desktop and mobile. for web I compile the golang projects to WASM and nats is compiled in. |
Beta Was this translation helpful? Give feedback.
-
This golang package looks really promising
I want to use NATS Jetstream for multi player.
https://github.com/nats-io/nats.go
This NATS client can run on Web ( as wasm ), desktops and mobiles.
I know other Game servers also use NATS, as its a real time PUB SUB style system.
When I dug into Godot docs, It seems tricky to use a custom network transport, so I figured it was worth raising here as you probably have more knowldge of GoDot and Goalng than I do.
https://docs.godotengine.org/en/stable/tutorials/networking/index.html
NATS can also use Websockets, but we you loose the nice aspects with the nats.go system of geo physical load balancing that is client side based. It connects to the nearest server basically.
Beta Was this translation helpful? Give feedback.
All reactions