Programming a personality

hey guys, i’d love to help in any way possible, I have a server that can be used, but it only has 100 mb space and 5 gb transfer per mont, but if that will work, i’ve been looking for something to do with it. I was thinking of doing an open source flash/php/html/photoshop site, but this would be a cool use too.

I also know some actionscript, I’m not as good as some of the others here, but I like to think I am pretty good. :stuck_out_tongue: If you need any help, just hollar. :slight_smile:

You should give her a “Memory” Variable, which would detemine how long it takes before she ‘forgets’ something, which you can then attach to anything else you might want to. In the background, there should always be a timer going, and she should ‘remember’ recent events more vividly than older events.
So say her memory rating is 20, which (I’m simplifying it a bunch) says that anything that happened >20 minutes ago, won’t be fresh in her mind anymore, but should something ‘remind’ her of the incident, she can then pull it back up again… for example:

We seem to be keeping a “piss her off” kind of theme… I guess I know how our love-lifes have been… :wink: So let’s say that at 10:00, you say something that makes her mad. let’s say you say that don’t like her dress… Her anger goes up, her behaviour goes down, and until 10:21, if you anger her further, anger++, and behaviour–. And if you try to cheer her up, or appoligize (unless you do something really good, say Make-Up Action > Anger Action), she’ll pretty much be in a pissy mood, and not speak to you, and won’t be able to forgive you… But at 10:21, her anger and behaviour will slowly return to normal, and appology attempts will be more successful. Now lets say at 11:30 you say something that reminds her that you made her upset before, like, say you mention the word dress, in connection with another person (“Oh, I like the dress she’s wearing”, or something), she’ll be able to ‘remember’ that you hated her dress, and she’ll snap at you.

Well, this is generally how I imagine my wife’s brain works… :wink: Shhh… don’t tell her I said that… :stuck_out_tongue: Now you can also attach the Memory value to other things, like things she likes, or things she sees/hears, or learns… I can think up a few variables later on, and post them up here… I think this might end up leaving the ActionScripting World, and become a more advanced piece of program, if we manage to pull it off… this is fun! I haven’t felt so alive, and part of a whole! I know, I’m getting all sappy… I just haven’t really had a chance to do a whole lot of programming since High-School, and nothing this cutting-edge…

Okay, been thinking. Took my Lunch Break, fed my brain…
I would like to start structuring this project a little bit, so I’m going to list some things that I think should be focused on, and we’ll see what’s up.

For right now, do we want to create the project is a way to allow random personalities? Or should we make one that every-time it’s reset is going to be the same. Personally, for right now at least, I would prefer the latter, we can always make a second incarnation later.

For lack of a better term, and thanks to Spirit-z3ro, lets tentatively call this: “Project Ayumi”.

My vision (which i want other people to add/adapt/or change to fit what we all want to do) is to create a program that can effectively behave in a manner similar to a living being, not quite sentient, or AI… more like a Virtual Pet, or a Sim, but much, much more complex. Here’s the problem (and I think someone else mentioned this before) behavior is based on experience, and experience is based on environment. We can’t have Ayumi act like a text box, or chat program, and expect her to understand: “It’s hot today”, if she has no concept of heat. Or take offense at: “You look fat”, if she has no concept of what ‘looking’ is, or what fat is. So, we’ll HAVE to build an interactive environment for her to exist. I envision a small house, which we can graphically display, and fill with objects that she can use, and that the user can also interact with. She’ll basically start out with a few “instincts”, for things that she’ll need to know how to do in order to function, like walk, and look, and things. We’ll have to program it in there, somehow, that if Ayumi wants to go from point A to point B, this is how she does it. How she determines what point B, and why she wants to get there, should be up to her. While I think it will be possible to get her to understand english language, I don’t know if we should start by working out a way for her to ‘talk’ back to us in english. She should (temporarly) communicate with us through word-ballon type things, and by her behaviour - like a child, or mute person.
As far as teaching language, it should work like word-association… think Sesame street. If she doesn’t know a word, she should be able to “ask” what the word is, and then you can “describe” it, by showing her something in her environment. Say you say “Ball”, and she doesn’t know what a Ball is, you can hand her a ball. It’s going to get real complicated… heh heh… she won’t be able to understand everything, obviously… and we should allow her to associate words with other words… like: If you tell her that a “Ball” is to “play” with, and "play"ing is “fun”, and if having “fun” makes you “happy”, then if she is not “happy”, if she learns correctly, she’ll go pick up a “ball”…
This is a BIG project… heh heh… let me know your opinons, and stuff… if I’m on the right track, or if I’m out of my mind… :sure:

