This week we updated the stage to change to update with time making it increasingly difficult for all players to stay alive actively pushing the match towards an end state.
At consistent time intervals, a random grid block on the stage is chosen to be deleted. As of right now, it is deleted immediately, however in the future we plan to make it delete after a couple seconds after warning the player of doing so by changing to a different color.
Although the block chosen for deletion is random, it is made to be fair for both sides as this same block is mirrored to be deleted on the other side.
This process of blocks being removed from the stage continues until there are no blocks remaining providing matches with increasing intensities.
Networking Progress Report
There has been slow and steady progress on creating the online multiplayer component to CaptureBall by integrating the AWS GameLift service into the project. The initial setup has taken more time than wanted as there seems to be lots of different caveats that need to be addressed when using GameLift with Unreal Engine.
The first steps to getting GameLift up and running was to build the GameLiftSDK from the C++ source code provided by Amazon. Here there are lots of different building errors from the various libraries that are used to support the SDK like Boost. Compiling on Windows 10 with Visual Studio 2019 all set with the proper configuration was still not enough as the version of the Boost library that downloaded when running the initial setup .bat files was configured to look for an older Visual Studio compiler that was not present on the machine. After finding the project-config.jam file and updating the string that set the old compiler to the current Visual Studio 2019 compiler, the GameLiftSDK was able to be created! We are able to place the compiled GameLiftSDK .dll and lib files into a GameLiftUnreal folder and access it in our Unreal project once we have done the next step which is to compile Unreal Engine from source.
Compiling Unreal Engine from source can prove to be a similar challenge, but build errors come with the extra cost of time. Unreal’s source is large and with a decently powerful machine it took about 1 and a half hours to build a custom Unreal 4.25 release version that will be able to be made into the server build. With the custom build we needed to be able to port a CaptureBall project copy to the custom version. Luckily the build errors were solvable by not having to rebuild the custom Unreal Version, but by building the CaptureBall project solution itself a few times.
This finally leads to opening up the Unreal Editor and being able to see this above plugin listed and ready to go.
We now are able to include the header and get the more interesting matchmaking stuff going between client and server. The next steps the rest of the week is getting the server build basics coded, deployed onto an instance, and connecting the client builds to AWS as well.
Written by Jack Koscheka and Darrell Wulff