Artificial Intelligence Personality

A place to discuss things that aren't specific to any one creator or game.
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Message
Author
User avatar
Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Artificial Intelligence Personality

#46 Post by Jake » Wed Mar 05, 2008 12:08 pm

PyTom wrote: While I guess one could have a bot come up with _story_ and _dialogue_ rather than just _conversation_, I'll point out that the number of humans who could come up with a really good story in realtime is quite small.
I would certainly agree so far as one is talking about a 'general'/'strong' AI; if you'll excuse the metaphor-mixing, it's using a sledgehammer to force a square peg into a round hole. That is to say, using a far-too-powerful tool for totally the wrong problem.

However, I'd suggest that if trained/constructed by people who put a lot of thought into story structure and motifs and so on, it might well be possible to write a decent AI-style expert system which can piece together decent stories. The question is whether it would then be worth it, since you'd have to set fairly strict parameters if you were to write for it, and thus you might as well use a lighter system and some trial and error...
Server error: user 'Jake' not found

Doc_Odd
Regular
Posts: 40
Joined: Sun Mar 25, 2007 7:53 am
Contact:

Re: Artificial Intelligence Personality

#47 Post by Doc_Odd » Wed Mar 05, 2008 12:46 pm

It seems to me that there is a lot of potential in just building on the model of point-based games, at least so far as giving the player the feeling of dealing with an intelligence (and maybe not actually being completely frivolous as far as getting closer to AI). Just make the way the points change the response options and the NPCs actions more sophisticated; have more of the points that you keep track of interact one another, build in responses to obvious ways to "game" the points (using whatever the obvious reason is why nobody would act that way in real life, and building things like that happening in the game), and so forth. A lot of work, but surely less than trying to build a totally general AI from the ground up, and over time you can try to make whatever codes and tricks you come up with more general and re-use them for other characters and such.

At least, this is what I'm trying to do, when I do any work on my game, which unfortunately I haven't for months. Must get back to that.

User avatar
miriam
Regular
Posts: 46
Joined: Fri Mar 30, 2007 6:41 pm
Location: Australia
Contact:

Re: Artificial Intelligence Personality

#48 Post by miriam » Wed Mar 05, 2008 7:21 pm

I gotta agree with PyTom that the human intelligence of the writer is a far more potent thing than the insect-like intelligence of current AI efforts, but at the same time I see AI as just another tool that a good writer might be able to use. As chronoluminaire mentioned, even small changes in the story structure can have a nice effect.

It seems to me that the real problem is how to use it to best effect. The greatest danger is falling into the common Hollywood special effects trap of using a technology for its dazzle value and forgetting about the story, but if we can use AI (no matter how unintelligent it is) to enhance that story then that can be a step forward. Those who explore this area have to be prepared to make lots of mistakes, but will stumble across some really neat things too, the way explorers always do.

My renpy story "A Loving Soul" has been paused for several months as a lot of important stuff in my life was being dealt with. Hopefully I'll have more time to get back to it shortly. It doesn't feature AI in its construction -- it is a really simple story. But this thread did get me thinking more about how a character could still be interesting if its speech and thinking were damaged and I ended up writing "Selena City" a story in which one of the main characters starts out like that. Only the first chapter features the damaged character, and I'm still writing the final 2 chapters before I go back and revise the whole thing (it needs a lot of rewriting), but anyone who is interested can read it here:
http://miriam-english.org/stories/selena/index.html
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?

Koichi
Newbie
Posts: 4
Joined: Wed Mar 05, 2008 8:02 am
Contact:

Re: Artificial Intelligence Personality

#49 Post by Koichi » Thu Mar 06, 2008 1:32 am

