Artificial Intelligence Personality
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Yay, the possibilities! I also like the structure Counter Arts proposes.
Maybe such a dating sim with an advanced customizable AI might be different from other dating sims in that, just an example, you won't need multiple girls.
These 'talk sessions', such as the 'interview method' suggested, can be used to harvest information about the player's likes and dislikes, and assuming like breeds like (instead of opposites attract), the girl will slowly evolve a personality judged to be most compatible with the human player.
So instead of having to write scenarios for every girl like in a standard dating sim, the scenario will build itself as the engine interacts with the player input. The only thing to do will be to make a lot of accessories for the A.I. girl...change of clothes, hairstyles, even level of fitness, or heck even speech patterns -- to match the player preferences...and most of these accessories may not even be used. But they should form a library of useable objects the A.I. can use down the road.
Yeah, it would be nice if you can suggest to the A.I. "Please say ~uguu, its cute." and then much later when the A.I. is your virtual girlfriend, she keeps spouting "~uguu" at the most opportunistic times.
This type of auto-matching behavior stands in stark contrast with reactonary behavior -- she'll still dump you if you behave like a jerk or totally haven't got a clue, for instance. The trick will be then to sort the variables into those that will enhance the game further on versus those that will cut the game short towards a game over.
Of course the big issue will be that this is not how people usually work...they don't change magically into your ideal someone at your mere suggestions. People do change for the one they love but it takes years of dedication...and it doesn't work for personalities or preferences. One usually likes someone as-is and off-the-shelf.
Maybe such a dating sim with an advanced customizable AI might be different from other dating sims in that, just an example, you won't need multiple girls.
These 'talk sessions', such as the 'interview method' suggested, can be used to harvest information about the player's likes and dislikes, and assuming like breeds like (instead of opposites attract), the girl will slowly evolve a personality judged to be most compatible with the human player.
So instead of having to write scenarios for every girl like in a standard dating sim, the scenario will build itself as the engine interacts with the player input. The only thing to do will be to make a lot of accessories for the A.I. girl...change of clothes, hairstyles, even level of fitness, or heck even speech patterns -- to match the player preferences...and most of these accessories may not even be used. But they should form a library of useable objects the A.I. can use down the road.
Yeah, it would be nice if you can suggest to the A.I. "Please say ~uguu, its cute." and then much later when the A.I. is your virtual girlfriend, she keeps spouting "~uguu" at the most opportunistic times.
This type of auto-matching behavior stands in stark contrast with reactonary behavior -- she'll still dump you if you behave like a jerk or totally haven't got a clue, for instance. The trick will be then to sort the variables into those that will enhance the game further on versus those that will cut the game short towards a game over.
Of course the big issue will be that this is not how people usually work...they don't change magically into your ideal someone at your mere suggestions. People do change for the one they love but it takes years of dedication...and it doesn't work for personalities or preferences. One usually likes someone as-is and off-the-shelf.
- PyTom
- Ren'Py Creator
- Posts: 16096
- Joined: Mon Feb 02, 2004 10:58 am
- Completed: Moonlight Walks
- Projects: Ren'Py
- IRC Nick: renpytom
- Github: renpytom
- itch: renpytom
- Location: Kings Park, NY
- Contact:
To be fair, one of the problems AI has is we keep defining the problem up. Right now, computers can beat any human at chess. They can win the turing test for reasonable amounts of time. They can tell me the best way to drive from my house all the way to unalaska, alaska. They can drive a decent fraction of the way without a human touching the wheel. I can type in a phrase that's in the news, and it can give me relevant articles, clustered and ranked as appropriate.miriam wrote:I think top-down AI will forever be reaching for realistic intelligence, but never quite get there. On the other hand bottom-up AI has made truly amazing strides in less than one decade. "Messy" problems such as navigating a space populated by people and chairs that can be moved, and lighting that changes, are things that are almost impossible for top-down AI, but these are the very kind of things bottom-up AI has had great successes with.
20 or 30 years ago, this would have been AI. Now, it's Deep Blue, Alice, Google Maps, Stanley, and Google news, and in this wonderful world we live in, we take them all for granted.
The problem with "AI" is that we define intelligence in human terms... and we have no idea what that actually means.
(I'm not sure that AI is even a desirable approach to making a dating sim, for much the same reason that we don't randomly generate stories and dialogue for movies.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom(When was the last time you backed up your game?)
Software > Drama • https://www.patreon.com/renpytom
In my country it sure seems that way I mean everyone acts as if they were in a high school impromptu skit. There is no solid direction.PyTom wrote: (I'm not sure that AI is even a desirable approach to making a dating sim, for much the same reason that we don't randomly generate stories and dialogue for movies.)
But you do hit upon something I was thinking off and on. I'll call this project "Virtual Actress".
Basically, you play the role of a movie production head honcho and you have a cast of rising starlets (all A.I. girls).
Your task will be to assign them their roles and take care of their careers as well as make sure the movie doesn't become a total flop.
In the beginning, you just get to know each other, then you practice scenes, soon because of the A.I. they will solidify in personalities and behavior. And then you can better determine who is fit for what roles. You will be able to even do wacky things (such as have affairs with them), but each action carries a behavioral consequence.
The final event will be a final shooting of the movie, by some circumstance the whole script was lost, so they'll have to act out from what they learned from the practice sessions. An ending kinetic novel portion driven entirely by A.I. conversations...that would be cool. And it would be even cooler to see if they actually stick more or less to the original plan or how humanly they deviate from it.
-
- Regular
- Posts: 99
- Joined: Tue Jan 11, 2005 5:09 pm
- Completed: Lady Sugarplum's Bad Day
- Contact:
Minor note: Eliza is from 1966, not the 80s. It's old-skool.
As Miriam correctly noted, human langauges (and not just English, also Korean and all other human languages) are imprecise by computer standards.
There are lots of impossible parsing canards, like "The horse raced past the barn fell" (it's a legal sentence), and "I saw the Grand Canyon flying to New York", and "Time flies like an arrow, fruit flies like a banana." (A good Korean could come up with several examples of their own, and don't get me started on Japanese and its lack of pronouns.)
Human langauges are rife with context usage. So, in the Grand Canyon example above, you can tell that the Grand Canyon wasn't flying to New York, but rather the speaker is flying to New York and sees the Grand Canyon. If you're a computer and didn't know the base human knowledge that canyons can't fly, you can't correctly parse that sentence.
But I digress.
Since the beginning of the 90s, most AI research has been quietly tiptoeing around natural language parsing. If you go to Orbitz and ask for a flight reservation, you don't say, "Computer, I'd like to fly to New York next week." No, you choose a bunch of stuff off a list. Sometimes it does natural language guesses (like when you type in a zip code instead of an airport code), but basically it lets you structure your own query so it can then do lots of cool AI in the SABER databases to find the answer. Oh, sure, they COULD write a natural language understander for it, but they don't because it would be annoying and harder to use than the structured interface they give you.
Even old Infocom games are essentially using structured queries. They could parse fairly difficult sentences, but the sentences all had to be a very particular structure or they weren't understood.
Here's a thought: If you were going to characterize romantic dialog, could you come up with a representation of it that isn't human language? When you present a flower, tell a joke, compliment the lady on her hair, what are you doing? What change are you trying to bring about in the object of your affection?
But I digress again.
In terms of practical, not-too-knowledge-bound uses of natural langauge in games, here are two thoughts:
Eliza (and, by extension, Alicebot, which is just Eliza on steroids) is one totally valid thing to do. Alicebots to me aren't very convincing, but if you restricted your domain to just things in the room between you and your lover, well...you might get somewhere. EA tried this with Majestic and it failed (oftentimes hilariously), but other games have done better. There's an interesting game called Galatea that made a very interesting character you could talk to.
http://www.microheaven.com/IFGuide/IFGu ... step=6&c=3
(search for Galatea.)
Another approach is to be RACTER-like, where RACTER is a program from 1984. RACTER was a raconteur who would basically abscond with the conversation, only occasionally asking for natural language input from the user. RACTER-style approaches to dialog management basically almost completely wrest control from the player, and thus restricts the areas of conversation to things RACTER can talk about, and restrict the questions to ones that the human won't screw up.
http://en.wikipedia.org/wiki/Racter
In modern times, Andy Stern and Michael Mateas made Facade, which was really cool but doesn't scale well to a general tool. They basically organized their plot into conversational "beats", then allowed the player to (sort of) control how these beats were ordered and which ones were triggered. The game has aspects of real parsing (and some neat tricks using Wordnet to catch outliers) and an interestingly RACTER-like conversational management approach, only much more knowlege-driven and context sensitive. It's cool, but, like I said, it is prohibitively expensive in programmer time to create Facade-like games.
Their game still can't talk about the Grand Canyon on a plane, but it doesn't need to, since it knows a lot about the situation at hand. Stern and Mateas are brute-forcing their way through the knowledge-bound restriction by just dumping in all kinds of knowledge.
http://en.wikipedia.org/wiki/Fa%C3%A7ad ... e_story%29
Using a RACTER or ELIZA-like approach, could you build a whole story for someone to explore? What kinds of knowledge would you have to build into the game, and how would you deal with the inevitable randomness you get?
In almost every natural language interface, for example, one must deal with sexual come-ons and whatnot. Julia, a chatterbot at MIT, actually convinced a guy named Barry that she was real. It's hilarious:
http://foner.www.media.mit.edu/people/f ... on3_3.html
But I digress for the last time.
As Miriam correctly noted, human langauges (and not just English, also Korean and all other human languages) are imprecise by computer standards.
There are lots of impossible parsing canards, like "The horse raced past the barn fell" (it's a legal sentence), and "I saw the Grand Canyon flying to New York", and "Time flies like an arrow, fruit flies like a banana." (A good Korean could come up with several examples of their own, and don't get me started on Japanese and its lack of pronouns.)
Human langauges are rife with context usage. So, in the Grand Canyon example above, you can tell that the Grand Canyon wasn't flying to New York, but rather the speaker is flying to New York and sees the Grand Canyon. If you're a computer and didn't know the base human knowledge that canyons can't fly, you can't correctly parse that sentence.
But I digress.
Since the beginning of the 90s, most AI research has been quietly tiptoeing around natural language parsing. If you go to Orbitz and ask for a flight reservation, you don't say, "Computer, I'd like to fly to New York next week." No, you choose a bunch of stuff off a list. Sometimes it does natural language guesses (like when you type in a zip code instead of an airport code), but basically it lets you structure your own query so it can then do lots of cool AI in the SABER databases to find the answer. Oh, sure, they COULD write a natural language understander for it, but they don't because it would be annoying and harder to use than the structured interface they give you.
Even old Infocom games are essentially using structured queries. They could parse fairly difficult sentences, but the sentences all had to be a very particular structure or they weren't understood.
Here's a thought: If you were going to characterize romantic dialog, could you come up with a representation of it that isn't human language? When you present a flower, tell a joke, compliment the lady on her hair, what are you doing? What change are you trying to bring about in the object of your affection?
But I digress again.
In terms of practical, not-too-knowledge-bound uses of natural langauge in games, here are two thoughts:
Eliza (and, by extension, Alicebot, which is just Eliza on steroids) is one totally valid thing to do. Alicebots to me aren't very convincing, but if you restricted your domain to just things in the room between you and your lover, well...you might get somewhere. EA tried this with Majestic and it failed (oftentimes hilariously), but other games have done better. There's an interesting game called Galatea that made a very interesting character you could talk to.
http://www.microheaven.com/IFGuide/IFGu ... step=6&c=3
(search for Galatea.)
Another approach is to be RACTER-like, where RACTER is a program from 1984. RACTER was a raconteur who would basically abscond with the conversation, only occasionally asking for natural language input from the user. RACTER-style approaches to dialog management basically almost completely wrest control from the player, and thus restricts the areas of conversation to things RACTER can talk about, and restrict the questions to ones that the human won't screw up.
http://en.wikipedia.org/wiki/Racter
In modern times, Andy Stern and Michael Mateas made Facade, which was really cool but doesn't scale well to a general tool. They basically organized their plot into conversational "beats", then allowed the player to (sort of) control how these beats were ordered and which ones were triggered. The game has aspects of real parsing (and some neat tricks using Wordnet to catch outliers) and an interestingly RACTER-like conversational management approach, only much more knowlege-driven and context sensitive. It's cool, but, like I said, it is prohibitively expensive in programmer time to create Facade-like games.
Their game still can't talk about the Grand Canyon on a plane, but it doesn't need to, since it knows a lot about the situation at hand. Stern and Mateas are brute-forcing their way through the knowledge-bound restriction by just dumping in all kinds of knowledge.
http://en.wikipedia.org/wiki/Fa%C3%A7ad ... e_story%29
Using a RACTER or ELIZA-like approach, could you build a whole story for someone to explore? What kinds of knowledge would you have to build into the game, and how would you deal with the inevitable randomness you get?
In almost every natural language interface, for example, one must deal with sexual come-ons and whatnot. Julia, a chatterbot at MIT, actually convinced a guy named Barry that she was real. It's hilarious:
http://foner.www.media.mit.edu/people/f ... on3_3.html
But I digress for the last time.
Counter Arts -- interesting idea using the place and objects and people in the game as part of the input to an Alicebot, like the classic text adventure games do. I wonder how that would be done. In some respect it introduces some context... something that is largely missing from chatterbots. It could be used to restrict the conversation in fairly natural ways. Very interesting idea.
My current, and first, RenPy story: A Loving Soul
script: 100% -- scenes: 100% -- character art: 20% -- programming: 20%
(spoilers in the story of the same name on my website)
_ _ _ _ _ _ _
A life! Cool! Where can I download one of those from?
script: 100% -- scenes: 100% -- character art: 20% -- programming: 20%
(spoilers in the story of the same name on my website)
_ _ _ _ _ _ _
A life! Cool! Where can I download one of those from?
DaFool -- It occurs to me that one way you could conveniently excuse some verbal blunders by an Alicebot is to fabricate a backstory that the AI character is foreign and is still learning English.
At first I thought that harvesting a player's likes and dislikes would be really difficult. There are incredible problems in dealing with the sort of common sentences people use in such situations. "Even though I wouldn't like to be with Winona Ryder, I love her acting."-- I doubt a bot would be able to understand that I don't love Winona Ryder. But then, I realised, on thinking more about it, that you could use pointed questions from the bot. ("Do you like sunsets?")
You'd be surprised how quickly people alter to suit the person they're attracted to. I was going out with someone who had mentioned some time back that they hated a certain piece of music that a friend of their's played, yet I noticed that they loved exactly the same CD when listening to it with me. I've noticed the same thing in myself, that falling for someone opens my eyes to many things I would not normally be influenced by. So I think your thoughts on a bot adapting to the player could feel quite natural. But I think you'd still have to be careful to avoid the bot being just reactive.
PyTom -- good point about us constantly redefining AI away. I have to admit that although I find chatterbots intriguing I have no real desire to sit down and tinker with one. My interests lie more in bottom-up AI. I've become distracted by RenPy while working on building a very simple creature that learns how to stand up, walk, and move on its own. (More on that another day.)
At first I thought that harvesting a player's likes and dislikes would be really difficult. There are incredible problems in dealing with the sort of common sentences people use in such situations. "Even though I wouldn't like to be with Winona Ryder, I love her acting."-- I doubt a bot would be able to understand that I don't love Winona Ryder. But then, I realised, on thinking more about it, that you could use pointed questions from the bot. ("Do you like sunsets?")
You'd be surprised how quickly people alter to suit the person they're attracted to. I was going out with someone who had mentioned some time back that they hated a certain piece of music that a friend of their's played, yet I noticed that they loved exactly the same CD when listening to it with me. I've noticed the same thing in myself, that falling for someone opens my eyes to many things I would not normally be influenced by. So I think your thoughts on a bot adapting to the player could feel quite natural. But I think you'd still have to be careful to avoid the bot being just reactive.
PyTom -- good point about us constantly redefining AI away. I have to admit that although I find chatterbots intriguing I have no real desire to sit down and tinker with one. My interests lie more in bottom-up AI. I've become distracted by RenPy while working on building a very simple creature that learns how to stand up, walk, and move on its own. (More on that another day.)
It probably depends on how it is done. I'd be interested in seeing the result. If the conversation could be controlled it might work really nicely. Such randomness might not suit everybody, but then what does? When I play RPG games I tend to simply explore the landscape till I run out of credits/energy/etc. My friends think that is dumb and boring, whereas I think fighting each other in endless, pointless battles is boring.I'm not sure that AI is even a desirable approach to making a dating sim
My current, and first, RenPy story: A Loving Soul
script: 100% -- scenes: 100% -- character art: 20% -- programming: 20%
(spoilers in the story of the same name on my website)
_ _ _ _ _ _ _
A life! Cool! Where can I download one of those from?
script: 100% -- scenes: 100% -- character art: 20% -- programming: 20%
(spoilers in the story of the same name on my website)
_ _ _ _ _ _ _
A life! Cool! Where can I download one of those from?
...and on a similar note, I'm not sure it would necessarily be wise even if it were plausible to prepare an AI (fake or otherwise) which responded belivably within the context and also stuck to a pre-determined plot and character. Basically, I think it would freak a notable proportion of players out.PyTom wrote:(I'm not sure that AI is even a desirable approach to making a dating sim, for much the same reason that we don't randomly generate stories and dialogue for movies.)
Consider: People don't like being embarrassed, and romantic affairs are naturally more likely to be embarrassing to most people than - say - shooting aliens. Will a person who will happily select the cheesy line that someone else has written as a dialogue option still choose to type the same line when given a free text input? Will they feel comfortable consciously chatting up an AI? To borrow a little from psychology, if one is clicking through dialogue options one can easily form the model that one is an agent of the story, and as such any embarrassing thing that the protagonist of the story does is not the player's responsibility, he merely facilitates rather than drives it. On the other hand, a free text input gives the player far more of a driving feeling, no longer is he anyone's agent but rather a controller himself, which gives him responsibility.
Not to mention that people also typically dislike being judged and/or rejected, and it's probably easier to dismiss a multiple-choice path leading to a rejection than it is a free-text one... and probably easier to dismiss being rejected by a pre-determined script (the action of the human being who assembled the game) than by an AI. In this respect, you might find that the more convincing the AI the more of a problem it became - the uncanny valley of ren'ai?
Server error: user 'Jake' not found
-
- Miko-Class Veteran
- Posts: 649
- Joined: Fri Dec 16, 2005 5:21 pm
- Completed: Fading Hearts, Infinite Game Works
- Projects: Don't Save the World
- Organization: Sakura River
- Location: Canada
- Contact:
Well, I have a feeling that people got too caught up in complex stuff when they were researching this stuff.miriam wrote:Counter Arts -- interesting idea using the place and objects and people in the game as part of the input to an Alicebot, like the classic text adventure games do. I wonder how that would be done. In some respect it introduces some context... something that is largely missing from chatterbots. It could be used to restrict the conversation in fairly natural ways. Very interesting idea.
How to input it? Well how does humans get input? Their five senses! Now we can oversimplify it for dating game needs.
........oh crud. I have a very bad feeling about this.Very interesting idea.
Exactly what other methods have been tried to introduce context?
So many leads! I also have to check out the Galatea pointed out by Mr. Sulu.
Time to break up the feasibility study into manageable portions for the very distant future.
First step is to get a working chatterbot in Ren'Py with anime expressions on her face. The trick will be how to assign an emotional state to the sentences she spouts. To make it even more appealing it would be a good idea to rip some voices from anime...i.e. grunts like "kyaaa or nyuu or uguu or ~dearimasu" and have the chatterbot grunt cutely now and then.
To make it even more interesting and to follow along the more object-oriented stimulus, items will be placed on the interview scene and have the chatterbot respond to them.
For example...
taste_spaghetti
taste_apple
sound_sportscar
sound_doorbell
smell_perfume
sight_hairyotaku
These stimuli can either be manually entered or else compiled prior to runtime (maybe even as images) and can be used during the course of the conversation.
During periods of slow activity, an animation can play showing the chatterbot twiddling her thumbs, picking her nose, etc.
If these tests are successful, then we'd have a virtual pet desktop girlfriend mascot...every otaku's dream!
Time to break up the feasibility study into manageable portions for the very distant future.
First step is to get a working chatterbot in Ren'Py with anime expressions on her face. The trick will be how to assign an emotional state to the sentences she spouts. To make it even more appealing it would be a good idea to rip some voices from anime...i.e. grunts like "kyaaa or nyuu or uguu or ~dearimasu" and have the chatterbot grunt cutely now and then.
To make it even more interesting and to follow along the more object-oriented stimulus, items will be placed on the interview scene and have the chatterbot respond to them.
For example...
taste_spaghetti
taste_apple
sound_sportscar
sound_doorbell
smell_perfume
sight_hairyotaku
These stimuli can either be manually entered or else compiled prior to runtime (maybe even as images) and can be used during the course of the conversation.
During periods of slow activity, an animation can play showing the chatterbot twiddling her thumbs, picking her nose, etc.
If these tests are successful, then we'd have a virtual pet desktop girlfriend mascot...every otaku's dream!
You'd just need to get into that special mindset that you're hitting on a mentally challenged girl (since the AI will probably have a lot of strange reactions), and well... perhaps it would work as a dating sim.PyTom wrote:I'm not sure that AI is even a desirable approach to making a dating sim...
Wow, that is actually one very disgusting theory.
Yes, it's not going to be much different from the current bishoujo game girl offering. I mean come on...the girls of Air and Kanon are pretty retarded if you ask memikey wrote:You'd just need to get into that special mindset that you're hitting on a mentally challenged girl (since the AI will probably have a lot of strange reactions), and well... perhaps it would work as a dating sim.
Wow, that is actually one very disgusting theory.
I'm just shooting ideas here...
How about a Vulcan dating sim? Or maybe Klingon, Borg, any of the other Star Trek languages... or any logical alien language.
That way, the human and the A.I. will be forced to interact in a foreign ruleset, which will conform their interactions tremendously.
I have so much more to read and so many things to try out, but I am seriously considering starting a project of this sort once I've bumped a few work-in-progresses off the queue.
How about a Vulcan dating sim? Or maybe Klingon, Borg, any of the other Star Trek languages... or any logical alien language.
That way, the human and the A.I. will be forced to interact in a foreign ruleset, which will conform their interactions tremendously.
I have so much more to read and so many things to try out, but I am seriously considering starting a project of this sort once I've bumped a few work-in-progresses off the queue.
Here's (a less sick) theory on the AI game.DaFool wrote:... but I am seriously considering starting a project of this sort once I've bumped a few work-in-progresses off the queue.
It seems to me that it's actually a superb idea when you first hear about it. It still is great to talk about it, and I'm very much sure it will be a fascinating thing to program and figure out how to do what. But - will it be just as rewarding to play?
I find this interesting because also to me the concept is very inspiring. I could see myself wondering about it and trying to come up with clever ways of doing things - sort of like a boy with LEGO, it's constant reworking and tweaking, and that what makes it so fun to BUILD. Once done though, it's hardly as interesting.
Maybe this wasn't the best example, but I could see that (bluntly said) I would have more fun creating an AI dating sim than others would have playing it.
Noemi : I, like... uh... don't understand, like, what you're saying... like, totally.hitting on a mentally challenged girl
...
Noemi : I, like, don't... remember, like, what you were just saying. I'm like, totally gomen!
Now, all we need is a randomized "like" and "totally" and "..." adding routine
Here's a good idea ô_o... The player wouldn't think "haha, stupid AI!", but actually be touched by her malfunctioning.What if you made a game about trying to design and teach an android?
But again... for this to be effective, maybe it would be better if it was *scripted* ^^;...
Who is online
Users browsing this forum: No registered users