Tower of Babel and Quest 4

Farvardin
13 Nov 2006, 11:07
will Quest 4 support the Tower of Babel for the unification of IF ID numbers and more ?

http://babel.ifarchive.org/

all other major IF systems have signed it.

Alex
13 Nov 2006, 12:05
It's been on my "to do" list since I found out about it a few months ago... nobody has contacted me about it though, which is a shame since they seem to have contacted the makers of all the other major IF systems, grumble grumble.

Freak
13 Nov 2006, 13:18
The Quest community doesn't interact that much with the rest of the IF community, and I don't really consider Quest to be a major IF development system.

davidw
13 Nov 2006, 13:30
For "the rest of the IF community" read RAIF & RGIF. There was recently a discussion on one of them about the sole Quest entry in the IFComp and I was surprised that no one from here stepped in to have their say.

Alex
13 Nov 2006, 13:55
I've done a Google Groups search for both "Beam" and "Quest" on RAIF and RGIF but all I can find is a thread about getting Geas working on OS X. Is there another thread I'm missing?

davidw
13 Nov 2006, 14:17
No, that's the one. The first time as far as I remember a Quest game getting mentioned on RAIF/RGIF, though it was getting it to work on Geas that was actually being discussed rather than the game itself.

Alex
14 Nov 2006, 20:25
Hmmm, looking through the Babel document, no Quest but... AGT and AdvSys anyone?

Anywhoo, does anybody have any ideas how they would like to see Babel implemented? I can get QDK to generate a GUID which would be included in each game, and making the existing game information (title, author etc.) readable from the ASL or CAS is easily done (easily doable already from the ASL of course, but will need an update so that CAS game information can be easily read).

Apart from that, any particular requests?

davidw
14 Nov 2006, 21:12
I don't think I've ever come across an AdvSys game and no one has written a game with AGT for years. But as far as I know, AGT used to be a big name in the IF world before it was overshadowed by the likes of Tads and Inform, so maybe it's been included because of that. I'm not quite sure why Quest was overlooked, though maybe the lack of new Quest games, particularly the lack of new Quest games that anyone outside of this forum has heard of, has something to do with it.

