Noob questions on Gamelift and Unreal Engine Pixel Streaming

Hello

I have an Unreal Engine Game and want to have it running in the cloud to allow all processing to be done in the back end. I need multiple players in the same ‘world’, each with their own avatars, interacting with each other. I first looked at Pixel Streaming but have also looked at Amazon Gamelift. Does anyone have any experience/tips on which might be best for my use case? What is the difference between these two approaches?

To reiterate, I’ll need up to 50 players in the same Unreal world, but each player can control their own character/avatar independently and see the other players. All processing is done in cloud. I know there’ll likely be a heavy datacentre cost but this question is about technical feasibility and whether Gamelift (or Pixel Streaming) is a good fit.

Thanks

Hi @dakang ,

Did you ever figure this out? I’d be interested to know what you did?

I cannot speak about Pixel Streaming, but GameLift can in fact support this use case; although, GameLift only provides you with the server hardware and the necessarily tools to scale the instances and perform matchmaking, you’ll have to code the backend service, the networking and the game logic by yourself.

See an example of a battle royale large match example: GitHub - aws-samples/amazon-gamelift-ultrafrogroyale-large-match-sample: A small sample game that demonstrates how to use GameLift FlexMatch new large match features.

However, note that this package is a bit outdated (we have plans in our backlog to improve it), specifically the usage of AWS Mobile SDK for Unity. You should use AWS SDK for .NET now, though the migration should be simple. You can checkout this example on our guidance to setup a fully functional end-to-end multiplayer game, though it is not a large match example: GitHub - aws-samples/aws-gamelift-and-serverless-backend-sample: A GameLift example with a Serverless backend service that helps you get started with GameLift development and leverages deployment automation and Infrastructure as Code. Works on MacOS, Windows as well as mobile platforms., but it can be extended easily.

From very brief glance at Pixel Stream docs (Getting Started with Pixel Streaming | Unreal Engine Documentation), seems it is a framework that provides tooling to enable server-client interactions via streaming, and they don’t actually provide servers? If so, it is a different concept than GameLift, and it may be possible for Pixel Stream and GameLift to be used in conjunction. One thing that I’d be cognizant about is, are you really going to utilize GameLift at its full potential? E.g. are you going to need low-latency placement (likely)? Have shorter game sessions to take advantage of the cheap SPOT instance (unlikely, but also, you may not be okay with SPOT termination for game streaming)? Do you need game sessions and matchmaking (unlikely)? Do you need some service to provision the instance with all dependencies installed for you (likely, but you can also do this with AMI)

If you decide that GameLift doesn’t fit your use case, you could look into getting EC2 instances directly instead.