Update time:
Additional to the (working) /build command, I've moved the grammar system into a module, as recommended by Immortius in the Architecture vision thread. Please have a look at the PR and give me some feedback.
What you can do with the grammar system at the moment is generating simple structures through hard coded grammars. One example is given in the BuildingCommands class, which generates the output as you can see it in the game. The split command is working, with which you can specify the walls, leaving the inner room air. Furthermore, you can create rules with more then just one successor, meaning a random selection for the derivation. This will be improved in the future, allowing more detailed probability contraints.
What you cannot do with the grammar system are conditional rules. Until now there are no guards or conditions checked when generating, that means you cannot alter the derivation based on the derivation variables (like remaining height or something). Moreover, it is quite inconvenient to build the grammar by hand, thus I am working on the grammar file parser to support easy grammar loading and specification.
This were the main changes/updates so far. If you have any suggestions regarding the usage or design of the system, please let me know.
Additional to the (working) /build command, I've moved the grammar system into a module, as recommended by Immortius in the Architecture vision thread. Please have a look at the PR and give me some feedback.
What you can do with the grammar system at the moment is generating simple structures through hard coded grammars. One example is given in the BuildingCommands class, which generates the output as you can see it in the game. The split command is working, with which you can specify the walls, leaving the inner room air. Furthermore, you can create rules with more then just one successor, meaning a random selection for the derivation. This will be improved in the future, allowing more detailed probability contraints.
What you cannot do with the grammar system are conditional rules. Until now there are no guards or conditions checked when generating, that means you cannot alter the derivation based on the derivation variables (like remaining height or something). Moreover, it is quite inconvenient to build the grammar by hand, thus I am working on the grammar file parser to support easy grammar loading and specification.
This were the main changes/updates so far. If you have any suggestions regarding the usage or design of the system, please let me know.