Wednesday, November 17, 2021

Borsuk - a new project.

I have started a new project called Borsuk (this name may still change, the project is not published yet). The idea is to handle many more variables than it was possible in svarog, in particular hidden variables. I will simply assume they are independent. For each boolean hidden variable a belief will contain "projections" with two states, one for false and one for true. They will not be the states in the same sense as in svarog - but rather a kind of projection states. I have also created a syntax to generate many variables and stronger rules. The below code is an example: 

type person = {me, Gotrek, Gwaigilion, Gerrudir}; 

type information = {where_is_(X:person)};  

 

It means we have four persons, me (meaning the player), Gotrek, Gwaigilion and Gerrudir. For each of them a new information value will be created, i.e.  

where_is_me 

where_is_Gotrek 

where_is_Gwaigilion 

where_is_Gerrudir  

 

In the type definition it will be possible to use the type itself, for instance:  

type place = {Krakow, Warszawa, Wroclaw, Poznan, Gdansk}; 

 

type action = {goto_(X:place),ask_(X:person)_to_(Y:action),

ask_(X:person)_where_is_(Y:person),tell_(X:person)_(Y:information)}; 

There will be a special operation called "expanding" with a certain parameter called "depth", so that for Gotrek and Krakow it will create for example action: ask_Gotrek_to_goto_Krakow  

Because goto_Krakow is a regular action.

The variables will be created with the same pattern. 

For example: 

hidden variable (X:person)_can_see_(Y:person):boolean; 

hidden variable (X:person)_has_told_(Y:person)_(Z:information):boolean; 

hidden variable (X:information):boolean; 

This allows thousands of hidden variables to be generated, depending on the expanding depth. I will use a similar syntax for rules which will replace the world model known from svarog.

No comments:

Post a Comment