Uh, guys/ladies, you don't really seem to like AI that much. :)
But I still think of a way how it can be applied yet saving the original game's idea.
For example, when a player is into an episode, where he/she has to deal with some NPC in a predefined way (like it's in most of the games), then it's ok NPC to follow the rules and behave in a predefined way.
But when NPC has done its part (told/done everything it was supposed to), why not to switch it into something similar to AI? It would be handy just to keep them from repeating the same sentence like "I've told you everything for today! Come tomorrow".
Instead it might reply with something like "Yes, I see you've got what I mean. So, why don't you..." and then anything that might be useful, like notices or reminders or tips to the player, based on what's reached and what's not.
Or the player might want to talk about anything else, when the primary task (behaving predefined) is done...
This way, the original idea will be saved, but the game will become looking out of borders...

Hasn't anybody got intrested by Artificial General Intelligence?

User avatar
Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Artificial Intelligence Personality

#50 Post by Jake » Thu Mar 06, 2008 12:03 pm

Koichi wrote: Uh, guys/ladies, you don't really seem to like AI that much. :)
Me, I love AI. I think it's one of the most exciting parts of current software research. I just don't think it's really that applicable to the visual novel - or, for that matter, that directly applicable to storytelling in general.

Specifically:
Koichi wrote: But when NPC has done its part (told/done everything it was supposed to), why not to switch it into something similar to AI? It would be handy just to keep them from repeating the same sentence like "I've told you everything for today! Come tomorrow".
Instead it might reply with something like "Yes, I see you've got what I mean. So, why don't you..." and then anything that might be useful, like notices or reminders or tips to the player, based on what's reached and what's not.
Firstly... well, this situation just doesn't crop up in VNs, typically. The player's control over the flow of the story is much more general, it's not like an RPG where one can keep walking into the same house to recieve the same dialogue over and over again; if an NPC has nothing more to contribute to the story, then they'll simply not appear in it again.

Secondly, if one were to create a game where it was possible to keep talking to the same NPC indefinitely - say a stereotypical JRPG - then that character would need so much setup in terms of believable character-specific world knowledge (random villager #67 doesn't know about the other side of that hill over there, let alone world affairs, but the tax auditor in the king's castle can tell you a lot about random villager #67) opinions and perspective and so on that you might as well just write a hell of a lot of dialogue yourself and hope the player gets bored before he runs out of it.

Thirdly, general/strong AI really isn't anywhere near the point where it can maintain a proper believable conversation with a human being, let alone in-character. It's just not that good yet. Give it a bunch of sentence structures and knowledge factoids and an expert system designed for that one very specific task can work OK, but then - again - you're doing just as much writing as you'd have to without the AI, to get probably more-formulaic answers. This is the chat-bot approach.
Server error: user 'Jake' not found

User avatar
PyTom
Ren'Py Creator
Posts: 15662
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:

Re: Artificial Intelligence Personality

#51 Post by PyTom » Thu Mar 06, 2008 12:48 pm

I'll also add on that it may be a meta-level feature that Random Villager #67 eventually runs out of interesting things to say. I mean, one of the things you do in a JRPG is to go around pumping NPCs for information. Once they start repeating themselves, you know you can move on to the next NPC.

In games, realism is generally a mis-feature.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
miriam
Regular
Posts: 46
Joined: Fri Mar 30, 2007 6:41 pm
Location: Australia
Contact:

Re: Artificial Intelligence Personality

#52 Post by miriam » Thu Mar 06, 2008 7:36 pm

I'm greatly in favor of AI. Most of my work has been in building 3d virtual worlds and I have spent a lot of time working on ways to apply AI to characters in stories set in those worlds. 3d work seems to have fallen off for me lately so I've been exploring other things in the course of which I stumbled across RenPy, which excited me more than anything I've seen in recent years. Its ease of use and open-endedness make it extraordinarily powerful. I would love to eventually apply some of my previous work on 3d and AI to RenPy.

Most AIs today are frankly not even as smart as ants, but things are improving. Rodney Brooks' and Cynthia Brezeal's work on intelligent robots is very promising. I tend to think the bots, like AliceBot, are dead ends -- they're really databases that are programmed in tricky ways to look like they're smart. But even so, they can still be used to help writers flesh out characters. As PyTom points out there are pitfalls in doing that though. The curtain of believability can suddenly drop when an NPC repeats itself or says something totally inappropriate, exposing the raw machine underneath. But even this might be usable as was mentioned regarding a conversation with an "injured" AI -- it would excuse the faults of current primitive bot technology.

One thing I'd point out though, AIs probably won't decrease the workload for an author. In my (limited) experience it tends to mean the author has to write far more stuff to account for the proliferation of unforeseen possibilities. This is also the case with all interactive fiction. But I certainly think AI can be an exciting addition to a writer's toolset.
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?

Koichi
Newbie
Posts: 4
Joined: Wed Mar 05, 2008 8:02 am
Contact:

Re: Artificial Intelligence Personality

#53 Post by Koichi » Fri Mar 07, 2008 1:53 am

miriam wrote:I'm greatly in favor of AI. Most of my work has been in building 3d virtual worlds and I have spent a lot of time working on ways to apply AI to characters in stories set in those worlds. 3d work seems to have fallen off for me lately so I've been exploring other things in the course of which I stumbled across RenPy, which excited me more than anything I've seen in recent years. Its ease of use and open-endedness make it extraordinarily powerful. I would love to eventually apply some of my previous work on 3d and AI to RenPy.
Uh, then you're much closer to my tasks than anyone else on this forum. :)
I'm working on 3D games, and for me the idea of AI is a must.
Our 3D games are worlds which evolve based on what user (or multiple users) do. That means, that NPCs can't be predefined in every aspect. Instead, they should use some AI to react on user and the world itself. There's much more than a common conversation, but it's a good start already.
For example, we can't just define NPC#1 to direct the player to visit NPC#2, since NPC#2 can be dead already.
Instead, NPC#1 should direct the player to the NPC who can (as far as NPC#1 knows about it) be useful, which is like an expert system.

miriam, could you please tell or show what have you done about AI while working on 3D virtual worlds?

User avatar
miriam
Regular
Posts: 46
Joined: Fri Mar 30, 2007 6:41 pm
Location: Australia
Contact:

Re: Artificial Intelligence Personality

#54 Post by miriam » Mon Mar 10, 2008 9:38 pm

Sorry it took me a while to reply. I've been away for a few days.

Reading back over my last post I realise I should have been a little clearer. Since about 1997 I've mostly been earning my income through building and programming 3d worlds, but they haven't been games. They have been in VRML (Virtual Reality Modeling Language) -- a language which was very exciting in its early days. Eventually it became X3D and lost much of its community. VRML's emphasis was on ease of use and access. The worlds are written in ordinary text and can be viewed inside an ordinary web browser. While a few people made simple games with VRML, it was never really designed for speed. But dozens of people have built free, shared, community worlds in VRML decades before SecondLife was ever conceived and publicised. Many scientific models and web toys have been built using VRML too.

My major interest was in using it for interactive stories. However, over the years I started to wonder why that was so difficult, so I carefully analysed it and found there were certain shortcomings in VRML that make it extremely hard to author general purpose interactive 3d stories. After that I lost a lot of my enthusiasm for VRML, though I occasionally still do paying work in it.

More recently I started seeing if I could develop a 3d language that would overcome the weaknesses in VRML. One of my main requirements is for it to be sufficiently general purpose as to allow building some degree of AI into some of the characters. I wanted to be able to tell a character to walk to the door and have it autonomously go around a table in order to get there, instead of me explicitly programming each step. Over the years I'd taught myself about 15 computer languages so I started finding out if any other languages could save me the enormous trouble of making a new one. I'd heard great things about python and found that most of them were justified. It is a very cool language -- one of the very best I've seen, so I started seeing if I could do what was needed with it.

That brought me to pygame, PyOpenGL, and PyODE. While I was able to install them on Windows after a little fiddling, I've never been able to get PyODE working on Linux, which is my preferred operating system these days. That was a great disappointment to me and stalled that.

One day, while looking around some of the pygame stuff people were doing, I stumbled upon RenPy quite by accident and was blown away. Here was a simple, extensible system for making interactive visual stories with an active, wonderfully creative community.

Unfortunately over the last year I have been treated for an infection which left me unable to do much of anything. Now treatment has finished and my energy and alertness are returning, along with my interest in all this stuff.

I've always been interested in (though never done paying work in) AI. I've read a lot of the work on AI. Most of it feels like it heads repeatedly down blind alleys (e.g. expert systems, chatbots, and some neural nets), but some does feel right, like Rodney Brooks' ideas about building intelligence up from simple layered components, and some of the neural net stuff at Redwood Center for Theoretical Neuroscience (Oops -- I meant Numenta).

So there's where I'm coming from... sorry about the length of my explanation. I want to continue my interests in all this stuff this year, though I don't know how much time I'll have as it looks like I'll be working with my sister on her energy efficiency business.
Last edited by miriam on Tue Mar 11, 2008 4:02 am, edited 1 time in total.
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?

User avatar
miriam
Regular
Posts: 46
Joined: Fri Mar 30, 2007 6:41 pm
Location: Australia
Contact:

Re: Artificial Intelligence Personality

#55 Post by miriam » Tue Mar 11, 2008 3:50 am

Umm... I should explain what I mean when I say that a lot of AI is a dead end. I don't mean that it is useless, just that I don't think it is not going to be part of "real" AI.

Things like chatbots are not what I call "true" AI in that I consider them clever hacks, but until we get proper intelligence in machines chatbots will be an important part of the toolkit for making complex interactive characters. This is true of some other neat tricks that emulate intelligence, like the A-star algorithm for finding a path through obstacles. It won't be used in final intelligent systems, but in the meantime they are great tools.

Think of it this way: electric batteries are brilliant things for powering electronic devices, but although Leonardo da Vinci might have been able to imagine using one, he had to settle for spring-power till the ground-work of electronics was built. Similarly, we have to use the tools we have right now for primitive AI until someone solves how to make true AI. My bet is it will be some teenager building a game that pulls the rabbit out of the hat, and I also think he/she will be using some of the things that Dileep George talks about here:
http://www.itconversations.com/shows/detail732.html
(listen to the mp3 from there)

Some info about A-star:
http://en.wikipedia.org/wiki/A%2A_search_algorithm
http://www.gamasutra.com/features/19970 ... inding.htm
(The diagrams and some code listings are hidden behind links in the text on the gamasutra site -- a style I find annoying. I have an inline version that is much easier to read if you want it.)
There is another article about a search algorithm similar to A-star on gamasutra called "Pawn Captures Wyvern: How Computer Chess Can Improve Your Pathfinding"
http://www.gamasutra.com/features/20000 ... on_pfv.htm
other cool pieces are
"Toward More Realistic Pathfinding"
http://www.gamasutra.com/features/20010 ... er_pfv.htm
and
http://www.gamasutra.com/features/20020 ... th_pfv.htm
All these have code examples.

Alicebot is one of the best chatbots and is free.
http://www.alicebot.org
But it can still be quite a frustrating experience conversing with it. Some tricky writing can be used to excuse the bot's behavior, which is what was being discussed here earlier.
I've had a look at AIML, the AI language used by Alicebot, and haven't tried learning it yet. Something feels wrong to me when I read through it... but it could be just me.

Rodney Brooks' work with robots is refreshing in that it gets at the real underpinnings of intelligence, the way we got here -- through building on layers of behavior, each of which is not smart itself, to make something that is greater than the parts. He calls it "subsumption architecture". A couple of his most interesting writings are:
"Elephants Don't Play Chess"
"A Robust Layered Control System for a Mobile Robot" (includes some code in LISP)
"The Behavior Language User's Guide" (includes LISP and 68k assembler examples)
There is heaps more at http://people.csail.mit.edu/brooks/publications.html
Unfortunately the articles are in postscript or pdf, two formats I detest, so I converted many of them to html quite a while back. You are welcome to have them if you want. Brooks uses LISP in his work, which I learned many years ago but have forgotten most of. :(
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?

Koichi
Newbie
Posts: 4
Joined: Wed Mar 05, 2008 8:02 am
Contact:

Re: Artificial Intelligence Personality

#56 Post by Koichi » Thu Apr 03, 2008 1:34 am

miriam wrote:I've always been interested in (though never done paying work in) AI. I've read a lot of the work on AI. Most of it feels like it heads repeatedly down blind alleys (e.g. expert systems, chatbots, and some neural nets), but some does feel right, like Rodney Brooks' ideas about building intelligence up from simple layered components, and some of the neural net stuff at Redwood Center for Theoretical Neuroscience (Oops -- I meant Numenta).
Hello, miriam!
Great to hear that you've been doing so much of research & development on AI/3D.
Those both are what I'm intrested of very much.
I see that you've studied many techniques.
Can you tell me more about those two you've marked?
miriam wrote: :arrow: Rodney Brooks' ideas about building intelligence up from simple layered components
:arrow: some of the neural net stuff at Redwood Center for Theoretical Neuroscience (Oops -- I meant Numenta)
What are you working on currently?
I'll check the links that you've mentioned. By the way, I'm already aware of alicebot, I've used it as IRC chatbot few years ago. Though, I think its technique is very limited becouse of simplicity...
P.S.: I've been missing reminders of this site due to large amount of mail, though today I've configured the most of it to become archived, to let me see important ones as soon as they arrive.

Post Reply

Who is online

Users browsing this forum: No registered users