Server Scaling.
Affordable scaling with GameLift
Game Scaling with GameLift
At Code Wizards we’re experts in how best to scale your game – GameLift, GameLift Realtime, Multiplay, or Custom Scalers we’ve done them all.
Arguably the easiest is using AWS’s GameLift scaler to launch and run your server backend.
Why Use GameLift?
Scaling games is different to “normal” payloads:
Stateful
Games are stateful – the usual stateless model used for the web only works for low frequency and low data multiplayer games – games need to have a shared state amongst all the players in the shared world.
Network
Bandwidth needs for games are higher – a game server will be in near constant communication with it’s players
Comms
Games utilise lower cost networking protocols like UDP that are more efficient at passing data but are intrinsically lossy
Longevity
A game server usually is running for a small period of time – typically measured in minutes
Updatable
Rolling out new game modes and fixes occurs rapidly and must be rolled out while existing players are able to continue their games
What are the Options?
Some games need to implement their own scaling solution – this is usually with super heavy payloads or integrating into “bare-metal” providers that handle either a base capacity or are required to run in particular regions. In this case building your solution using AWS Core Services is a good way to go. However this should be handled with care as this is hard to build and requires careful monitoring to run. A single runaway scaling event could be massively expensive and a poor scale up strategy could leave your players stranded and unable to play.
An alternative is to use AWS’s GameLift.
There are a few options to consider, with a brief architecture diagram to explain the conceptualised implementation:
1. GameLift Realtime
A Javascript based managed solution able to handle low to medium sized games and provide a semi-authoritative server approach without requiring much server expertise. However this solution cannot handle backfill of servers.
2. GameLift
A solution that runs complete VMs with your (authoritative) server baked into them. This allows you to manage your own payload and scale globally. GameLift supports backfill.
3. FleetIQ
Server orchestration so you can hook multiple providers or strategies into your scaling strategy. With this you could hook into K8 (Kubernetes) or other hosting options to allow FleetIQ to manage your payload.
All integrate into FlexMatch which allows flexible matchmaking rules.
How can we help?
If you need to migrate from a proprietary solution then we can help you create the right model and integrate scaling.
This could be Photon or GameSparks Realtime migrating to GameLift Realtime. We’ve helped major studios make this move and can also support with amendments to your Unity or UE4 based game client too.
If you have already built your game server then we can help you get it moved into GameLift. You then get the advantages of affordable and manageable scaling around your server without having to write a full orchestration and management/scaling platform.
And if you have a custom requirement then we can help you find the right approach and build that approach for you.