CYOA Library Question (cyoa.asxl)
Deckrect
16 Jun 2016, 02:08I guess this question should be directly sent to The Pixie, however i feel it is not polite to send her (or him) a direct massage without a proper invitation. Also, perhaps other community members may add some advice or point interesting details.
As i am not good on coding and also consider myself new at Quest, once i never completed a project, but only researched about the possibilities on executing them.
I am more fond of using Game books, but i decided research on Pixie's and HegemonKhan's advice and became really clear the lots of advantage i may have working on Text Adventures looking as a Game book. I already downloaded the CYOA library and added it to my current "project research", but never risked going to the "Page" tab and marking "yes" to the question "Is a page?" because i do not understand all the implications of doing so.
Finally, comes the main question: What changes on an object/room if i decide to turn it into a page using the CYOA.aslx? May someone list the changes it makes to the game? Is there any sort of documentation i could consult? Actually, i am a little concerned on using the page option because now i am understanding how Quest works and how use rooms as pages in some sense and i fear using this option may change things radically to a point where i must rethink and understand again all mechanisms i planned using.
Complementary, i would like asking is someone may tell me why Text Processor's commands are not all working on Room descriptions. i tried using hyperlinks such as {object:name} or {object:name:link text} or even {exit:name} and none is working properly. As an example, the first one - {object:name} - is only displaying the object's name, but not creating a hyperlink as desired.
Thanks in advance, people!
As i am not good on coding and also consider myself new at Quest, once i never completed a project, but only researched about the possibilities on executing them.
I am more fond of using Game books, but i decided research on Pixie's and HegemonKhan's advice and became really clear the lots of advantage i may have working on Text Adventures looking as a Game book. I already downloaded the CYOA library and added it to my current "project research", but never risked going to the "Page" tab and marking "yes" to the question "Is a page?" because i do not understand all the implications of doing so.
Finally, comes the main question: What changes on an object/room if i decide to turn it into a page using the CYOA.aslx? May someone list the changes it makes to the game? Is there any sort of documentation i could consult? Actually, i am a little concerned on using the page option because now i am understanding how Quest works and how use rooms as pages in some sense and i fear using this option may change things radically to a point where i must rethink and understand again all mechanisms i planned using.
Complementary, i would like asking is someone may tell me why Text Processor's commands are not all working on Room descriptions. i tried using hyperlinks such as {object:name} or {object:name:link text} or even {exit:name} and none is working properly. As an example, the first one - {object:name} - is only displaying the object's name, but not creating a hyperlink as desired.
Thanks in advance, people!
HegemonKhan
16 Jun 2016, 03:22I don't know Pixie's hybrid library, but I'm guessing that Pixie has it set up, that by choosing to set it (an Object) as a 'page' Object, that it'll work like it does in the actual GameBook, the page declaration, allows you to do 'page linking' as you normally would do in the actual Gamebook, at least I'm assuming this is what Pixie has done, lol. I don't know Gamebook that well, but I don't think the 'page' Objects do anything else, aside from the 'page linking' capabilities. Otherwise, if you leave it non-declared, I'm assuming again you have all of the capabilities as you normally do of Objects in the actual Text Adventure. The 'page linking' capability is the main difference between Text Adventure and Game Book, aside from the much more limited capabilities of the Game Book (as a CYOA doesn't need/use all of the RPG-like capabilities that a Text Adventure has/needs).
that said, wait for the actual-correct response from Pixie him self/her self, lol
that said, wait for the actual-correct response from Pixie him self/her self, lol
Deckrect
16 Jun 2016, 03:43That is fair enough. When you press the "yes" to the page section, it adds a place for text and a place for scripts just below it. But i suppose there are other hidden things happening i just cannot identify!
So far, during the tests phase, i added the aslx but i am doing good following some previous advices from you both such simply treating exits as if the page links. As i have very few experience on Quest, i am having to decide a few obvious things like if "create automatically room description" or not. lol
Honestly, I disagree when people put the gamebook modality as opposite to RPGs. Everything i plan doing to a gamebook is strongly related to the original tabletop RPG and i decided going on gamebooks insted of Text Adventures ecxactally because the strong narrative ties. RPGs are not about having randomness against attributes. it is about taking a role.

So far, during the tests phase, i added the aslx but i am doing good following some previous advices from you both such simply treating exits as if the page links. As i have very few experience on Quest, i am having to decide a few obvious things like if "create automatically room description" or not. lol
Honestly, I disagree when people put the gamebook modality as opposite to RPGs. Everything i plan doing to a gamebook is strongly related to the original tabletop RPG and i decided going on gamebooks insted of Text Adventures ecxactally because the strong narrative ties. RPGs are not about having randomness against attributes. it is about taking a role.
The Pixie
16 Jun 2016, 09:43Reading between the lines, it sounds like you have a set of rooms that define the geography of your game world, but you want to offer the player a gamebook style interface. I am not sure how easy that will be; generally CYOA has no world model as such. I am not saying it cannot be done, but it would be complicated.
What you will need to do is create a whole new set of rooms that you set to be pages, so some rooms are really rooms in your game world, and other rooms are actually pages. As you say, there will be stuff going on in the background (I think the room description is used for the page text, for example), so setting a room that is a room to be also a page is unlikely to work (I cannot find the library anywhere, so cannot check; where did you find it?).
You can move rooms inside of rooms; you may find it convenient to put all the pages in one room, or all the real rooms in one room.
Have you considered doing a text adventure, but disabling the command bar, and have the player do everythuing via the pane at the right? It might fit with the world model better.
What you will need to do is create a whole new set of rooms that you set to be pages, so some rooms are really rooms in your game world, and other rooms are actually pages. As you say, there will be stuff going on in the background (I think the room description is used for the page text, for example), so setting a room that is a room to be also a page is unlikely to work (I cannot find the library anywhere, so cannot check; where did you find it?).
You can move rooms inside of rooms; you may find it convenient to put all the pages in one room, or all the real rooms in one room.
Have you considered doing a text adventure, but disabling the command bar, and have the player do everythuing via the pane at the right? It might fit with the world model better.
Deckrect
16 Jun 2016, 15:51I got the library viewtopic.php?f=10&t=4727&p=31115&hilit=cyoalib#p31115!
However, the library is installed into the game but i am not using it resources yet (or not fully, i guess). I am doing just as you supposed: using rooms as if pages and placing text in room description area, exits performing as page links, command bar disabled and most of the player's interaction happening using the right panel. Doing this way is so far making me very happy, as i am able to gather good things from the gamebook style and text adventure resources.
However, i got curious to know what happens when turning a room into a page. What could i get and what could i lose.
The more i work on the project, the more i get pleased with Quest. However, it is a slow process because more achievements i get, more daunting i get and invent more complex things to put on. It holds me on working about the story itself, but at other hand creates a solid base for whatever i write, be for this very project, be it for future projects.
By the way, i was wondering if i could make a button may be used only once at each room. i suppose there is, because this is Quest engine. But i wonder if it would not end too complex for me handling it.
However, the library is installed into the game but i am not using it resources yet (or not fully, i guess). I am doing just as you supposed: using rooms as if pages and placing text in room description area, exits performing as page links, command bar disabled and most of the player's interaction happening using the right panel. Doing this way is so far making me very happy, as i am able to gather good things from the gamebook style and text adventure resources.
However, i got curious to know what happens when turning a room into a page. What could i get and what could i lose.
The more i work on the project, the more i get pleased with Quest. However, it is a slow process because more achievements i get, more daunting i get and invent more complex things to put on. It holds me on working about the story itself, but at other hand creates a solid base for whatever i write, be for this very project, be it for future projects.
By the way, i was wondering if i could make a button may be used only once at each room. i suppose there is, because this is Quest engine. But i wonder if it would not end too complex for me handling it.
HegemonKhan
16 Jun 2016, 19:01you can either do it in the Verb's (hyperlinks and buttons) scripting via using such as the:
http://docs.textadventures.co.uk/quest/ ... ttime.html
or your own Attribute counters and setup
---------
you can also add/remove the Verb from its Stringlist Attribute as you want/need:
viewtopic.php?f=18&t=5023 (Pixie's displayverbs/inventory verb library/guide)
viewtopic.php?f=18&t=4953 (pixie's verb library/guide
http://docs.textadventures.co.uk/quest/ ... verbs.html
http://docs.textadventures.co.uk/quest/ ... verbs.html
http://docs.textadventures.co.uk/quest/ ... lists.html
http://docs.textadventures.co.uk/quest/ ... verbs.html
-------
also, don't forget to turn on the Tabs, so you can toggle on/off the various features in the Game Object (global feature toggles) and/or upon the specific Objects' features:
'game' Game Object -> 'Features' Tab -> (toggle them on/off as wanted/need)
'whatever' Object -> 'Room Description' and 'whatever/etc' Tabs -> (toggle them on/off as wanted/need)
http://docs.textadventures.co.uk/quest/ ... ttime.html
or your own Attribute counters and setup
---------
you can also add/remove the Verb from its Stringlist Attribute as you want/need:
viewtopic.php?f=18&t=5023 (Pixie's displayverbs/inventory verb library/guide)
viewtopic.php?f=18&t=4953 (pixie's verb library/guide
http://docs.textadventures.co.uk/quest/ ... verbs.html
http://docs.textadventures.co.uk/quest/ ... verbs.html
http://docs.textadventures.co.uk/quest/ ... lists.html
http://docs.textadventures.co.uk/quest/ ... verbs.html
-------
also, don't forget to turn on the Tabs, so you can toggle on/off the various features in the Game Object (global feature toggles) and/or upon the specific Objects' features:
'game' Game Object -> 'Features' Tab -> (toggle them on/off as wanted/need)
'whatever' Object -> 'Room Description' and 'whatever/etc' Tabs -> (toggle them on/off as wanted/need)
Deckrect
16 Jun 2016, 19:10Oh, boy! You gave a lot to study now! I will take some time looking at it and then i will return what results i got.
Thank you!
Thank you!
HegemonKhan
16 Jun 2016, 19:12I edited my post... I had accidentally Pixie's two libraries reversed... they're now correctly switched/matched with my: (description/name of them)
Deckrect
16 Jun 2016, 19:17By using the first time script, it will work only the first time ever, right? I was looking for something working only one in each room. Just a curiosity, actually. No need to go doing large research to answer this one.
HegemonKhan
16 Jun 2016, 19:24yes, it likely has an internal Boolean/Integer/String Attribute (maybe it uses the built-in 'visited' Boolean Attribute), which is checked in whether it has already been run or not.
which likely has this conceptual internal setup design (using a Boolean Attribute as the indicator/flag for this example):
-------------------------------
it actually probably does use the built-in 'visited' Boolean:
http://docs.textadventures.co.uk/quest/ ... sited.html
firsttime {
msg ("blah blah blah")
} otherwise {
msg ("blah")
}
which likely has this conceptual internal setup design (using a Boolean Attribute as the indicator/flag for this example):
roomX.first_time = false
// ---------
if (not roomX.first_time) {
msg ("blah blah blah")
roomX.first_time = true
} else {
msg ("blah")
}
-------------------------------
it actually probably does use the built-in 'visited' Boolean:
http://docs.textadventures.co.uk/quest/ ... sited.html
each of your rooms, has the built-in 'visited' Boolean Attribute initiially set to 'false' :
roomX.visited = false
// ----------
if (not this.visited) {
msg ("blah blah blah")
this.visited = true
} else {
msg ("blah")
}
Deckrect
16 Jun 2016, 19:29Hmmm... really? Only once each room? huhuhuhahahah! You are making me a monster!
Deckrect
18 Jun 2016, 04:02I may say HK and Pixie are opening my eyes for a lot of fun stuff to be made on Quest. Another topic came to my mind. I realized game books has that beautiful script for "if player seen page " what makes me wonder if text adventures has a "if player been room" script.
I imagine I could set a variable stored as " player.seen " and set as a string list. Every page relevant to be tracked (which would be all of them, if desired) would have a script running to add the room's name to the list. I suppose every script of these should be different, detailing the name of the given room as I cannot imagine a way to make a generic script to do this on every page. Later, when needed to check if player seen a given room, the game checks if the desired room's name is in the string list variable.
But I confess having a script in GUI such as "if player seen room" would be far more comfortable!
I imagine I could set a variable stored as " player.seen " and set as a string list. Every page relevant to be tracked (which would be all of them, if desired) would have a script running to add the room's name to the list. I suppose every script of these should be different, detailing the name of the given room as I cannot imagine a way to make a generic script to do this on every page. Later, when needed to check if player seen a given room, the game checks if the desired room's name is in the string list variable.
But I confess having a script in GUI such as "if player seen room" would be far more comfortable!
The Pixie
18 Jun 2016, 07:59Each room gets a "visited" flag when visited - but prior to that, it does not have the flag at all, so use GetBoolean to test it:
if (GetBoolean(my_cool_room, "visited")) {
Deckrect
18 Jun 2016, 14:02Hmmmm. True. It sounds far more simple than creating a string list as I may store the "visited" to separate rooms having then room.visited flag, room.visited flag and so on, checking the visited flag at the proper object, in this case, rooms.
Thank you, Pixie!
Thank you, Pixie!
The Pixie
18 Jun 2016, 14:09The "visited" flag is set automatically by Quest, so it is better to do it that way.
Deckrect
18 Jun 2016, 14:11Oh, sorry. Now I got it!
So, if Quest already tracks if rooms were visited, why it is not in GUI's menus?
So, if Quest already tracks if rooms were visited, why it is not in GUI's menus?
The Pixie
18 Jun 2016, 15:54Good question. There is a page on the documentation about it, but I have no idea how you wouldever find. And why is it not on all rooms from the start, set to false?
HegemonKhan
18 Jun 2016, 16:37here's the doc link that Pixie is talking about:
http://docs.textadventures.co.uk/quest/ ... sited.html
^^^^^^^^
http://docs.textadventures.co.uk/quest/ ... bject.html
^^^^^^^^
http://docs.textadventures.co.uk/quest/elements/
^^^^^^^^
http://docs.textadventures.co.uk/quest/
^^^^^^^^^
path
--------------------
You and Pixie both raise good questions, but it's not too much nor too difficult scripting work to get it setup in a game.
http://docs.textadventures.co.uk/quest/ ... sited.html
^^^^^^^^
http://docs.textadventures.co.uk/quest/ ... bject.html
^^^^^^^^
http://docs.textadventures.co.uk/quest/elements/
^^^^^^^^
http://docs.textadventures.co.uk/quest/
^^^^^^^^^
path
--------------------
You and Pixie both raise good questions, but it's not too much nor too difficult scripting work to get it setup in a game.
Deckrect
18 Jun 2016, 16:41Oh! Thanks to this forum I currently have 22 Web pages about text adventures open! Hahahaha
HegemonKhan
18 Jun 2016, 16:45I have lots and lots of files of code-samples/libraries/testing-sample-games, as well as many favorited/bookmarked webpages, hehe
build your resources up! it does really help a lot! it's easy to forget stuff or how to do stuff (and posts can get easily lost/buried deep and near impossible to find again), hehe.
build your resources up! it does really help a lot! it's easy to forget stuff or how to do stuff (and posts can get easily lost/buried deep and near impossible to find again), hehe.
Deckrect
18 Jun 2016, 16:48True. There are some posts from you, Pixie and other geniuses I did read once and could never find again.
HegemonKhan
18 Jun 2016, 17:10I'm not good at programming, I've only learned the basics (over ~4 years), thanks to the real genius'es: Pixie, Jay (Jaynabonne), Pertex, and many others (users/moderators) too.