I have setup everything on AWS Gamelift in terms of server scripts and and Fleets.
On the client side I am able to create Game Sessions and Player Sessions for all of my players.
How do I take advantage of Gamelift to send messages between my players?
In https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-howitworks.html#realtime-howitworks-servers there is mention to a Realtime Client SDK that can send messages. Is this just the AWS client SDK or am i missing something?
Hey, thank you so much for your reply!
I am creating a puzzle game where two players get to work on one puzzle in a competitive manner (therefore I though Gamelift would be a good fit).
Is what I am asking possible with my current tech choices? Or is Gamelift the wrong resource to use for a browser based realtime multiplayer puzzle game?
The realtime client SDK is found here: https://aws.amazon.com/gamelift/getting-started/
- scroll down / search for “Realtime client SDK”
Right now theres only a C# SDK to support Unity developers. If your clients need to be in a language other than this then things will get interesting.
The SDK is really just a wrapper around some protobuf message definitions and a websocket library. It knows how to handshake with the Realtime server and package & serialize/deserialize the protobuf messages.
- Compile the SDK for netcore and then call it via some JS -> C# hook (also brittle)
- Use Unity to generate your clients (requires Unity knowledge)
- Not use Realtime and just use classic gamelift (then you are in charge of the whole client/server experience).
- Writing multiplayer servers is hard and GameLift again only supports C++/C# server SDKs.
What is your use case / rough tech space? Are you writing mobile/browser games? This will help GameLift team understand how customers are using their products/want to use them. It may also help identify a workaround for your use case.