I am posting about a new text adventure creation language and text adventure game engine, Adventuron, which is based online, and can be thought of as an 8-bit themed online update of systems like THE QUILL, or GAC. Don’t expect anything as advanced as Inform / TADS, but I feel it still fits into a nice niche because of its style and accessibility.
I posted a link on twitter which goes into greater detail and provides links to the system itself and documentation.
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: