Also, this one:
'IFEngine deve essere esteso'
this engine must be extended?
“IFEngine must be extended”. And the same for “AvventuraNelCastelloJSEngine must be extended”
Here, IFEngine and AvventuraNelCastelloJSEngine are proper nouns, as it were.
(The original Italian string for the second message mentions AvventuraNelCastelloEngine, but this is a typo; the actual name is AvventuraNelCastelloJSEngine.)
These are messages intended for developers, and players are very unlikely going to see these, because are show if the developer does not use the engine correctly, and the game would fail to start at all.
What it means is that IFEngine is the name of a JavaScript class that has game-independent data and logic to help writing interactive fiction. In order to use that IFEngine, developers must create a different JavaScript class that extends IFEngine (i.e., it inherits all game-independent bits) and adds the game-specific data and logic. In this case, the extended class is called AvventuraNelCastelloJSEngine. However, this other class also requires to be extended, in this game by a class called Avventura, that’s why the message is there twice.
In JavaScript code, it looks like this:
class IFEngine { constructor() { // if not extended, show first error message. } … } class AvventuraNelCastelloJSEngine extends IFEngine { constructor() { // if not extended, show second error message. } … } class Avventura extends AvventuraNelCastelloJSEngine { constructor() { // here there is no error message if not extended; this is the proper game. } … }
See the “extends IFEngine” and “extends AvventuraNelCastelloJSEngine” parts? This is what the error messages are referring to.