DevBlog: Major Game Server Rework

Any new technology you have not used before is a potential risk to your game project. One such risk in Network Traders was the transition of merchants from player to player via Bluetooth. I meant this to be a central mechanic, but tried it much too late, only to find out that it is not stable enough. So I had to reconsider, redesign, and rework the trading mechanism, relying much more on the game server. In a way I have now left the prototype phase behind with this major rework being finally done.

Diagram showing the initial idea of Network Traders: merchants travelling from device to device via direct Bluetooth connection.
Initial idea: merchants travel from device to device via a direct Bluetooth connection.

As I outlined in my previous article about the idea behind Network Traders, merchants are being passed on from player device to player device via a direct network connection. This was meant to be primarily Bluetooth, as it makes sure that the devices are actually close to each other. Thus, all data associated with a merchant is transmitted to the other device and stored there.

This approach has the major advantage that player data stays entirely in the hands of the players, so privacy protection is less of an issue. On the other hand, there are two major drawbacks:

  1. As game data is entirely in the hands of the players, it is vulnerable to cheating. So to counteract this, I would have required some sophisticated way of encrypting the data.
  2. The Bluetooth connections were never very relyable. It was prone to data loss or even impossible to connect certain devices.

Game Server Update online

Diagram showing final implementation of the trade mechanic: merchants being exchanged via an authoritative server.
Final implementation: authoritative game server.

You can read about those problems in detail in my Bluetooth Novice’s Tale. The solution I chose is an authoritative game server which controls and double-checks all trades. It also stores the players’ data which is relevant for the game in a database. Bluetooth is only used as a low-energy beacon in order to identify other players in the vicinity. The result is a quite reliable and more difficult to manipulate trading experience. Privacy protection, on the other hand, will thus be one of my major concerns in the future.

This rework, combined in version 0.4.3 of Network Traders, took me about two months. But those two months were well spent. I have not had any problems playing with my play-testers anymore since. From a planning perspective, I would consider it a mistake not having tested Bluetooth connections much earlier. I knew it was a technological challenge, but I was not eager to face it and so postponed it. On the other hand, had I tried it first, I might have been so discouraged early-on that I might have cancelled the project.

So, all is well now, and I am really looking forward to implementing some of the nice features coming up next. I will keep you up-to-date on any upcoming releases, and maybe even a chance to playtest Network Traders, on this blog. Or just follow me on Twitter so you won’t miss any updates!

Icon sources:

0 0 votes
Article Rating
Benachrichtige mich bei
Inline Feedbacks
View all comments
Was denkst Du? Bitte hinterlasse einen Kommentar!x