Knights Province will have multiplayer enabled soon. If you can help with playtesting or hosting dedicated server – please send me a note on Discord.

Knights Province will have multiplayer enabled soon. If you can help with playtesting or hosting dedicated server – please send me a note on Discord.
Recently I have discovered that GitHub markdown seamlessly supports Sequence Diagrams and it is awesome!
What are these words you may ask? I thought I’d make a short post about that.
First and foremost GitHub is a place where Knights Province code lives. You may have already seen public Knights Province resources there. There is an Issues list that holds the bugs and improvement ideas for the game (link). There’s also dynamic scripting Wiki (link).
Markdown is a set of special terse text format rules that allow for a number of formatting styles and features. Starting from simple ones that make text look bold (with asterisks), or italic (with underscores). Most of the modern Web platforms support it to a different extent. Unfortunately it is not standardized, but usually the basics work the same. More sophisticated expressions allow to generate tables or style whole sections of text as a programming language with syntax highlight:
Sequence Diagrams are a nice way of presenting sequences of events happening over time in a graphical form between several entities. Here is a short example of how a phone conversation may look like in this notation:
I won’t bore you here with details about Sequence Diagrams rules, just the basics. Actors are listed on top and repeated on bottom. Diagrams are read from top to bottom. Arrows denote control flow. Thick sections on actor verticals mean some processing is going on.
And there is a fourth piece to this puzzle – Mermaid. It is a certain diagram generation library that was seamlessly incorporated into the GitHub markdown processing. It supports a number of diagram styles, but we are interested in the Sequence Diagrams, since this is what Knights Province needs at the moment. If the text will have certain magic words in it spelled in the right order, they will transform into a picture:
Sweet thing about it is that the “code” for the diagram is in simple text form and is very short. Those 8 lines fully describe the diagram.
Lately I have been working on bringing Knights Province Multiplayer up to shape. In the past few months a lot has been improved and changed for a better gameplay and UI experience in the networking and multiplayer code. For example the players roster has changed, but that’s a different story, maybe for another post.
Networking code is quite different from the rest of the game though. It is riddled with asynchronous (non-immediate) events and their handling between separate entities located hundreds of milliseconds apart – players, host and servers. Those data exchanges and states form up quite a complex and intricate shape. Now, Sequence Diagrams are ideal for showing those interconnections and events relations. Having the things laid out on paper (yes, I even printed some of them) is a huge help in figuring out weak spots and places for improvements.
So, here is a sample diagram visualizing how a new client may enter a multiplayer room, get his role (become a Host or a Joiner) and get to setting up the upcoming game:
Simple as that! 🙂
It is time for Alpha 13 to enter its so-called “wip” stage. I gave some consideration regarding the number 13 perceived as unlucky, but then again, I’m not superstitious, so 13 is perfectly good! Now it can be playtested parallel to the ongoing development. As always you will find that some new features are already in the build, some are being developed and some are just planned or not even heard of. It’s a great time to affect the game’s development course.
There is a bunch of big things planned for A13. Let’s talk some more about each (trust me, best one is listed last)
Game needs to be more interactive – cue in animated stateful map objects! With the new support for animated map objects it is possible for objects to have a state and animations within and between states. For example now there is a dungeon door or a chest that can be open or closed (controlled via script as well!). Or a single table map object with several different things laying on it. Important to note, that these states are not purely visual. An opened door can be walked through, while the closed one is impassable. As with other things – this can be controlled from dynamic script.
KP was always planned to allow for mods. Addon map objects are a first attempt at that. Just imagine what possibilities it opens for mapmaking! Mods will be explained in greater detail in upcoming posts. For now there’s just a short sum up. Mods can affect specs (object properties) and/or assets (3D models and textures). Mods can be global (affecting the whole game and all the missions you play, unless they specifically forbid so) and local (acting only on the current campaign and/or mission). Mods will be loaded in layers and will be able to affect each other. For example one could have a global mod that adds 10 new types of trees and each mission will get them, but some specific mission could contain some specific quest objects it needs. If everything goes well, other basic game domains (like terrains, decals, etc.) will allow for mods soon too.
Reason for them is two-fold. Firstly and foremostly, skeletons were planned to be a part of unit death animation and corpses decay visualization. Units would gradually decay revealing a skeleton which would disappear after a time too (think of how Warcraft 1 and 2 did it). This feature came out to be quite a lot more complicated to properly rig and animate than it seemed at first though, so it is currently postponed. However, skeletons themselves looked really nice and easy to integrate with the existing animation and rigging systems, so .. given the playful game art style and mood, now the skeletons are part of the game. Currently only available to be placed in MapEd and via dynamic scripts. However in the future it is quite possible that they will have a dwelling / spawning structure, similar to wolves and bears. Maybe a crypt? Feeling strong Warcraft 1 dungeon missions vibes now.
Units can be tweaked quite a lot more from the dynamic script now. Following attributes can now be changed: Max HP and HP regen, sight radius, flag color, banner display for group leaders, morale. This will allow mapmakers to create (and edit!) hero units in a manner similar to how Warcraft 2 had them. For example a quest hero unit could gain more and more HP over the course of the mission and have his flag color turn bluer or redder depending on the progress. Or simple yet effective sight radius reduction in the cave sections. It is not a full RPG yet, but still a good step into the right direction.
Now mapmakers can change lighting conditions. This means sun and sky color, sun position in the skies. Among other things this also allows for ambient lit missions taking part in dungeons and caves. As with other aspects, lighting can be changed from dynamic script. Other weather effects like clouds and precipitation are planned, but not scheduled yet. Fully dynamic lighting like torches and other light emitters are not available yet (and probably wont be for quite some time).
Highscores became engaging enough to the point where the game had its first major cheating event. This is a great milestone! Now, combined with the new mods feature, anti-cheat measures had to be improved. Now highscores will register more of the game’s properties and a replay file, making any major attempts to cheat fruitless. This will warrant reset of the Highscores in the Knights Tavern in the near future.
I’m excited to announce that Alpha 13 is planned to have multiplayer enabled! It will take some time to stabilize the features presented above, but after that is done, the MP button will be activated and we’ll see how much time and effort it will take to make it properly work.
With everything described above, I’m happy to direct everyone interested to the Discord server where Alpha 13 wip builds are going to be published in the #new-versions channel:
Discord server #new-versions channel
And as always, the game needs your playtesting, feedback and bugreports, word of mouth and Patreon support!
Decided to take a small detour from major Alpha 13 features (separate post on that matter is coming later). New localization is being added into the game (credits to Absinthe for translations):
Game font used on buttons and big captions did not have Greek letters. Had to draw them from scratch (largely borrowing from similar looking Latin and Cyrillic letters). Here’s how the le letters look so far:
If you have comments or constructive suggestions on the writing (or maybe you want to help to bring another localization to the game) – please contact me on Discord 🙂
Full list of changes, fixes and improvements:
Alpha 12 r14147
Alpha 12 r14142
Alpha 12 r14137
Alpha 12 r14136
Alpha 12 r14124
Alpha 12 r14118
Alpha 12 r14115
Alpha 12 r14102
Alpha 12 r14097
List of changes and fixes:
Knights Province Alpha 12 (installer)
Knights Province Alpha 12 (7z package)
In the old system, units would eat everything they can in the order it is available in the Tavern till they get to 90% satiety. This had several drawbacks:
Starting from r13944 new rules are in effect: each visiting unit will want to eat three dishes – meat, bread, drink. Meat can be sausages or fish, bread is always bread, drinks can be cider or ale. Exact choice is made randomly upon availability. New satiety values are:
For each 2 dishes combo unit gets an additional 10% satiety. Result is that in the full Tavern a newly arrived hungry unit (satiety <10%) will eat 35%+10%+25%+10%+15% = 95% which will restore them to full satiety.
Thus, more kinds of food could be added without making them look superfluous (as long as they go into one of the three categories) and the combo bonus will incentivize player to maintain variety of foods in the Tavern
In early campaign missions not all foods are available, so units will not eat up to their fullest, but this is not a huge problem, they will just return to eat sooner. In later missions (or in missions without waterbodies) one is expected to produce meat sausages to keep the units well fed.
Further work includes reworking UI to be representative of the new mechanics (sort and group foods). Slight tweaking of food values may also be needed.
List of changes and fixes:
Knights Province Alpha 12 (installer)
Knights Province Alpha 12 (7z package)