Go Client Library/Package

Hi, we’ve made available a Go client for Nakama, which includes realtime websocket functionality. We’ve been working on it for the last couple of months, along with a testing package for Nakama that we’re using for building a commercial game with a Nakama backend. The Go client library is available here: GitHub - ascii8/nakama-go: Nakama web and realtime client for Go (works with WASM) and the testing package for Nakama server is available here: GitHub - ascii8/nktest: Nakama test runner for Go

The Go client can be used in EbitEngine / other Go based game engines, and can compile to/be used with WASM without issues. We’ve been spending our energy on building our game, but will likely release a full Go version of the xoxo example game module to show how the client can be used in a fully Go based game. Documentation is a bit light at the moment, but if you’re familiar with how the client works in other languages, it should be fairly straight forward.

We’ve put a lot of work into this, and believe it’s ready for testing purposes, as we’re using it ourselves to do end-to-end testing of complex RPCs/game logic in a fully Go oriented way. Input from third-parties would be appreciated, thanks.

2 Likes

I pushed a Go version of the Tic-Tac-Toe (xoxo) example, here: GitHub - ascii8/xoxo-go: Nakama xoxo game module in Go – it has end-to-end unit tests written in Go, and a simple command client. The game module works with the Defold client. I will be committing a Ebitengine client that works similarly to the Defold client very soon™️.

1 Like

This is wonderful work @tomasz - well done sir. I’m sure this will be used by the community at large. @gabriel do you think we can make this a sticky in the Show Off section?

I added a quick Fyne UI and Gio UI client to the xoxo-go example. the Ebitengine client is not yet finished, but the bulk of the setup for Ebitengine to use the client is also available there.