Also, when I finally get my PC running again, I’ve been running an Apache Server, with my files on it for my other projects. I could (if people lend a hand) make a “Project Ayumi” server, and run both a web-site, and a way to share files between project members, if you guys want. I think that if we get enough hard-working people together, this can become a big thing. :smiley:

Allright guys… I figured I’d voice my entire opinion on a couple of ideas for you guys… To help you out… Here are a couple of options you might want to consider when approaching this… And a 101 on human behavior and mocking it pseudo like in AI. :slight_smile:

• When designing a personality… You have to have options… Expand the amount of options and you have a very playable and workable personality… That… And you will have to sit down and look through all of the different personality types… Which there are alot. If you want to make it interactive… Your personality doesn’t really fully develope until you get above 18+ years of age… But that is just a rough estimate… So… How about rasiing a kid… say… 12 years old… The times go really slow… And then after he hits… 21… His personality would be set… And from that point on… you would follow the guidelines on that particular personality model…

Example :

You raise the kid up… and you beat him all the time… so he is rather timid because of this… but at around the age of 18… you allow him to smoke and drink and do drugs… by the time he reaches 21… his personality will be that of a drug induced timid kid… Thereby letting people take him over and he basically gets shoved around alot… How would this affect your charts then? Well… His anger wouldn’t rise very sharp at all since he is very timid. His depression though would rise and fall very fast. Sickness would be the same as well… So…

• Your charts… Don’t limit yourself to the basic… If you want to make a personality… Include everything that you can… Here is a chart that could help you guys out with the moods.

That’s a quick and easy chart to show you how the basic mood balance can go… Your character can be anywhere within that triangle and you can tell how your player is mood-wise by going throughout that.

• Now… Your character isn’t all about moods… There is a certain couple of other factors you have to take advantage of and notice… And these should be covered in kind-a a slider type area… And here is what I’m trying to represent.

Now… There is a couple of pointers to help you guys out… Ohh One last thing

• Store everything as data as much as possible… Store in .txt files or something along the lines of that to keep the code size down to a minimum. Variables… Use them often… And have alot of arrays to look up data and information… Instead of using math… When you can… Make charts of data that represent moods and levels… :slight_smile:

This is starting to remind me a little bit of “Creatures”, except I think they were doing more with genetics, and things…

Its really amazing how far AI has come actually. We watched a movie yesterday in chemistry about AI in robots and some of the things the robots could do was amazing. For instance one of the challenges they had was they had to make a robot walk around (roll around) this office building they had set up. The office building had 2 conference rooms, 2 professors rooms, and a couple trap rooms. The robot had to go to each of the conference rooms and check to see which one was empty. It then had to schedule a conference in the appropriate room. Then it had to find the professors rooms and notify them of the conference one minute before it was scheduled to start. This was a real life office building. not a digital computer screen.

There was many other things they showed (such as cars that drove themselves on highways). One of the robots built skills’ progressed over time. It would learn how to walk and how to reach for things just like a baby would.

AI in computer is much easier then real life robots. Just check out a game like halo. While the bad guys don’t learn from their mistakes they still act according to what you are doing. And your teammates are even smarter. They will cover you, hide if you hide, and tons of other things we don’t even notice. Just wait tell halo 2. If they are spending this long on that game I’m sure the AI will be incredible.

All in all AI is a very interesting and complelling subject. One that I would like to learn more about. I don’t have the skills to start practicing anything more then baby AI right now though.

Here is a .fla

I just quickly wrote a VERY basic movement class for our character. It needs alot of work and it’s pretty much useless at the moment but now we have something to work with.

InsaneMonks fla is a very good example of the type of thing we should, and probably will use.

Anyway here is the movement class
[AS]
dynamic class moveCharacter extends MovieClip
{
//Initial Variables
private var angle:Number; //Current angle
private var speed:Number; //Current speed
private var maxS:Number = 10; //Maximum speed
private var minS:Number = 5; //Minimum speed

//Constructor function
function moveCharacter()
{
	this.onEnterFrame = this.move;	//tells flash to run the move function every time the frame is entered
}

private function move():Void
{
	if (!Math.floor(Math.random()*20) || this.angle == undefined) 	//if 'angle' has no value
	{
		this.angle = Math.random() * 360;	//set 'angle' to a random number between 0 & 360
	}
	
	if (!Math.floor(Math.random()*10) || this.speed == undefined)	//if 'speed' has no value
	{
		this.speed = Math.floor(Math.random()*(this.maxS - this.minS + 1)) + this.minS;	//sets 'speed' to a random number between and including our max and min speeds
	}
	
	this._x += Math.cos(this.angle * (Math.PI / 180)) * this.speed;		//moves our character on the x axis
	this._y += Math.sin(this.angle * (Math.PI / 180)) * this.speed;		//moves our character on the y axis
}

};
[/AS]

