We worked on implementing business logic that handles user sessions on the server. Simply put, we’ve been developing a mechanism for the user to launch games.
When you launch a game via Playkey, a user session is created. As the loading bar progresses or while you slash undeads in The Witcher 3 or run rampant in GTA, technical magic is happening on the other side of the screen.
To run the game smoothly from launch to close, we do the following:
- We load the saved game (it’s unlikely anyone wants to start the game over completely each time).
- We verify the game’s presence on the miner’s computer.
- We configure the game according to the selected configuration (you can usually set the graphic parameters yourself, like 1080p resolution, 60 fps frame rate).
- We ensure that paid gaming time doesn’t run out.
- We monitor for and register errors (if they occur).
- We store the saved game after the session ends.
As you can see, this even sounds tedious. In reality, it’s even more complicated.
In particular, this week we wrote a mechanism to monitor playing time by subscription and demo time.
New code is immediately reviewed by the team. That avoids future mistakes and simplifies edits. As a result of this week’s code review, we were able to reduce the amount of code by 20%.
Next week we’ll implement exchange buffer synchronization between the client and the server, as well as the localization of messages from the server. Read the details in the next entries.
P.S. We mentioned The Witcher 3 above. Take a look today at how it works on Playkey.net: