Why I chose Quest

Brian123
One of ghd reasons I chose Quest over Adrift was that with Quest it's possible to make almost anything happen where in Adrift you are limited to what the programmer has provided. There is also a lack of counters and flags in Adrift. Tads was too heavy into programming so Quest seems the better choice.
I started to use a text generator called Lads years ago simular to what Scott Adams used in the 1980's which is limited to 2 wodds for input. I tried Inform but the result can be unpredictable with the natural programming language.


Brian123

HegemonKhan
quest's greatness (power) is its open-ness (customizable to the extreme), but that comes at a cost, you got a lot to learn (GUI~Editor and~or Code), though it's much more friendly than other coding languages and engines. just be patient, and slowly try to learn quest, to unlock its full (and unrivaled for text game) potential, hehe!

jdpjdpjdp
I've played around with most of the major engines, and as a non-coder I like Quest the best. TADS is inaccessible if you don't do coding. Adrift is indeed too limited.

One you don't mention is Inform, which hides its "code" in custom syntax. It makes for a steep learning curve, though I will say that, for as far as I bothered to get into it, it looks like it has some cool functions that, while you can make them work in Quest, are a little more smoothly integrated in Inform. Of course there are things that are smoother in Quest, as well (adding new verbs/commands in Quest is SOOOO much easier than it is in Inform).

For me, Quest is the perfect balance between coding and non-coding. You can make a perfectly decent game without knowing any code at all, and you can make a fantastic game by learning just a little bit at a time. The fact that Quest also has its own forum, where it's coders frequently come and are willing to answer questions and help trouble-shoot, is also a huge plus.

Silver
Inform 6 was coding with Inform 7 making its syntax English to help folk from a writing rather than coding background. It's still Inform 6 in the background though I think.

The Pixie
Silver wrote:Inform 6 was coding with Inform 7 making its syntax English to help folk from a writing rather than coding background. It's still Inform 6 in the background though I think.

Yes, I agree. And further, I think libraries have to be written in Inform 6. The English syntax makes it easy to read, but it is just as fussy to write as any other programming language, so no advantage there, you just have to type more.

davidw
The Pixie wrote:The English syntax makes it easy to read, but it is just as fussy to write as any other programming language, so no advantage there, you just have to type more.


I always find the advantage with Inform 7 code is that you can just look at it and have an idea how everything works. It's far easier to spot a mistake and fix it when it's all nice and straightforward.

Inform 7 code:

The cave is a room. "It's a cave. You can go east to the beach."

The beach is east from cave. "It's a beach. There's a lot of sand here."


Quest code:

game.carmenu_list = location_list
temp_list = NewStringList()
foreach (o, game.carmenu_list) {
list add (temp_list, o.alias)
}
list add (temp_list, "(Nevermind)")
ShowMenu ("", temp_list, false) {
if (result <> "(Nevermind)") {
got_item = 0
count = 0
foreach (o, game.carmenu_list) {
if (o.alias = result) {
got_item = count
}
count = count +1
}
go_to = ListItem(game.carmenu_list,got_item)
MoveObject (game.pov, go_to)
}
else {
msg ("You decided to not go anywhere")
}
}


To my non-programming way of thinking, the Inform 7 code is understandable, whereas I don't have a clue about the Quest code.

Silver
So why does pretty much everyone say that Inform 7 has a steeper learning curve if it's as straight forward as you say?

Alex
That's not exactly a fair comparison - those two bits of code do two completely different things. A simple room definition in Quest would be created without any scripting at all, so you're comparing some very simple Inform code with some more advanced custom Quest scripting.

I'm not sure what that Quest example is supposed to do, but I do know that any slightly complicated scripting in Inform looks like a mess. For example, a quick search for Inform examples brings me to code that looks like this:


