Is there a way to use GameLift Realtime Servers from Amazon Sumerian (JavaScript client)?

I would like to create multiplayer solutions with fast player movement replication in Amazon Sumerian. Reading the documentation it seems that you need to download and compile the GameLift Realtime Client SDK to communicate with the Realtime servers and I can’t see a JavaScript alternative.

I assume the Realtime Client SDK is just sending TCP/ UDP messages so is this something I could do directly from JavaScript or are there some dependencies that would cause problems? Or is there are alternate way to do this from a JavaScript client that I am missing? Thanks.

We have a Javascript based client in our backlog, but no ETA for release at this time.

However, you could roll your own client as theres not a lot you would need to implement. You need basically:

  1. A websocket in javascript
  2. The ability to send messages over those websockets based on the protobuf definition in the C# SDK
  3. A generated set of javascript wrappers based on that protobuf definition
  4. Some specialty message handling (ie Login/connection logic) ported from the C# SDK; Complexity is reduced if you don’t use udp here but for your use case UDP seems quite important.

Obviously some caveats here:

  • There would be no official support for your client and help may be limited.
  • The protobuf file could change but it should generally be backwards compatible
  • Realtime is not built for very high speed / large data synchronization between client and servers, I would definitely experiment quickly wrt to your network transfer rate/load to see if Realtime is the right solution for your needs.

Thanks for the information. I was drawn to the Realtime servers due to my simple server code requirements, the ability to use node.js and to easily implement changes. If performance may be an issue, I’ll move my focus to standard GameLift servers and roll my own C++ server code and JavaScript client. As that’s quite a bit of work and carries the risk of being unsupported, I’ll prototype using AppSync for now and then come back to it later.

I think that webVR coupled with GameLift servers could be a powerful combination, so I’ll keep an eye on your releases. If you move forward with JavaScript clients and need someone to test it out, give me a shout.