I think I added “about” as a standard preposition and it obviously caused this unintended side effect, sorry. I’ll try to allow prepositions and verbs to overlap.
I have tested the following as working (use the if statement instead of your match):
: if (preposition_is "about" || verb_is "help") {
: print "Your help message here!" ;
}
It’s not really that sophisticated (at least yet).
It uses (language specific) pattern matching and word category dictionaries to try to work out to parse something as a verb, noun, adverb, proposition, conjunction or adjective.
Articles generally speaking are ignored, but Adventuron is aware of converting between definite and indefinite articles (as required by supported languages) in the relevant print routines.
It’s basically just pattern matching. If there is an overlap between verb and noun, then the first time the noun/verb is encountered, the verb/noun is treated as a verb, on subsequent encounters of the verb/noun, it is treated as a noun.
It’s not using any special techniques (at the moment). The parser was developed from observation, I’m not hugely versed in formal natural language processing.
There are still edge cases that exist, and I’m moving through them as I encounter them.
Is there any microcode that could be displayed, other than the instructions visible to the programmer? Something like the Assembly language between the C language and the processor.
I’m not sure I’m clear!
Adventuron’s syntax is like a version of JSON. It’s interpreted by the engine (after building a few internal lookup tables). There is no microcode to see. It might be possible to peek inside the game state in a future update, which is a separate model to the gamecode.
Adventuron (1.0.0 Beta 56)
Changing the colour of the text of system messages does not seem to be able to include ${}: unknown_noun = This game does not require use of the word <${noun}<8>>.
Yes, something simple and easy in French, in the style of Scott Adams’ games. I have an old game design called “Sleep of the Dragon”, that I’d like to finally finish.
It won’t be perfect for French system messages, but I’ll deal with it. For the compass directions I’m going to do it like this:
The reason for this is that you are using the “Bamburgh” (default Adventuron) font, and this font is proportional - meaning that character height is consistent but character width varies depending on the character.
If you use the “daad” or “clairsys_10” fonts you will find that they are fixed character widths and everything will line up.
You can also import any of Damien Guard’s fonts and they should work as monospace fonts too.
If you really want Bamburgh (perhaps because of French glyph support), then you will have to eliminate the other * characters and the text will still look good as centred text.