Parsing code + test suite done, so now I can go on with the compilation and then execution of the expansion! #suetum #versu #praxis
ok, after some bugfix I reached the astronomical amount of...
(drumrolls)
48 lines of antlr4 parser.
i love so much when i can code less O_O
#suetum #praxis #versu
Lots of thinking, and then the grammar for the expansion construct is so embarrassingly simple 🥹 #Suetum #versu #praxis

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