Novice mode is a setting that varies. Novice mode is unset. Stopping novice mode is an action out of world. Starting novice mode is an action out of world. Understand "novice mode off" as stopping novice mode. Understand "novice off" as stopping novice mode. Understand "novice mode on" as starting novice mode. Understand "novice on" as starting novice mode. Carry out stopping novice mode: change novice mode to dead. Carry out starting novice mode: change novice mode to functioning. Report stopping novice mode: say "Novice mode is now off. You may still consult HELP at any time, or use THINK ABOUT specific puzzles." Report starting novice mode: say "Novice mode is now on."


And this is just the same as "normal" programming, but with words instead of punctuation:


To say exit description:
let count of exits be 0;
repeat with way running through directions
begin;
let place be the room way from location;
if place is a discernible room
begin;
increase count of exits by 1;
end if;
end repeat;


(Both examples from http://inform7.com/learn/eg/bronze/source.html)

davidw
Silver wrote:So why does pretty much everyone say that Inform 7 has a steeper learning curve if it's as straight forward as you say?


The basics are very easy, but the learning curve can get harder when you get down to the really complex stuff.

Brian123
Also you can't pick up objects in the room while you are sitting on the chair.

HegemonKhan
again, quest is very powerful, the problem isn't quest, it's us, who haven't made~coded in all of these features~systems, our complaints are at a mirror. More of us need to create~code such systems~features~libraries into~for us to use with quest. We only got a few things in their base form, such as:

Combat;Dialogue;Magic;Equipment;Items;Transportation;Character Creation;and etc stuff that I'm forgetting~leaving out~off.

We need more of us creating stuff for quest publically for us to use~have within quest. Quest is waiting for us to make it reach its potential as a tool for us.

Brian123
Out of interest has anything been added to quest so that Houck speak to characters in the game?

I know it's not possible to add every possible situation that a adventure writer might need in Quest but basic stuff such as the player laying down or sitting down or eventried up could be useful as then you could have the default message 'I can't each that in my position' forcing the player to stand up before moving or getting an object.
In the Adrift program is the player is sitting down and you type the command such as Go West you get a message 'the player stands up and moves west'
How ever I foyer are able to interrupt the Go command in quest then you could add this message.
I wonder if there is a y way to test for a condition and add an action in quest when the player wants to move in a direction.

Brian123

HegemonKhan
if you want such global changes to the built-in stuff:

left pane's 'tree of stuff' ~ lower left corner of quest screen:

Filter -> Show Library Elements -> click the popup box so that it is checked~toggled on -> this reveals all the built-in stuff as light grey text

click on the thing that you want to edit, so it is highlighted (left pane's 'tree of stuff' ), and then on right pane, click on the 'copy' button, ...

and add~remove~edit~alter the Scripts in them that you want

---------

there's also the use of the TEMPLATES too, but this is a bit more advanced~confusing (for me anyways).

--------

as for Commands~Verbs such as 'sit', you'll have to code~script in the conditions yourself. We can help you do this, so let us know if you need help.

-------

P.S.

there's already been posts about the editing the 'go~goto' Command~Verb, search for them, they shouldn't be too hard to find, hopefully. I think there's been a pretty recent post~thread about it too, if I remember correctly... lol

Brian123
Noted thanks HedonKhan.

I don't know Quest works yet so If I make some changes to the built-in stuff then does the change apply to the game I'm working on only or to all future games I program?

Brian123

HegemonKhan
only your current game file will be messed up, if you mess stuff up (that's why Alex implemented the forced 'copy' button, so you don't mess up the quest program itself).

via using the GUI~Editor, you're forced to make a copy, which is what you will edit~alter, but the original stays un-changed. Even if you mess stuff up, you can fix it too for your current game (albiet it's easier to just make sure you back up your game file instead, obviously, instead of trying to troubleshoot the undoing of all the things you might have messed up for your game).

now... if you actually go into the Quest program's "physical" folders (on your computer~c:\programs folder), and change those 'core' files, then your quest program is messed up, and you'll have to re-download quest.

---------

P.S.

it's (spelled) he-ge-mon (no idea how to pronounce it, nor am able to, lol), not he-don-ism, which is quite different, lol
(nor is it a type of pokemon)

hedonism: selfish+unrepsonsible pleasure obsession
~VS~
hegemon: a WARLORD!, hehe :D
hegemony: rule by warlord (~force): the U.S.' hegemony over the world is coming to an end
hegemonic: the world will rue the day that the hegemonic U.S. is no more.

Silver
Keep making new saves - especially if you start doing experimental stuff. so say your game is saved as yourgame1.0.aslx do a save as to yourgame1.1.aslx before tinkering with code so you can always jump back to yourgame1.0.aslx if something goes wrong. I learnt that the hard way.

Silver
davidw wrote:

"Silver"

So why does pretty much everyone say that Inform 7 has a steeper learning curve if it's as straight forward as you say?



The basics are very easy, but the learning curve can get harder when you get down to the really complex stuff.



Anyway, I thought you were staunchly Adrift. Has there been an exodus?

The Pixie
Brian123 wrote:Out of interest has anything been added to quest so that Houck speak to characters in the game?

?

I know it's not possible to add every possible situation that a adventure writer might need in Quest but basic stuff such as the player laying down or sitting down or eventried up could be useful as then you could have the default message 'I can't each that in my position' forcing the player to stand up before moving or getting an object.
In the Adrift program is the player is sitting down and you type the command such as Go West you get a message 'the player stands up and moves west'
How ever I foyer are able to interrupt the Go command in quest then you could add this message.
I wonder if there is a y way to test for a condition and add an action in quest when the player wants to move in a direction.


See this thread, which discusses exactly that:

viewtopic.php?f=10&t=5000

davidw
Silver wrote:

"davidw"

[quote="Silver"]So why does pretty much everyone say that Inform 7 has a steeper learning curve if it's as straight forward as you say?



The basics are very easy, but the learning curve can get harder when you get down to the really complex stuff.



Anyway, I thought you were staunchly Adrift. Has there been an exodus?[/quote]

I gave up with ADRIFT a couple of years back because I disliked the way the system was going and because of how few people still used it. These days, I use Inform 7.

davidw
Alex wrote:That's not exactly a fair comparison - those two bits of code do two completely different things. A simple room definition in Quest would be created without any scripting at all, so you're comparing some very simple Inform code with some more advanced custom Quest scripting.


Okay, fair point. The bit of Quest code was just something I found in another post and felt was a good example of how complicated such code can be. Saying that, even something like

Novice mode is a setting that varies. Novice mode is unset. Stopping novice mode is an action out of world. Starting novice mode is an action out of world. Understand "novice mode off" as stopping novice mode. Understand "novice off" as stopping novice mode. Understand "novice mode on" as starting novice mode. Understand "novice on" as starting novice mode. Carry out stopping novice mode: change novice mode to dead. Carry out starting novice mode: change novice mode to functioning. Report stopping novice mode: say "Novice mode is now off. You may still consult HELP at any time, or use THINK ABOUT specific puzzles." Report starting novice mode: say "Novice mode is now on."


isn't that difficult to get your head around when you take the time to look at it and have a basic understanding of how Inform works (I'm not saying I actually understand everything in that bit of code, but I can grasp what it means). Compared to

 game.carmenu_list = location_list
temp_list = NewStringList()
foreach (o, game.carmenu_list) {
list add (temp_list, o.alias)
}
list add (temp_list, "(Nevermind)")
ShowMenu ("", temp_list, false) {
if (result <> "(Nevermind)") {
got_item = 0
count = 0
foreach (o, game.carmenu_list) {
if (o.alias = result) {
got_item = count
}
count = count +1
}
go_to = ListItem(game.carmenu_list,got_item)
MoveObject (game.pov, go_to)
}
else {
msg ("You decided to not go anywhere")
}
}


it’s actually quite straightforward. As a non-programmer, the Inform code is something I can with time get my head around, whereas I wouldn’t have a clue where to start with the Quest code.

Silver
The Quest code is a piece of piss though. I'm not wanting to get into a pissing contest but can you explain the Quest code you've just put up there and why people would use it in their games?

davidw
No. As I said, I wouldn't have a clue where to start with the Quest code. As a non-programmer, it makes zero sense to me at all.

jdpjdpjdp
Oddly enough, it was the close-but-not-quite English that gave me such a hard time wrapping my head around Inform. I may be in the minority, but figuring out what a "foreach" means and does is easier for me than trying to forget much of what I know about grammar and syntax so I can tailor my writing to Inform's understanding.

Silver
davidw wrote:No. As I said, I wouldn't have a clue where to start with the Quest code. As a non-programmer, it makes zero sense to me at all.