SeiferTim and Marz, you guys seriously read my mind like an open book (or the internet :p)

In my head, I had this set up:
The way you treat Ayumi sets her scales from this to that, until a certain age, all about her is set onto the scale she had come to. From there on, it’ll go low and high depending how well you take care of her. When you go overboard (such as anger her over her tolerance scale) then a formula will be applied and she’d have a slight change in her Set personality.
I thought of this because sometimes when we’re treated horrible again and again, we seem to change (for worse or better).
And as for the Memory thing. I’ve always pictured that Ayumi has a room/house or whatnot. You can interact with her and do things such as, "Ayumi, could you go get the “Ball” for me?
“What is a ball?” She’d ask. Then a description box will come up and you type in descriptions for it, one such as:
“It’s a round object, you play with it and have fun.” Then she might start grabbing every round object she can find when you ask her to grab a “Ball.” “Is this Ball?” She might ask when she brings it to you.
You could reply, “Yes, that is the ball, thank you (maybe that’ll make her happier a bit on her happiness scale) ,” or you could reply, "No, that’s an “Led Cannon Ball” (wherever she’d find it), it does not Bounce and it is Heavey, a Ball you Play with is Light and Bouncy."
So here we have another description for the Ball and an entirely new description for Led Cannon Ball.
We could set properties in all the items in the room. Such as the Ball: Bouncy, Red, Light, and Fun.
Led_cannon_ball: Heavy, black, and NoFun.
ect.
Then we could ask her the Date and she’d soon learn to find the calender and tell you the date.

After you’ve described something to her, she might not be able to find it. So you click on it telling her it’s there, then she learns that it’s there. But as for the ball, it may be misplaced (maybe your lazy bum was too lazy to drag it back to the toy box) and so she asks you where it is and you find and click on the ball and she finds it and learn that it may be misplaced. She’ll soon learn to find the ball, and choose locations that are closest to her, but always the toy box first.

We can even build her a computer that allows us to play games or to write what she’s learned, her emotional status, ect into a .txt file and we can find it to print it out - Ayumi’s Status.
(hehe, maybe she’d be too sad or even shy or angry to display some of her status, maybe she’ll have a big o’ middle finger made of slashes and dashes and stuff when you look at the .txt file).

And now, the time…
What I’m imagining is that you have a Xamount of money, and maybe we can create one for her too. you create xamount of money by going to work – a somewhat mini-game and you get to choose which, but have to stick with it for a certain amount of time (bar tender’s get a lotta tip… and a girl’s phone numbers… what if… what if Ayumi can get jealous!?)
The money made is to buy Groceries and to keep it simple for now, for xamount of money and you buy xamount of food, food is displayed as a plate of nuetritious food. Whenever you’re not there to feed her (which may make her happier, but if she’s mad, maybe she’d be happier eating by herself).

I’ve divided our time into hers by 4, and here’s how things turned out.

15 seconds is in a minute
225 seconds is in 15 minutes and 15 minutes is in an hour
1350 seconds in 90 minutes and 90 minutes in 6 hours and 6 hours in a day
then, 120,150 seconds in 8010 minutes and 8010 minutes in 534 hours and 534 hours in 89 days and 89 days in a year

Then we can use a formula (still working on it) and make her calm down from anger, calm down from hyperness (if that’s a word) or anything.

Btw, the reason I used the example of making her mad because it’s seems to be the best. You make her mad, she holds a grudge on you based on how bad of a thing it was. It can actually apply to every emotion she can have, but maybe different formulas for each emotion. And… I just smiled and said “whatever makes ya happy” then walked away… >< :stuck_out_tongue:

Anyway, long post it has been, I’ll shut up here, I talk too much
-_-
but before that… I was thinking if we DO make it so that she can have different clothing and such… maybe we can even make it so you can BUY her clothing, toys, jewelry, ect. And the items have their own properties. She might like a light dress over a over-weighed midieval armor… And lets pretend she has a shirt, somewhat tight. She reaches for an item and the shirt will too! But of course, the shirt would just be reaching for it, and not do anything else out of unordinary (such as snatching a can of alphabet soup out of her hand…).
I saw a thing
http://www.seraph.nl/
at its Downloads>Flash MX>Physics>Drag Grid
and it reminded me of how a shirt would interact with her shoulders. If she was to reach UP, the shirt would be all stiff, instead, it’d STRETCH itself upwards, staying with the arm, but doesn’t bounce back like the site’s Drag Grid.

OBCT, your .fla gives me an “Unexpected file format.” =(
I have MX…

Alright I’ll try to convert it in about an hour. I’ve still got stuff to do before lunch.

For those of you who have Flash MX can use the fla below.

Some of the ideas people have been talking about are great!!! :beer:
Keep up the good work :slight_smile:

Cheers

!? Howcome I see no AS in that .fla?
EDIT
:blush: duh, it was highlighted and so I kinda… blanked out on it

The class in the MX version is in a movie clip. Double click on the “Movie Controller” movie clip that you should see in the top right hand corner of the stage.

Any .as file can be read using notepad or something like that but Flash MX 2004 Pro comes with the option to write and read external actionscript files.

I can’t remember the full story. As far as my memory goes, Flash Player 6 supports Actionscript 2… I’ll have to get back to you on that because I can’t remember.

Anyway…we should start jotting down any formula’s that might be usefull, the variable names (personality traits) etc so we can draw up a diagram and get into it :slight_smile:

I think we should start with the basics. I was pondering about this since I left work yesterday, and this is what I think we need to start with:

First, we should have a variable to represent Mood (Ayumi.Mood). It should be able to go from -100 to 100 with anything negative being unhappy, anything positive being happy. Ayumi should start at 0, and we’ll need to start as if she’s a baby.

Give her a simple rule: The lower her Mood is, the less happy she is, and she should try to keep her happyness high, but if she is content (Mood=0), then she should relax.

That general rule, is pretty much the one rule that (to me) all life forms seem to possess. It’s simple. But here’s where we incorporate it:

As time progresses, her energy will decrease (Ayumi.Energy–). Energy is needed to function, and after several hours, she will need to sleep, which slowly recovers her energy. So, if Ayumi’s been awake for 16 hours, she’ll need to go to sleep, and by then her energy will be pretty low.

Food also increase energy, and our bodies feel hungry when it is time to recharge. We should have a hunger variable (Ayumi.Hunger), and to keep it true, it should be a number from -10 to 100. Between -10 and 0, she is still ‘digesting’ her last meal, and not at all hungry. As time goes on, the hunger value will increase, and she will start to get hungry when it hits 1. Now, we don’t want her running to the fridge everytime her hunger hits 1, most people don’t do that (though there are some that do, and they have to book 2 seats on an airplane for just themselves whenever they fly), but what we can do, is add an algorithm that will say every interval (whether it’s a minute or a second, or an hour), her hunger will go up, and her mood will go down by 1/4 of the current value of hunger, rounded down, and she should get enough to want to eat hungry around 3.5 times a day.

The code might look something like this:


if (timer == interval) {
Ayumi.Hunger--;
Ayumi.Mood -= Math.Floor( Ayumi.Hunger / 4 );
if (Ayumi.Mood < 0 ) {
CheckMood;
};
};

Please excuse any syntax errors, I haven’t really done a lot of math actionscripting in a loooong time, and I’m not at my PC at home to check my syntax… but you should get the idea…

Anyway, so now her mood is going down while she’s hunrgy… so, if we put the Rule into place that says if she’s unhappy, she should try to find a way to be happy again, we would call our CheckMood procedure.

CheckMood would basically try to get her to figure out what’s making her uncomfortable. In this case, the only thing it COULD be is Hunger, so right now our CheckMood should simply say:


if (Hunger > 0) {
Ayumi.Status.Hungry = True;
};

so that she’ll know she’s hungry. Now, another piece should come into play. She should already know (since it is a basic animal instinct) that if Hunger == True, then To make Hunger != True, you EatFood.

Any objects in her world that are food, should have: Object.Type = Food as a property, and (hopefully) she won’t have to be told which items are food, 'cause if you’re hungry, you’re not going to have to try and figure out: Does Ball==Food? Does Rock==Food?
She should be able to walk over to the nearest source of food, and eat it. This will Send her hunger value back down, in an amount based on how much food there is, and will hopefully raise her mood, depending on if she likes it or not. Candy may only lower hunger a little, but raise mood alot, and broccoli may lower hunger a lot, but lower mood. (Once we get real advanced, we can try to make her “remember” which foods she likes, and does’t like.) Now, to make things have a little consequence, we could add another variable, which I haven’t thought of a name for yet, something like: ExcessFood, or something, so that if she over-eats, this value will increase, and she’ll have to burn energy to lower it, or risk either getting sick, and/or getting fat. This is just the very beggining of what we can do with food and hunger, and we can branch out from here.

Q: Do you think we should start trying to ‘officiallize’ this project? Get a list of names of people who are 100% devoted to the project, and start getting things together? It may be a good idea, since I see this thing going places if we really work together. I’ll be (finally) getting my motherboard replaced within the next week, so I can get a server going, if we all agree on it.

Devotion? How about Obsession? I’m sure most of us have always wanted to do this… and is really thanking OBCT for bringing it up here and at this time.

I’ve been thinking about this project day and night… and a new formula (which I would get a lead, then get all confused).

I’ve thought of a bunch of variables… but by now, i’m sure you know I can’t exactly explain what I try to very well.

Anyway, here’s what I thought Ayumi’s stats would look like

Name: Ayumi
Age : 19

Happiness : +3
ToleranceLevel : +(HappinessLevel+SetContent)/4
HappinessLevel : +(((SelfEsteem/3)HappinessLevel)+SetContent)-SadnessLevel
AnnoyanceLevel : (SetTolerance
.25)+ToleranceLevel
SelfEsteem : SetContent/4
SetTolerance : 6
SetContent : 7
AngerRecovRate : (I only have a part of the formula.
HappyRecovRate : All the recovery rates would have
AnnoyRecovRate : a common formula with different variables)
Dominant : Softee
Recessive : Toughee

Ok, a bunch of those are just wierd right now. But I’ll explain here:

The Levels
All the Level are what they are currently at, but not something permenant such as the Set variables. The levels add to your Set variables (involving same emotions at least) and they go into the positives and the negatives base on how you treat them.

ToleranceLevel - Sometimes tolerance is higher due to happiness. The formula is (HappinessLevel+SetContent)/4. So the equation above would be (7+3)/4 = 2.5, so the ToleranceLevel would be +2.5.

AnnoyanceLevel - Annoyance comes easily, usually just by an offensive comment or joke. The formula is set as (SetTolerance*.25)+ToleranceLevel because we’re taking 1/4 of Ayumi’s SetToleraence and adding it to the ToleranceLevel because when you’re happier, being annoyed is harder as well. The equation above would be (6*.25)+2.5 = 4, so she may be annoyed when her she’s Anger is at 4.

HappinessLevel - How happy she is due to how well you treat her. The formula to is +((SelfEsteem/3)HappinessLevel)+SetContent, so in that equation it’d be ((1.53)+7 = 8.75,so her overall happiness is 8.75, that’s +1.75 more than her SetContent, and since when she has +1.75 more than her SetContent, she’s more than content, she’s happy.

Self-Esteem - We all have self-esteem. Usually, the higher it is, the happier we are, but not always.

SetTolerance - The Set Tolerance level when Ayumi reached a certain age. Appearantly, she has reached or gone beyond that age because she has Set variables.

SetContent - The base number of happiness to keep Ayumi at content. Going below that makes her easier annoyed, mad, ect.

The Recovery Rates
I have part of the formula, but not quite. The same formula should be able to be applied to all her emotions but with different variables.

Dominant and Recessive - Ayumi’s Dominant is on Softee, and Toughee is on Recessive, meaning when something that lowers her happiness, she’s more sad over angry. What the Dominant and Recessives are is determined another variable (forgot what it was all of a sudden) when she’s hit her Set age (the age where she gets her Set variables).

All these should be able to fit all her emotions (sad, mad, gloomy, depressed, hyper, happy, content, maybe even shy).

I know there are still a bunch of flaws in this, such as some more variables are needed and some may be taken out because they are not necessary, but it’s all I can explain after a day’s of brain frying.

Now, some questions…
Will this be in 3D?
Ayumi should already know basic words, but how will we get her to recognize keywords? Do we have to type in a word that’ll activate the recognize code? example. “That is a(n)” “OBJECT.” So the code finds the “That is a(n)” and records the next thing after it, before the period (and/or maybe a comma), which is “OBJECT.”

Last thing… I know even I’m not making any sense, it’s like BrainStorming time right now…

I’ve got a very busy weekend so I won’t be able to do anything so I’ll get back to you all on monday.

Until then ANYONE is welcome to do any programming (even a tiny bit helps), graphics, write down your ideas but most importantly…Have fun :).

Cheers

Your logic makes a LOT of sense, Spirit-Z3RO, I like your thinking! Some of your variables seem a little redundant, which I’ll try to clear up in a minute… The way I’m seeing it right now, we should try to make it 2-D, perhaps sprite based… trying to make it 3-D at this stage will probably be too much insanity… And I don’t know if you thought about it, but we should make her mood increase/decrease exponentially… since if you’re already a little upset, if someone does something to upset you further, even a minor thing, you tend to get more upset then usuall.

So let me try and consolidate what we have so far, as far as variables are concerned (and forgive me if I tend to lapse back into a semi-VB code, since we’re not sure what we’re going to code it in, I’m trying to avoid sticking with any particular language)


//Identity

.Name                'A string that contains the characters given name.  We should eventually give her the ability to recognize nick-names, and other monikers as well ('sweetie', 'cupcake', 'darling', etc)
.Gender             'Should be either M or F, we could make it a Boolean, and say True = Female, or whatever.
.Age                  'I think we should make this an integer to represent her virtual age, like 15, 19, or whatever.

//Physical Condition Levels

.Hunger               'Integer of between -10 and 100 to rate her hunger
.Temperature      'Integer representing her current body temperature (if she's cold, she'll try to get warm, etc)
.Energy                'Her current energy level, integer between 0 and 100
.Health                 'Integer representing her Health level, I'm thinking it should be between -20 and 100, depending on if she's eating healthy, and sleeping, and staying warm, etc, she should be realtively healthy.
.Life                       'Integer to represent her current life force (HP perhaps?)  When it hits 0, she'll be dead.  HOPEFULLY this won't ever happen, but the fear of Death is one thing that aids in motivating people to do things, and keep safe.  She should have an internal drive to try and keep her Life rating as high as possible.

//Mentality Levels

.Happyness        |
.Anger                |
.Sadness            |  Integers from 0 - 100  
.Fear                  | 
.Sanity                |
.Excitement         |
.Anxiety               |
.Self                    ' Integer from 0 - 100 which rates what she currently thinks of herself (self-esteem)

//Personality
//For the most part, these will be nearly static, but that's not to say that they can NEVER change... they should change very, very gradually.  They should all range from 1 to 100 (perhaps more). These things will affect how much her Mentality Levels Change, just like what Spirit-Z3RO was aluding to...

.playfulness          'How playful she is. The more playful, the happier she is, and the easier to ignore bad things.
.arrogance            'The more arrogant, the less she'll want to listen, and believe you.
.cleanliness           'How tidy she is.  higher rating means she'll try to be more organized
.visciousness         'Higher rating means she'll be more of a prankster, or just plain mean.
.courage                 'Higher rating means that she'll be less apt to fear new things, or anything at all.
.curiosity                'Higher rating means she will be more inclined to try and learn new things.
.obediance             'Higher Rating will mean she listens, and obeys more than not
.stablity                  'Rates her abilty to keep to a steady schedule, or keep things the same (if this is low, she may tend to forget doing daily or routine actions)
.adaptablity            'Rates her ability to change depending on her environment.  If this is low, she may get confused if something suddenly changes.

I’m sure this list will expand, and increase exponentially as we add to it. Lend a hand, everyone! :smiley:

YAY!!! Those were the words I tried to find… ashamed of myself not being able to =(
But wow, you sure found the goods one =)
Anyway, we need formulas for those right? And maybe one variable effects another?

Generally, all the variables I mentioned above should probably be just regular variables, but we’ll have functions and algorithms later on down the road that will use the variables to change others… such as a subroutine to determine how upset she gets at a particular event:


sub CauseAnger ()
.happiness = .happiness -  (Event.strength + (.anger/10)% - (.playfulness/10)% - (.self)%)
.anger = .anger + (Event.strength + (.anger/10)% - (.playfulness/10)% - (.self)%)
end Sub

[SIZE=1]note: by (VAR/10)% I mean a percentage equal to one tenth of that Variables value… So if I’m talking about +(.anger/10)%, and anger is currently 20, then the number that we’d have is 2%, so we’d add 2% to the total value.[/SIZE]

We’re going to end up with a few billion of these (okay, maybe not billions, but a whole lot…)… it’s going to end up being crazy… I like it :smiley:

So who wants to start coming up with the way our person’s going to look? And what their environment is going to be about?