Freak
14 Nov 2006, 23:30
Both those systems, while no longer in development, are open; Simon Baldwin is listed at the current maintainer of GlkAgility; those two were likely added because it was easy to do so. (There was an AGT game in Comp '03, but it was rather forgetable.)

Farvardin
17 Nov 2006, 07:52
yes, I've looked again at their document, and adrift was mentioned too, it's a pity because Adrift is not more "open" than Quest, in comparison the games in Adrift are in a closed binary, the free interpreters (like Scare) are working quite well but some features of some games are not supported, making the games unplayable. I don't understand why they didn't even contact you Alex. And like other IF systems, Quest is using a source code (even though it can be "hidden" behind the QDK), I like quite much the syntax of it. Do you want I start a thread about this on RAIF ?

I'm just amazed to discover there is a linux / macosx interpreter for quest games now ! I hope it will help the spread of the system !

davidw
17 Nov 2006, 10:42
Farvardin wrote:yes, I've looked again at their document, and adrift was mentioned too, it's a pity because Adrift is not more "open" than Quest, in comparison the games in Adrift are in a closed binary, the free interpreters (like Scare) are working quite well but some features of some games are not supported, making the games unplayable. I don't understand why they didn't even contact you Alex. And like other IF systems, Quest is using a source code (even though it can be "hidden" behind the QDK), I like quite much the syntax of it. Do you want I start a thread about this on RAIF ?


The main difference being that a lot more people use Adrift and it has produced some decent games in the past. The amount of people using Quest is minimal at best and the system has yet to produce a game that anyone outside the people on this forum think is any good. The fact that SCARE doesn't work flawlessly is unfortunate; but then the Adrift Runner works fine on Windows computers and 95% of the computer users in the world have this as their primary operating system.

Ask the RAIF/RGIF crowd to review the cream of the Quest games, let you know what they think... and they'd just laugh.

Farvardin
17 Nov 2006, 11:21
probably more than 30 % of the people on RAIF are using alternative operative systems...


I could say the same about IF in general and "moderne" gaming :

"Ask the MMORPG crowd to review the cream of the Adrift, Tads or Inform games... and they'd just laugh !"

Nevertheless, some people find interest in alternative games, and systems for writing them, like some people find interest in alternative operative systems.

I'm very happy something like Geas is out !

davidw
17 Nov 2006, 13:24
Farvardin wrote:I could say the same about IF in general and "moderne" gaming :

"Ask the MMORPG crowd to review the cream of the Adrift, Tads or Inform games... and they'd just laugh !"


That's a completely different thing. Ask a fan of one kind of game to comment on another kind and the response you'll get would be lukewarm at best. What I'm talking about here is the general regard for Quest among the rest of the IF community - and that regard isn't high. The sole Quest game in the IFComp coming 36 and being buggy hasn't helped either.

Farvardin
17 Nov 2006, 15:00
but except it's missing some good libraries for default commands, Quest is a good IF authoring system, and at least it's possible to edit the code by hand...

Freak
17 Nov 2006, 16:26
I think Quest is missing those libraries because it lacks the features making it possible to handle many of those functions.

And while it's possible to edit the code by hand, most of the library / parser is locked away in VB.

Alex
17 Nov 2006, 16:51
Freak wrote:I think Quest is missing those libraries because it lacks the features making it possible to handle many of those functions.


Which features are missing? Most of the supposedly "missing" things (e.g. being able to eat things, throw things, etc.) are easily implementable by setting up the relevant command, and then setting up the relevant script.

Quest 4.0 makes this easier with verbs, so all you need to do to make something edible or throwable is add an "eat" or "throw" verb to an object.

Beta 2 adds support for containers, so I can't think of much else that's missing.

Also Beta 2 has a new "stdverbs.lib" library which adds default responses for standard-ish commands like "wear", so the player gets a more intelligent response if wearing things is irrelevant for your game ("You can't wear it" instead of "I don't understand your command.")

Anything else?

Freak
17 Nov 2006, 17:14
Try porting at Museum of Inform or Balances.

Problems with Quest
- limited expression construction
- lack of local variables
- limited error reporting
- language inconsistency
- library at different level from user code
- string interpolation behavior

Alex
17 Nov 2006, 17:36
I'll have a look at handling more complex expressions for Beta 2, but I'm not entirely convinced of how useful this is for the vast majority of games? Are we just talking maths here, e.g. being able to use "if ((%something% + %whatever%) / 4 > %things% * 2) then ..." ?

Similarly, what gaming need is most easily solved using local variables?

I don't believe that error reporting is limited. The ASL Log window shows you everything that's wrong about the game - is there anything missing?

And can you explain what you mean by the last three items on the list, as I don't quite understand?

davidw
17 Nov 2006, 18:27
Farvardin wrote:Quest is a good IF authoring system


So why has no one written a really good game with it yet? It appears that the majority of the people who are most active on the forum seem to have zero interest in writing a game; the ones who are interested lack the skills to make a decent game (with one exception).

Like I said before, no one will judge Quest as a 'good IF authoring system' until it produces a good game.

Freak
17 Nov 2006, 20:48
I've been off Geas for a month, so I'm a little hazy, and it was developed by trial and error, but:


1) Very limited in construction of expressions
For example, an expression may only have one operator; to evaluate an object property, you must get it directly from an object name or variable. This requires breaking up expressions.


2) No concept of local scoping
In the Tier 1 languages, it's possible to create variables that are defined only within a particular block, limiting effects to that block. (That way, you don't need to worry about giving all your loop variables different names so they don't clobber each other.)

The combination of these two is worse (point 1 requires more temporary variables; point 2 means they have to all watch out for each other). Point 2 also heavily limits the usage of recursive functions, which will make good usage of containers / surfaces difficult.


3) Very limited error reporting
"set numeric <a; 2+2+1>" would set a to 4 without triggering an error, even at run time. (I'll count load time in Quest as being the same as compile time for other systems.)
By comparison, bad expressions in other languages generally give errors at compile time. (By contrast, "a = 2 + 2 1;" in Inform would point out the problem and give the exact line where it appears at compile time.)


4) language inconsistency
Quest has plenty of areas where two formations are almost, but not quite, the same.

For example, some object properties can be defined by listing them in the definition or by using a properties directive; some can only be defined by listing; some can only be defined in a properties directive. Which properties are like that depends on whether you're defining a room or an item. And classes use a third method for declaring properties.


5) library at different level from user code

Try writing an extension that will improve the disambiguation so that "eat ..." will prefer objects defined as edible to those which are not. (So "EAT BLACK" while holding a black forest cake and a black mask will choose the cake without showing a disambiguation window; "EAT CAKE" while carrying a black forest cake, a carrot cake, and a cake tin will prompt the user to choose between the first two.)


6) string interpolation behavior

Try running expressions involving strings that contain semicolons.



Also, large portions of Quest are defined by the implementation.

Does "A or B and C" mean "(A or B) and C" or "A or (B and C)"? It doesn't say which anywhere in the documentation, and there isn't a way to manually parenthesize it.