But you've pulled some code (from where?) as an example as to why it's difficult. So it would help to know why you think it's difficult and why you chose that particular bit of code to illustrate the difficulty.

Because anyone can point to this:



As evidence of them not understanding physics. But they still understand what the speedometer of their car indicates.

Brian123
That's the biggest problem these days in creating software that everyone understands but the things are improving.

jaynabonne
jdpjdpjdp wrote:Oddly enough, it was the close-but-not-quite English that gave me such a hard time wrapping my head around Inform. I may be in the minority, but figuring out what a "foreach" means and does is easier for me than trying to forget much of what I know about grammar and syntax so I can tailor my writing to Inform's understanding.

I had a similar problem. I wanted my first room to be called "A balcony". But in Inform, if you say "A balcony is a room", then the name is just "balcony", and I went round and round a bit trying various things before figuring if something so simple couldn't be easily done without some arcane syntax, then where would I go from there? I'm not saying I couldn't figure it out. I just had better things to do. :lol:

jaynabonne
Silver wrote:The Quest code is a piece of piss though. I'm not wanting to get into a pissing contest but can you explain the Quest code you've just put up there and why people would use it in their games?

The code is quite crappy actually. When I have more time, I'll post a form that uses the dictionary variant of show menu that reduces to almost nothing.

(Why people would want to use it: it seems to be a the script for a command which allows the player choose a location to jump to.)

The Pixie
davidw wrote:it’s actually quite straightforward. As a non-programmer, the Inform code is something I can with time get my head around, whereas I wouldn’t have a clue where to start with the Quest code.

I agree that Inform 7 is much easier to read. Is it any easier to write? I very much doubt it is, and I would guess we spend more time writing code than looking at it (that may not be so of libraries - but you need to use Inform 6 for that - or collaborative work).

Silver
jaynabonne wrote:

"Silver"

The Quest code is a piece of piss though. I'm not wanting to get into a pissing contest but can you explain the Quest code you've just put up there and why people would use it in their games?


The code is quite crappy actually. When I have more time, I'll post a form that uses the dictionary variant of show menu that reduces to almost nothing.

(Why people would want to use it: it seems to be a the script for a command which allows the player choose a location to jump to.)



Oh right. I'm going to implement such a system in my game that is simply a UI that lives inside an object (think pip boy from Fallout if you've ever played that) that brings up a map and then some commands that just move player object to. As the game progresses and new areas are discovered I merely swap the object they're carrying to the updated one.

davidw
jaynabonne wrote:

"jdpjdpjdp"

Oddly enough, it was the close-but-not-quite English that gave me such a hard time wrapping my head around Inform. I may be in the minority, but figuring out what a "foreach" means and does is easier for me than trying to forget much of what I know about grammar and syntax so I can tailor my writing to Inform's understanding.


I had a similar problem. I wanted my first room to be called "A balcony". But in Inform, if you say "A balcony is a room", then the name is just "balcony", and I went round and round a bit trying various things before figuring if something so simple couldn't be easily done without some arcane syntax, then where would I go from there? I'm not saying I couldn't figure it out. I just had better things to do. :lol:



