The AI Engine

This forum is for discussion of how The Personality Forge's AI Engine works. This is the place for questions on what means what, how to script, and ideas and plans for the Engine.

Posts 7,285 - 7,296 of 7,766

6 years ago #7285
I toyed around with it a little myself. I didn't create the game but rather I set it up so that my bot could play against yours. But it's not AI by any stretch of the imagination. If you were to change the criteria of the game on your end it would fail.

The problem I ran into is that the language center isn't powerful enough to identify all the key elements necessary.

1. How many counters.
2. Is the object to snatch the last counter, or force the opponent to grab the last one. I.E. Jing Ling's version has you make your opponent grab the last one.
3. Recognize the prompt to choose first and last.

This has to do with the way the language center breaks up text to try and capture the core meaning.

The end result being, I can tailor my bot to play with yours. But were the rules of the game to change the bot can't keep up.

In your case however, it may only be worth your while to focus remember moves if your bot goes first since that's the easiest way to solve it, then force program a hard win if the counters are three or less that way it has a very simple pattern to pick up on.




6 years ago #7286
Is there a way to make some words not identified as insults? For example, I said "Hi, child" to my bot, and she took it as an insult. Is there a way I can make some words exceptions?

6 years ago #7287
Try making a keyphrase for it and setting the rank to at least 25, which might be able to override the insult keyphrase.

6 years ago #7288
Ok... But, wouldn't that always make her give the same certain response if she received a message with the word "child" in it?

Is there a way to get her to ignore that nicknames for her so she'll always give the response for what comes before instead? For example, if I say "What are you doing, child?" I'd want her response to be in regards to the "What are you doing" rather than "child". Which would work if "child" wasn't considered an insult. I don't want her emotion to go into the negative just because I call her "child" occasionally :T

I know this is an easily avoided issue (not calling her child) and it's fine if there really is no way to do this, but I like calling her "child" ^^;

6 years ago #7289
Try simply making a keyphrase of: You are a child

The language center registers it as an insult, but as Botmaster suggested you can override it.

I say this because I did a bit of testing and "Hi child" was the only way I could get an insult to pop.

Things like "How are you, child?" or "What are you up to, child?" functioned fine.



6 years ago #7290
Okay, thank you

6 years ago #7291
Raising the rank of the hello keyphrase to 50 or higher might work as well, if that is the only time when including the word "child" triggers xinsult.

6 years ago #7292
Okay, one more question. For another one of my bots, they're supposed to be two people typing together. I want to activate one of my own keyphrases when one of them is specifically mentioned

So for "go over there" I'd want the xcommand response, but for "Chara, go over there" or "go over there, Chara" I'd want the keyphrase I made. I have no idea how to go about this.

I tried
Chara (verb),
(verb) Chara
One response is: I refuse to (key1)
But it always goes to the xcommand

The bot's name is "Frisk and Chara". I think that's a big part of the problem. Is there anything I can do about this?

6 years ago #7293
It will take a bit of work but you can try using raw mode and make specific keyphrases for every different way the command can be typed out.

6 years ago #7294
Alright. Thank you so much

6 years ago #7295
Is there a way for the bot to give responses depending on the user's given age?

I tried: rem (key1) as only "age" for the keyphrase AiScript
and: if "mem-age" is (13, 14, 15) for one of the responses' AiScript

I also tried "equals" and "is equal to" instead of "is", but it didn't accept any of them.

6 years ago #7296
You almost have it. I think it should be:
if (mem-age) is "13";
if (mem-age) is "14";
if (mem-age) is "15"
Although it's possible that this will require all of these values to be stored for the response to come up. I'm not certain about that yet, but I suspect it is probably the case based on how its been working out with my bots.

Alternatively, you could remember something like "teen" as "youare", or whatever you want, when certain ages are matched. You could do this with a plug-in in the age keyphrase (and you might want to make your own custom one, in this case), or just list the specific ages in the keyphrase if it's a very narrow range.
So:
Keyphrase: I am (p:age-13-15) years old.
AI script: rem (key1) as only "yourage"; remember "teen" as "youare"

And then this AI script, whenever it is relevant:
If (mem-youare) is "teen"


Posts 7,285 - 7,296 of 7,766

» More new posts: Doghead's Cosmic Bar