Wednesday, December 19, 2018

Perkun Wars optimal strategy

In the Perkun Wars there are three NPCs: Dorban, Pregor and Thragos. Dorban is a witcher, he is continuously hunting the vampire. Pregor and Thragos are humans - they are avoiding the vampire. You can attack the vampire whenever you see him, but it is the best idea to attack him when the NPCs are around.

There are two strategies: either you will hunt the vampire just like Dorban does (and thus you will mainly cooperate with Dorban) or you will wait with the humans till the vampire comes himself. The latter strategy is better - because the help of Pregor and Thragos is better than the help of Dorban. Very rarely you will be lucky enough to meet the vampire with all the three NPCs. This is your opportunity - attack him!

Tuesday, December 18, 2018

Perkun Wars

I have added a website for my game - Perkun Wars:

This game is intended mainly for the developers willing to use Perkun AI library in their own projects.

Wednesday, December 12, 2018


I have published my new project - Borsuk. Not finished yet. You can download it from

It requires SWI Prolog (devel packages), flex and bison. Just like Perkun it is also a library - libborsuk.

Take a look at examples/example2_fantasy.borsuk. It begins with declarations of classes and objects belonging to them, for example dorban is a person.

object dorban:person;

Then the variables (including hidden variables) can be generated with the templates like this one:

hidden variable has_(A:person)_(X:activity)_(B:person):boolean;

For each tuple (A,X,B) such that A is a person, X is an activity and B is a person it will generate the corresponding hidden variable. For example:

hidden variable has_dorban_attacked_pregor:{none,false,true};

As stated before borsuk will assume that the hidden variables are independent (or at least most of them are independent). This should allow Borsuk to support thousands of hidden variables, which was impossible for Perkun.