ADRIFT Forum


The place to discuss the ADRIFT Interactive Fiction toolkit

Taking, Undoing, inventory-ing

This forum is the place to learn about and discuss ADRIFT 5. Feel free to mention any bugs you find here, but please also add these to the Bugs & Enhancements list.

Please also refer to the ADRIFT 5 Wiki for more information.

Taking, Undoing, inventory-ing

Postby The0didactus » Tue Sep 04, 2018 6:36 pm

Hello everyone.
I have a laundry list of debugging to do for my game, which is up for IFComp. I am posting three general "problems" here that I have no idea how to fix, because I don't even know why they're happening.


1: take [object] from [object]
This is a generic command in the adrift library which is absolutely critical at a few points in the game. When you issue this command, for example "take the gun from the table" the output is "ok, you take the gun from the table"

I cannot, for the life of me, figure out how to make the game stop saying "ok", it very much disrupts the narration of the game. I know that this task "lives" in the give, take, and drop folder, and is (probably) called "take objects from object"...but I can't actually see the task. OTHER tasks are visible in the library, but not THIS ONE. What am I missing? Is there some other elegant way you can think of to get rid of the "ok" without creating a separate task for each pickup.

2: ADRIFT allows you to "undo" an action. Is there any way to disable that? in this game, very small binary decisions matter...a lot. I don't want players to be able to easily "rewind" and do something again. This is especially true for fatal decisions.

3: I cannot figure out how to alter the game's inventory function. When you type "inventory" the game spits back a list like this: "You have x, y, z, and A". I want to make it say "you have x, y, z, a" because I want to append the inventory description with "and [number] silver bullets" since this is the core gimmick of the whole game. I figured out how to do the last part, but the inventory function still stubbornly prints "you have x, y, z, and A and six silver bullets"


Thanks for your help on any of these.
The0didactus
 
Posts: 48
Joined: Sun Mar 30, 2014 8:20 pm
Points: 10

Re: Taking, Undoing, inventory-ing

Postby David Whyld » Tue Sep 04, 2018 8:08 pm

1. Can't you use a text override?

"ok, you take the gun from the table" overridden with "you take the gun from the table" should work.

Or, a more general override:

"ok, you take" with "you take".

2. Create a task called "undo" with a response "You can't do that." should take care of it. But I'd advise against overriding UNDO like this as it generally doesn't go down well, and unless you're also going to override LOAD and SAVE all people have to do is use them instead.

3. The only way I know of is to create your own inventory command then use it to execute a series of tasks depending on whether you have an item or not. I don't think you'll be able to get ADRIFT to do it exactly like you want, though, not without a lot of work.
David Whyld
 
Posts: 6732
Joined: Sat Dec 18, 2004 5:15 pm
Location: United Kingdom
Points: 25

Re: Taking, Undoing, inventory-ing

Postby saabie » Wed Sep 05, 2018 8:37 am

1. Click on "Find" (Just to the right of the User Function button on the "Home" menu), then enter "take objects from object" in the "Find what" field.
If you now click "Find" it will open the task and you can edit it.
If you click "Find All" it will tell you in which folder the "take objects from object" and "take objects from object (Lazy)" task are (In case they were accidentally moved somewhere else).

3. You could start a new line and print something like "You also have 7 silver bullets" or "There are 7 silver bullets loaded in your gun".
Another option is using .List(Rows) which puts each item on a separate line without using the word "and".
The third (complicated) option is to create a general task that takes an %object% parameter and does nothing but print %object%.Name, and has aggregation turned off on its "advanced" page. The inventory task would then use an action to execute this task and pass "%Player%.Held(False)" to it instead of printing it in the inventory task.
saabie
 
Posts: 905
Joined: Fri Aug 12, 2011 2:07 am
Location: Adelaide, South Australia
Points: 10

Re: Taking, Undoing, inventory-ing

Postby The0didactus » Wed Sep 05, 2018 1:13 pm

David Whyld wrote:1. Can't you use a text override?

"ok, you take the gun from the table" overridden with "you take the gun from the table" should work.

Or, a more general override:

"ok, you take" with "you take".



This, I didn't think of. This will work fine I'm sure.



2. Create a task called "undo" with a response "You can't do that." should take care of it. But I'd advise against overriding UNDO like this as it generally doesn't go down well, and unless you're also going to override LOAD and SAVE all people have to do is use them instead.



This is currently what I'm doing, and I guess it works just fine for the finished thing. Are you suggesting players won't like it? I suppose I'll weigh the pros and cons...

