This week in Captureball is a very good week as all the incremental progress on the AWS GameLift backend has allowed for a nice dedicated server setup that we can build off of going forward. It would’ve been nice to have this done much earlier in the project, but now is better than too late. It was quite a daunting task learning about different AWS technologies like Lambda, API Gateway, Cognito User Pools, GameLift, Flexmatch, CloudWatch, and DynamoDB. All of these together create Captureball’s networking backend which includes server instances to connect players to games and user account functionality.
By sorting out the different roadblocks in the backend that were holding us back from joining matches, we are now able to join the dedicated server game session through the Captureball Game Client build. The server runs our Captureball Unreal server build which has specific code the AWS GameLift uses to connect the whole thing together. This code is specified in C++ with a preprocessor specifing for AWS GameLift sections of code in the Captureball GameMode class. This class is specifically is meant for server function and a manager of the rules of the current game mode (think like rules of capture the flag or a death match mode). Below are a few images of the status of the multiplayer and they illustrate what needs to be done next!
As you may see above the actual match is a broken at the moment so the next step is to add network replication to the Captureball game code and add the rest of the rules in order to have a complete online match of Captureball. We have some time, but the end of the semester is catching up fast so we will be working to have a fun little game that people can jump in and play! We aren’t too far off now that we got the networking set up going and can now focus back on the gameplay again. – Darrell Wulff