Why I chose Quest
Brian123
01 Feb 2015, 10:06I 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
01 Feb 2015, 13:04jdpjdpjdp
01 Feb 2015, 19:30One 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
01 Feb 2015, 20:24The Pixie
01 Feb 2015, 21:24Silver 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
01 Feb 2015, 21:32The 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
01 Feb 2015, 21:34Alex
01 Feb 2015, 22:05I'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
01 Feb 2015, 22:09Silver 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
02 Feb 2015, 01:00HegemonKhan
02 Feb 2015, 02:20Combat;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
02 Feb 2015, 02:35I 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
02 Feb 2015, 04:44left 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
02 Feb 2015, 05:30I 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
02 Feb 2015, 07:24via 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

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
02 Feb 2015, 07:57Silver
02 Feb 2015, 08:10davidw 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
02 Feb 2015, 08:20Brian123 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
02 Feb 2015, 09:32Silver 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
02 Feb 2015, 21:43Alex 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
02 Feb 2015, 22:33davidw
02 Feb 2015, 22:56jdpjdpjdp
02 Feb 2015, 22:59Silver
02 Feb 2015, 23:10davidw 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
03 Feb 2015, 02:10
jaynabonne
03 Feb 2015, 07:59jdpjdpjdp 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.


jaynabonne
03 Feb 2015, 08:13Silver 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
03 Feb 2015, 08:14davidw 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
03 Feb 2015, 08:25jaynabonne 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
03 Feb 2015, 08:43jaynabonne 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.
You would put
A balcony is a room. Printed name is "a balcony".
Silver
03 Feb 2015, 08:50davidw
03 Feb 2015, 09:35Silver
03 Feb 2015, 09:45Alex
03 Feb 2015, 09:54davidw
03 Feb 2015, 09:58Silver 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
03 Feb 2015, 10:07Silver
03 Feb 2015, 10:08Alex wrote:Don't make me lock this, people have been posting intelligent things up until now.
Apologies.
davidw
03 Feb 2015, 10:17Silver 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
03 Feb 2015, 10:31
jaynabonne
03 Feb 2015, 13:03You 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.

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
03 Feb 2015, 13:44davidw
03 Feb 2015, 14:46jdpjdpjdp
03 Feb 2015, 18:39But 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.