Skip to content
This repository has been archived by the owner on Oct 5, 2023. It is now read-only.

[FEAT] Stop the AI from doing things for your character #228

Open
poperigby opened this issue Dec 30, 2019 · 13 comments
Open

[FEAT] Stop the AI from doing things for your character #228

poperigby opened this issue Dec 30, 2019 · 13 comments
Labels
enhancement New feature or request

Comments

@poperigby
Copy link

🚀 Feature Request

The AI seems to take away control from the player too often. You'll give it a command, and it does things for your character.

@poperigby poperigby added the enhancement New feature or request label Dec 30, 2019
@theParadox42
Copy link

I agree, but I feel this is a problem with the training data, not the code itself.

@flarn2006
Copy link

Isn't this more of a bug report than a feature request?

@poperigby
Copy link
Author

I didn't really know what to label it as, so maybe.

@InconsolableCellist
Copy link

That's a pretty intense ask, as currently the system has no way of deciphering what it's giving you. There's no real game state. That'd be a great thing to add, however

@poperigby
Copy link
Author

Maybe I should open an issue for having an actual game state then. That would do a lot to keep the player in control.

@GatoCreador887
Copy link

One of the key concepts is to not have a specific game state IIRC.

@poperigby
Copy link
Author

Where did you hear that? Not having a game state means you can't have most of the things that make a game fun to play, like an inventory and character stats.

@Herohtar
Copy link

Herohtar commented Jan 5, 2020

@poperigby There cannot be a game state, because it's not really a game; it's a predictive text AI -- you give it some text and it will "predict" (generate) the next X words, similar to repeatedly tapping the middle word in your phone's autocomplete, but a lot more "realistic" because the AI model they based this on was trained using a massive amount of text from all over the internet. The only reason that this version is game-like is because Nick Walton fine-tuned the model by training it using a bunch of text adventure stories, so now the model is more likely to generate text in that format. The "state", as it is, is simply the text of the story so far. (limited to a certain number of words) That's why you can do something like "pull a Tesla 3 out of my pocket and fly it to the moon" and the AI will generally follow -- it has no concept of what is or isn't possible, or inventory, or anything like that; it simply predicts the next "logical" words that follow from that sentence.

@poperigby
Copy link
Author

I understand that, I'm just wondering if it's possible to give the a AI a concept of a game state.

@Herohtar
Copy link

Herohtar commented Jan 6, 2020

That's what I was trying to say -- as far as I know, it's not possible, due to the nature of the AI simply being a glorified predictive text system. You would basically have to build on some kind of parser that scanned the output text for things like "you find a X" and store "X" in some kind of inventory list. Then on the other side, you would also have to parse the user's action text (before actually sending anything to the AI) to see if they were trying to do something with an item, and disallow that action if they were trying to do something with an item they didn't actually have.

It wouldn't be strictly impossible, but I'm not aware of any way that would avoid it being extremely complex to even work slightly well, and it wouldn't be part of the actual AI, but rather a separate system that sat between the AI and the user.

@Sporking
Copy link

Sporking commented Feb 8, 2020

The “/remember” command which is available on at least the iPhone platform (and I don’t know which other ones) can be used in a limited way to keep some state. However, without a “/forget” command, all you can do is add state, while never removing any.

@Sporking
Copy link

Sporking commented Feb 8, 2020

One interesting possibility would be to just autotruncate any generated text at any point where “You “ appears at the beginning of a line.

Another good truncation point would be any doublequoted text at the beginning of a line followed by “ you”. (truncate before the doublequoted text).

These two would catch a lot of the common cases of the AI taking control. The cost would be that some less objectionable forms (“You feel weak.”) might also be truncated, although I suppose some verbs indicating passive actions could be whitelisted (“You feel”, “You see”, “You hear”, etc.)

@OrionFive
Copy link

Yeah, what Sporking said. There should be a whitelist of things that can follow "you". I think it should stop before the first sentence starting with "you", unless it is the first sentence. Because often the AI rephrases the action the player entered, which is cool, but it should stop after that, if it tries to so stuff for the player.
It's also quite annoying if it responds for the player.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants