Knights Province Alpha 11 is going to be ready soon and it’s time to talk about one more unique feature that it’s going to have: Knights Tavern!
[Tavern Scene, 1658, by David Teniers II]
Knights Tavern (KT for short) is a codename for the accounts server we have been developing since 2019. Accounts were one of the more often requested features in KaM Remake, but we never had expertise or bravery to actually implement it (well, for numerous reasons). Attempts were made for the KP, but they did not succeed until recently, when a lucky chance has arrived (in form of an article (Habr.com) and a code repository (Github.com)). Now, knowing that the backend server can be developed in the same language as the game, KT is finally taking its chance to come true.
Neat thing about KT, is that it can be used for both KaM Remake and Knights Province. Both games are very much alike in terms of accounts info they provide and can benefit from. So we can safely build KT in such a way that it allows for a single account for both Knights Province and KaM Remake. Register once and play twice. KP is our testground for the KT. Once it is sufficiently tested, KaM Remake can be upgraded and start using it too.
You can help with KT playtesting right now, but more on that later.
Basic auth functionality is mostly covered: KT has player accounts that can be registered, activated, logged in to and logged out of, forgotten passwords can be reset.
For a proof of concept, KT can report how many player accounts it has and how many players were active within the last hour.
The first useful feature in KT are mission highscores. If a single-player mission was prepared by the mapmaker in a specific way (2 lines of script, one dynamic and one static), the game can submit the mission’s winning score to KT and later on show the player his ranking in that mission.
Word of caution, KT is still in beta and might have bugs in all different areas. We hope to iron them out over time. That’s why we start testing with simple functionality, so flaws in the authentication (which there must be) can be fixed. So, since there might be bugs and weak spots, do not use your everyday life passwords for KT.
KT future allows for many interesting things:
- Friends, instant messaging, lobby invites, clans, etc
- Player ratings and reputation, ELO scoring, etc.
KT poses new challenges to us:
- It needs to be coded in an asynchronous way, so that data requests do not slow down or freeze the game.
- Player data needs to be passed and stored securely (we already use salts and hashes)
- We will need to preserve the players data on upgrades and between game versions
Best of all - you can already try out KT and help us improve it! See the latest KP wip builds (available on Discord Discord.gg). Please report any bugs or flaws. We are also open for suggestions on KT functionality. It can steer it into many directions and it would be best to pick ones that are more wanted.