You would put

A balcony is a room. Printed name is "a balcony".

Silver
This is like those fanboi threads that my mother warned me about.

davidw
Why are you acting like this is a personal attack on you? It's not. It's just some people discussing various IF systems and their respective strengths and / or weaknesses.

Silver
.

Alex
Don't make me lock this, people have been posting intelligent things up until now.

davidw
Silver wrote:Is that directed at me? Your past conduct here and elsewhere demonstrates that you're hostile towards Quest. If you don't like getting flak yourself I suggest you wind your neck in.


Of course it's directed at you and your strange comment about the fanboi threads your mother warned you about. You seem to be taking things way too personal, although I can't for the life of me think why.

Silver
Have you never read mac vs pc threads online? Or android vs ios? If not then fair enough you wouldn't get the reference.

Silver
Alex wrote:Don't make me lock this, people have been posting intelligent things up until now.


Apologies.

davidw
Silver wrote:Have you never read mac vs pc threads online? Or android vs ios? If not then fair enough you wouldn't get the reference.


I think there's a world of difference between that kind of thing and me pointing out that, as a non-programmer, I find the natural language approach of Inform 7 a lot easier to get to grips with than the coding of Quest. But each to their own. I'm not trying to convert anyone here.

Silver
I haven't tried Inform and whilst it looks straight forward (going by your example script) it seems pretty long winded. Also despite me being a non coder my brain soon deciphered the logic that Quest expects. Plus I've wanted to learn JS for a number of years - which can be used in Quest - so it helps further that ambition too.

jaynabonne

You would put

A balcony is a room. Printed name is "a balcony".



David, I was sure there was a simple answer. (I had tried: "A balcony" is a room.) But it gets back to The Pixie's point: Inform is undeniably easier to read, but when it comes to writing, you still have to learn the specific sequence of words to use to make it work. I'm sure for someone who is not so techie/programmery, the syntax will be easier to remember - but it is still a syntax. It's easier to take in being English-like, but being only English "like", going from nothing to getting up and running still requires learning the lingo. So, in the end, it became just another damn language to learn. :lol: Which didn't appeal to me at the time without some sort of payoff.

I'm sure Inform is a great system, and lots of truly impressive games have been made with it. I know I'm impressed with its English-like syntax. Perhaps I'll try it again someday, if I can find a reason, but for now, I have other fish to fry. :)

Silver
Like html wanting color and center lol.

davidw
The “natural language” of Inform 7 is only natural to a degree. At heart, it’s a programming language like Inform 6 just with a fancy frontend that hides away all the nasty code and is much easier to understand. The basics – creating a series of rooms, putting some objects in them, etc – you can pick up within a few minutes, but to get the most out of it you really need to sit and read through the whole manual.

jdpjdpjdp
My issue was less with building a world than with making it work. Inform has its commands built in with a set of rules. Changing how a command works means changing the rules, and adding a new command means creating it and then setting up all the rules. This is true of Quest as well, of course, but Quest also has verbs, which takes the concept of the command and simplifies it in a way Inform doesn't allow for; specifically, it takes the onus off the command to make decisions about behavior and puts it into the object being acted upon, which allows for maximum customization with minimal writing.

But yeah, it's all about personal preference. As I said in my first post in this thread, both systems have things they do more smoothly than the other. I just happen to find it easier to get the things Inform does "better" to work in Quest than to get the things Quest does "better" to work in Inform.

Silver
I think what works well with Quest - or has for me - is that the GUI eases you into understanding the game logic but also lets you peek at what underlying code that produces which then eases you into working purely with the game code. The only problems I've had really have been to do with getting audio to work how I want. But that's not Quest's fault really, html is only making it possible of late. Plus I'm pushing it beyond the features offered.

This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums