Skip to the content

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

- Updateable - 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's 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.

 

We're Honestly Here to Help!

Get in Touch

Got questions?  We're always happy to (at least) try and help.  Give us a call, email, tweet, FB post or just shout if you have questions.

Code Wizards were very efficient and transparent. It was a pleasure working with them as they brought valuable advice, insight and development to achieve our project's success.

Daniel Ross, Head of IT and Development, 52 Entertainment / Virtual Regatta

Code Wizards are a pleasure to work with.

We've challenged their team to integrate our cutting edge AI, AR and VR solutions and always come up trumps.

I love their approach and help on strategy.

Richard Corps, Serial Entrepreneur and Augmented Reality Expert

Working In Partnership

We're up for (almost) anything.

We believe that life is better in co-op (and if we can't help then we probably know somebody else that we can direct you to).  Get in touch.