I’ve been using Inform 7 for a few months now but at least for the current project I’m working on I feel it probably makes more sense to just restart using a language that was built to do some of the things I’d like to do, rather then trying to force I7 to bend to my whims. I’ve been taking a look at Dialog but I feel I’ve run into other hurdles there. This isn’t to say I’m giving up on either language, I definitely want to return to both but I’m hoping for now at least to just use something that I don’t need to wrangle with so much.
The main features I’m looking for are:
Capable of Algebra using Real Numbers.
The Parser does not require an object in the player’s input.
Methods to get user input outside of the normal game loop, during action handling especially.
Dynamic Values consisting of at least four variables, preferably with no limit.
Pardon me for being pedantic, but do you mean to say ‘algebra’? Or did you mean merely ‘arithmetic’?
I’m not sure that I understand this. Requiring an object is usually dependent on the verb.
There are some verbs - such as ‘listen’ - that clearly require no object.
Do you mean a second layer of input, to clarify a previous input? Something like DO YOU MEAN THE BRASS LANTERN OR THE SILVER LANTERN?
The reason I used the word algebra instead of arithmetic was just to specify that values may be unknown or variable, sorry if that’s not the right usage.
This mainly stems from a problem I ran into with I7 where you cannot define verbs that don’t interact with at least one object.
I mean ways the author can look for input, not disambiguations the parser already handles, the use I have in mind is to have an action which both npcs and the player can use but when the player uses the action I would like to get additional input from the player as part of the action where I don’t think it makes sense to have the input I’m trying to get from the player be it’s own separate action.
Yes. With I7 this also came to my question about having “Quantitative relations” I was able to work around this in I7 though with Collections.
Thanks, I’ll have to read through the docs to see if it’ll be a good fit. Python was actually the language I started writing in but the idea of making my own parser in Python held me back from actually making anything in it.
Don’t hesitate to let me know if any of the examples or documentation is unclear. This is a good opportunity for me to improve the experience for early adopters .
Does it necessarily have to be a parser-based IF language? Because ChoiceScript certainly handles “algebra” quite well, and you can certainly have dozens, if not hundreds, of dynamic values tracked. Furthermore, you can have things happen without user input during the game based on stat (value) tracking.
I’m fairly sure Inform 7 can do arithmetic on variables, intransitive verbs (an action applying to nothing) and additional input from the player during an action (though I’m not sure what you have in mind exactly).
Sorry I probably could have phrased this better, but I meant more so actions applying to non-things, rather than just applying to nothing. The main problem I had run into was with actions not being able to only apply solely to kinds of values in I7, but must also apply to an object.
Additional input during an action is the main hurdle I find myself with I7 right now, I’ve gotten some ideas for possible work around in another thread but I was also told that even these work arounds aren’t able to really handle getting player input during the action handling steps but instead happen afterwards, such as in a scene, or in just limiting what the player can type during a certain prompt.
Apologies again, here is the specific case I’m talking about.
"Untitled"
Laboratory is a room.
B is a kind of value. The B are c and d.
F is a kind of value. The F are g and h.
testing is an action applying to one B and one F.
Understand "Test [a B] and [a F]" as testing.
And again there are work arounds but I guess what I’m envisioning ideally is a language which has no limits on the grammatical tokens which can comprise a sentence (not being limited to two tokens would also be nice though that is a slightly different feature than what I’m looking for with this example.)