3. The only way I know of is to create your own inventory command then use it to execute a series of tasks depending on whether you have an item or not. I don't think you'll be able to get ADRIFT to do it exactly like you want, though, not without a lot of work.

[/quote]

Irony of ironies, this is exactly what I did in Tingalan, my last game...not worth my time here. I'll probably just take Saabie's suggestion, but if anyone can think of a way to do this, please let me know.
The0didactus
 
Posts: 48
Joined: Sun Mar 30, 2014 8:20 pm
Points: 10

Re: Taking, Undoing, inventory-ing

Postby David Whyld » Wed Sep 05, 2018 1:19 pm

There's been a lot of debate over the years about disabling UNDO and most people seem to be against it. It's down to individual choice, I guess, but the majority don't like it much. It's also kinda pointless disabling it if you allow people to LOAD and SAVE their games, and if you go disabling them as well, you'll definitely end up with disgruntled players.
David Whyld
 
Posts: 6732
Joined: Sat Dec 18, 2004 5:15 pm
Location: United Kingdom
Points: 25

Re: Taking, Undoing, inventory-ing

Postby ralphmerridew » Wed Sep 05, 2018 6:04 pm

Regarding 3:
Possibility 1:
1). Create an object bulletcountobject with printed name "%bullets% bullets". Make sure it's the last object in the game.
2). Change the inventory task to move bulletcountobject to the player, print out the inventory text, then move bulletcountobject out of play.

Possibility 2:
1) create bulletcountobject as above.
2) modify inventory task to store the list of held objects to a variable, add bulletcountobject to the end of that list, then print out that list.

(I can't test either method, but saabie can probably fill in the gaps I glossed over.)
Bloodhounds can make you laugh and cuss in the same breath. They are endearing, faithful, and can sling drool ten feet in any direction. -- Virginia Lanier
User avatar
ralphmerridew
 
Posts: 2545
Joined: Fri Dec 13, 2002 11:56 pm
Location: Missouri
Points: 10

Re: Taking, Undoing, inventory-ing

Postby Lumin » Sat Sep 08, 2018 4:56 pm

If you're going to disable Undo, you're going to want to mention that somewhere in the help or about text along with your reasons for it. Undo is one of those quality of life things ingrained into player expectations and some people do take it hard having it removed.
Currently working on: Nada. Zip. Zilch. [Check this space later.]
User avatar
Lumin
 
Posts: 1818
Joined: Fri Aug 06, 2004 5:48 pm
Location: Texas
Points: 34

Re: Taking, Undoing, inventory-ing

Postby ice_wanted » Tue Sep 11, 2018 8:09 pm

My two cents...
Removing UNDO from a good game, renders it frustrating.
Removing UNDO from a frustrating game, renders it unplayable.
ice_wanted
 
Posts: 92
Joined: Thu Aug 22, 2013 1:12 am
Points: 10

Re: Taking, Undoing, inventory-ing

Postby The0didactus » Wed Sep 12, 2018 4:04 pm

I figured out a solution for the Undo problem. We'll see how players take to it. 3 days until full beta release .
The0didactus
 
Posts: 48
Joined: Sun Mar 30, 2014 8:20 pm
Points: 10

Re: Taking, Undoing, inventory-ing

Postby Lumin » Wed Sep 12, 2018 9:41 pm

Those of us who got addicted to Tingalan will play without Undo happily enough but for a contest with a bunch of old school IF grognards playing it's just as well you avoid such heresy, so I hope your compromise works out.
Currently working on: Nada. Zip. Zilch. [Check this space later.]
User avatar
Lumin
 
Posts: 1818
Joined: Fri Aug 06, 2004 5:48 pm
Location: Texas
Points: 34

Re: Taking, Undoing, inventory-ing

Postby ralphmerridew » Sat Sep 15, 2018 12:02 pm

If you set expectations properly, you can get players to accept an UNDO-less game. (IIRC, players accepted Kerkerkruip because it set up the rules as a roguelike.)
Bloodhounds can make you laugh and cuss in the same breath. They are endearing, faithful, and can sling drool ten feet in any direction. -- Virginia Lanier
User avatar
ralphmerridew
 
Posts: 2545
Joined: Fri Dec 13, 2002 11:56 pm
Location: Missouri
Points: 10


Return to ADRIFT 5.0

Who is online

Users browsing this forum: Google [Bot] and 5 guests

cron