Using Lisp (or another language) to generate fictional characters
#1 Members - Reputation: 100
Posted 03 October 2003 - 05:07 PM
#3 Members - Reputation: 660
Posted 03 October 2003 - 05:58 PM
#5 Members - Reputation: 100
Posted 04 October 2003 - 04:55 PM
quote:I don''t think it''s necessary to do such a thing, unless you''ve defined a set of criteria requiring just that. I would consider it a sufficient problem to tackle it as I originally put forth, whatever the context might be, and whatever depth and breadth you wish to add to the domain.
Original post by Tron3k
I think that in order to generate each character''s life story, you would have to take into account all the other characters'' life stories. Basically, you would have to evolve all the life stories together. That would be quite an interesting project - something like The Sims except more global in nature.
#6 Members - Reputation: 100
Posted 04 October 2003 - 04:57 PM
quote:Hmmm. I''d like to point out that Lisp is better suited to focusing on the problem at hand - that is to say, the actual domain knowledge, rather than a language like C++, where you''d have to spend time developing the infrastructure for such domains before actually tackling the domain knowledge itself.
Original post by Xtremehobo
I don''t know Lisp and I''m not really up to learning it, but I''ll give it a try in c++.
#7 Members - Reputation: 841
Posted 04 October 2003 - 05:02 PM
I guess you could just take the same approach even farther to get all this, but all you''ll still have is just a character with a bunch of flags set. Then again, I guess technically that''s all we are.
#8 Members - Reputation: 100
Posted 04 October 2003 - 05:06 PM
quote:I don't even recall focusing on a physical description or statistics. I think I was more focused on a history for the character.
Original post by BradDaBug
But all you are left with is the equivalent of an RPG hero with generated statistics and some kind of physical description.
quote:I thought that was more the direction that I was taking.
You still don't have a REAL character with personality, attitudes, vices, fears, goals, dreams, etc.
[edited by - bishop_pass on October 4, 2003 12:06:26 AM]
#9 Members - Reputation: 208
Posted 04 October 2003 - 05:08 PM
#10 Members - Reputation: 841
Posted 04 October 2003 - 05:18 PM
injury i0
i0.date_received = 20031004
i0.type = LIMP
i0.bitterness_weight = 3.5
i0.depression_weight = 1.2
i0.happiness_weight = -0.2
character.injuries[0] = i0
character.eye_color = "blue"
character.hair_color = "brown"
character.outgoing = 3.0
character.neatness = -3.0
character.friendliness = 0.8
Something like this.
Edit: syntax error in my pseudo code!
[edited by - BradDaBug on October 4, 2003 12:19:04 AM]
#11 Members - Reputation: 100
Posted 04 October 2003 - 05:30 PM
Bill 'Billy' Thomas was born in Laredo, Texas on March 14th, 1866. His father was Albert Thomas, his mother Lucille Brown. They were married in 1863.
Billy despised his father, who was an alcoholic, and he left home on April 10th, 1877, at the age of 15. A year later, he settled in Williams, Arizona. He found employment as an apprentice to a blacksmith. So, to reproduce that, you might want to focus on encoding knowledge of such concepts as names, first and last, male and female, marriage, leaving home, drinking, towns, professions, etc.
No need to get too in depth - just focus on giving enough rules to fabricate characters.
The purpose of such a program isn't nearly as important as the purpose of creating it. It's the act of creation which can inspire and create a purpose.
[edited by - bishop_pass on October 4, 2003 12:36:35 AM]
#12 Members - Reputation: 208
Posted 04 October 2003 - 05:44 PM
Six years later, Billy returned home to find that his father had mended his ways and sobered up. He was hesitant at first, but after a while Billy realized that his father really had changed, and then he joyfully welcomed his father back into his life.
#13 Members - Reputation: 100
Posted 04 October 2003 - 05:48 PM
quote:Sorry, but you''re wrong. Knowledge encoding does not need a list of silly stats, with shades of an RPG.
Original post by Naaga
I think something like BradDaBug suggested is necessary to get the type of output you''re looking for, bishop_pass.
#14 Members - Reputation: 100
Posted 04 October 2003 - 05:51 PM
quote:And furthermore, I don't think for a minute that any program created by anyone here is going to come up with that (the above quote). It's just too much. Unfortunately, by proposing such a thing, you're making the whole idea seem more intractable.
Original post by Naaga
Six years later, Billy returned home to find that his father had mended his ways and sobered up. He was hesitant at first, but after a while Billy realized that his father really had changed, and then he joyfully welcomed his father back into his life.
However, if you delve a little deeper into symbolic programming and knowledge bases, and look for templates in fiction, you can see that simple biographies within limited domains are possible, and can be fun and tractable.
[edited by - bishop_pass on October 4, 2003 12:52:41 AM]
#16 Members - Reputation: 181
Posted 05 October 2003 - 02:25 PM
Also, how would you go about generating a description if you don't have any statistics to base it off of?
[edited by - Forcas on October 5, 2003 9:26:09 PM]
#17 Members - Reputation: 100
Posted 05 October 2003 - 02:32 PM
quote:Why? I don''t see the point. First of all, we''re talking about the history of a person. I personally don''t think the constrained notion of a class comes close to the flexibility of s-expressions for storing knowledge about a history/story.
Original post by Forcas
I don''t claim to be an expert on LISP. I''ve only recently started learning. I curious, though, instead of representing a person using a list, why don''t you define a class?
quote:
Also, how would you go about generating a description if you don''t have any statistics to base it off of?
You''re thinking is truly stuck within a very constrained programming methodology. Make up a person''s history in your mind. Now, did you use a list of statistics?
#18 Members - Reputation: 100
Posted 05 October 2003 - 03:08 PM
I did an extremely watered down sort of thing that Bishop Pass is suggesting, you can find the PHP Source on the Evil Twin (just note that the Demo link is not working).
#19 Members - Reputation: 100
Posted 05 October 2003 - 03:19 PM
It stands to reason that in describing a person''s history, one of the things that they almost universally do is leave home at some point or another. Given that, we draw on our knowledge of reasons why someone might leave home.
So, our program should have some knowledge of reasons why people leave home. In a quick and dirty way, (by no means comprehensive) we might encode it like this:
(LeavingHome Reasons
(IsA Father Alcoholic)
(Died Parents)
(Desired Protaganist SeeTheWorld)
(Offered Protagonist Job)
(Attended Protaginist College)
)Each of those examples are of course rough and dirty with regard to implementation, but you get the idea. Appended to each reason should be a name of the reason, where another list can contain other information about the event, such as how to write it out, what dependencies it might have, and what things it can lead to cause in the future.






