Since I have a little lull in the development of Selanìa, I'm advancing with #Suetum.

The system is more and more getting structured in a way that allows for parts of the project to be used independently. One can just use the fact list as a knowledge base, or just the expansion mechanism, just the instructions, or multiple parts combined into something different from Suetum (e.g.: with this architecture, one could implement a Lume-like system based on exclusion logic: https://www.researchgate.net/publication/335590895_Lume_a_system_for_procedural_story_generation )

Ian Horswill is writing a book that is a very good introduction to formalisms around procedural generation.

I love how it is quite focused on text generation, but it shows how very similar techniques can be applied to e.g. generating environments.

Very well written, clear, to the point, without sacrificing precision.

I will definitely use lots of the elements laid out here to work on the expansion/interpolation mechanism in #Suetum .

https://ianhorswill.github.io/DPGD/index.html

Declarative Programming for Game Designers

An introduction to declarative programming with applications to vidoegames

Declarative Programming for Game Designers

Fixed also the last bug regarding axiom/rules exploration. Which allows you to drill-down in axiom expansions, and sub-axiom expansions and so on.

Now, in the space between the work on Selanìa, I can get to attack (my version of) Prolog's definite clause grammars.

It will probably be a more pragmatic approach, strongly oriented towards the narrative usages, with dedicated syntax, although it will be 100% based on exclusion logic like the rest.

#Suetum #versu #praxis

Big commit on #Suetum to improve axioms (rules). Now you can write mutually recursive rules, and Habitus is also kind-of able to show them (there are still cases in which it can't expand an axiom, in case the very first rule of the axiom already fails)!

https://codeberg.org/owofgames/suetum/commit/d90f8f4d2a5fa3db54c0a8448a28724833798874

#praxis #versu

Since I'm still deep in the rewriting of the code for Selania, should I investigate deeper in definite clause grammars ( https://book.simply-logical.space/src/text/3_part_iii/7.2.html ), which brings me ideas on how to complete the parts of #Suetum that are missing?
Probably not.
AND YET.
7.2. Definite Clause Grammars — Simply Logical

These next few weeks I'll put on hold my work on #suetum to help with the code infrastructure of #Selania ( https://store.steampowered.com/app/3946540/Selana/ ).

I've helped a little bit too with the new version of the graphics and effects and I'm really excited to see it all get together ^_^

Selanìa on Steam

Selanìa is a narrative cozy game: meet a cast of eccentric characters, gain their trust, and help them rewrite their stories. And yours. Lose yourself in Selanìa, where the greenhouse blooms of curious plants, the kitchen is always hungry, and the library whispers tales. Or just sit down, and relax.

This #Suetum program is doing like a thousand more computations than it should to check a condition, but at least the indented logger produces a very pleasing minimap on the right of the editor.

#versu #praxis

I kind of, sort of forgot that axioms are parts of the system, and right now they are completely opaque to the debugger.

So! Let's expand the system the allows for notifications during the unification of logic clauses to work also on axioms, and track a "stack" of the resolution.

This was quite tricky, and revealed a bug in recursive axiom applications, but: it's done! Now, how to properly display it...

#Suetum #versu #praxis

The work on the debugging tool for #Suetum is reaching its completion, but this is the most dense part, conceptually.

Added the possibility to see the agents' heuristics, to time travel (!) between the current and past states of the simulations, and what I'm now working on is the ability of creating "alternative" world states, where you simulate a different choice from the one picked by the game purely inside the debugging tool.

#praxis #versu

So, apparently, yes: it was a matter of an afternoon to add support for forall/exists quantification in #Suetum 😮

(also added the possibility to explore the bindings that matched the conditions, to debug problems in matching, and set an icon too)

#praxis #versu