Programming a personality

Haha, since I’ve just recently saw Chobits, in my mind, she’s an anime character (at least it matches her name). I know some girls at school that can draw like insanity… maybe if i get them to draw me one, scan it, ect.
Environment… hmmmmmm. We create a house for her (those of interior design, help!) and our stage will be the room she’s in (cept the bathroom). So we have a stage of a living room, and when she walks in another room, our stage is there as well. For some odd reason, the living room and the kitchen is in my mind. I guess I just imagined her either playing or doing something in the kitchen.
Objects, we’ll need a buncha them. Books, Calender, Toys, kitchen stuff, and everything you’d find in a normal household. “define NORMAL” some of u may say, lol.
But yeah, we would need to be able to interact with those objects, as well as Ayumi.
Now… i just need to practice on flash and stuff… maybe what i say will make more sense.

I can probably make the environment pretty simply… I picture it as all being in 2-d sprites, kind of a pixelated type of style. I just can’t draw humanoids in any way, shape or form… so someone else may have to do that…
I’ll come up with some of the environment, if you want, once I have a working PC again. I kind of picture a large Japanese-style house, with a lot of open spaces, and lots of rooms. I don’t see any reason to exclude the bathroom, but we should make it censor out if she’s doing anything questionable, like bathe, or use the toilet (ala The Sims)… she should be able to go there and brush her teeth, comb her hair, etc.
I sort of picture her as a teenager (since I think you said it about abillion times, Z3RO! :D), and I see her as having short brown hair, and big eyes, plus the stereotypical brown-plaid schoolgirl skirt kind of thing. I’m thinking she’ll be cute, like a child, but i want to try to stay away from anything that would be “attractive”, or we’ll be fighting off adolescent boys with sticks…
All-in-All, I know the code isn’t even started yet, but if we get an idea of where she’s going to live, we can start to fill in some of the blanks on how much depth we should give her…
To start with, we should just make one or two rooms, and fill them with objects to let her interact with. I think we should start with getting her to learn how to feed herself before tackling the big stuff, like mood, and stuff.

“larege” Japanese-style houses… lol! I see her as having long hair in a dress, nothing flashy (to mkae her look innocent i suppose). And as for the “cuteness” or whatnot, I think she should be cute. I mean, why not? The purpose of japanese-styled cartoons (anime) is to exaggerate the looks of ourselfs, one way or another, that applies to their personalities sometime as well.
Little kids (generally girls… generally) like taking care of toy babies because they’re “cute”, the child is attracted (not in any “weird” way), and that’s how we should think of it if Ayumi’s cute.
Also, it’d be unfair to our little Ayumi if we compared her look, another words, graphics, to the 3D graphics today (such as all those beachball games with girls wearing bikinis;))
But to some of those who have been attracted to anime in such ways, I apologize for calling it “weird”. I understand that everyone has their fantasies and there’s nothing wrong with having fantasies, and so, I sincerely apologize -_-

“larege” Japanese-style houses… lol!

We’ll obviously have to spoil her like she’s rich, or something… :wink:

I’ve quickly done up some very basic classes just to start setting and getting the initial variables. Next we could do the class containing formulas and stuff like that.
I’ll go into more detail tomorrow when I have my day off :p:

Here is the class in AS2
[AS]
class CreateCharacter
{
// INITIAL VARIABLES

// CONSTANTS
var Name:String;	//Character's name
var Gender:String;	//Characters gender/sex
var Age:Number;		//Characters age

// SEMI CONSTANTS
var playfulness:Number; //The more playful, the happier she is, and the easier to ignore bad things.
var arrogance:Number; //The more arrogant, the less she'll want to listen, and believe you.
var cleanliness:Number; //How tidy she is.  higher rating means she'll try to be more organized
var visciousness:Number; //Higher rating means she'll be more of a prankster, or just plain mean.
var courage:Number; //Higher rating means that she'll be less likley to fear new things, or anything at all.
var curiosity:Number; //Higher rating means she will be more inclined to try and learn new things.
var obediance:Number; //Higher Rating will mean she listens, and obeys more than not
var stability:Number; //Rates her abilty to keep to schedule. 

//if this is low, she may tend to forget doing daily or routine actions)
var adaptability:Number; //Rates her ability to change depending on her environment.
//If this is low, she may get confused if something suddenly changes.

// CONSTRUCTOR FUNCTION
function CreateCharacter()
{
	this.ShowInfo();
}

// SET FUNCTIONS

function setName(name:String):Void
{
	this.Name = name;
}

function setGender(gender:String):Void
{
	this.Gender = gender;
}

function setAge(age:Number):Void
{
	this.Age = age;
}

function setPlay(play:Number):Void
{
	this.playfulness = play;
}

function setArrogant(agro:Number):Void
{
	this.arrogance = agro;
}

function setClean(clean:Number):Void
{
	this.cleanliness = clean;
}

function setViscious(viscous:Number):Void
{
	this.visciousness = viscous;
}

function setCourage(courage:Number):Void
{
	this.courage = courage;
}
function setCurios(curios:Number):Void
{
	this.curiosity = curios;
}

function setObediance(obediance:Number):Void
{
	this.obediance = obediance;
}

function setStability(stability:Number):Void
{
	this.stability = stability;
}

function setAdaptability(adaptability:Number):Void
{
	this.adaptability = adaptability;
}

// GET FUNCTIONS

function getPlay():Number
{
	return this.playfulness;
}

function getArrogant():Number
{
	return this.arrogance;
}

function getClean():Number
{
	return this.cleanliness;
}

function getViscious():Number
{
	return this.visciousness;
}

function getCourage():Number
{
	return this.courage;
}

function getCurios():Number
{
	return this.curiosity;
}

function getObediance():Number
{
	return this.obediance;
}

function getStability():Number
{
	return this.stability;
}

function getAdaptability(adaptability:Number):Number
{
	return this.adaptability;
}

function getName():String
{
	return this.Name;
}

function getGender():String
{
	return this.Gender;
}

function getAge():Number
{
	return this.Age;
}

// CLASS METHODS

function ShowInfo():String
{
	return "My name is " + this.Name + ", I am a " + this.Gender + " and I'm " + this.Age + " years old.";
}

}

// This was rushed so save your critisism for tomorrow :to:
[/AS]
To use this in Flash MX 2004…
[AS]
var Person:CreateCharacter = new CreateCharacter();
Person.Name = “Bill Gates”;
Person.Gender = “Female”;
Person.Age = 70;
trace(Person.ShowInfo());
//You can easily add on any values by giving the class variable, the property, then the value
//e.g.
//Person.obediance = 0.00001;
//Person.visciousness = 99;
[/AS]
Here is the class for Flash MX
[AS]
#initclip

CreateCharacter = function()
{
this.ShowInfo();
}

CreateCharacter.prototype = new MovieClip;

CreateCharacter.prototype.setName = function(name)
{
this.Name = name;
}

CreateCharacter.prototype.setGender = function(gender)
{
this.Gender = gender;
}

CreateCharacter.prototype.setAge = function(age)
{
this.Age = age;
}

CreateCharacter.prototype.setPlay = function(play)
{
this.playfulness = play;
}

CreateCharacter.prototype.setArrogant = function(agro)
{
this.arrogance = agro;
}

CreateCharacter.prototype.setClean = function(clean)
{
this.cleanliness = clean;
}

CreateCharacter.prototype.setViscious = function(viscous)
{
this.visciousness = viscous;
}

CreateCharacter.prototype.setCourage = function(courage)
{
this.courage = courage;
}

CreateCharacter.prototype.setCurios = function(curios)
{
this.curiosity = curios;
}

CreateCharacter.prototype.setObediance = function(obediance)
{
this.obediance = obediance;
}

CreateCharacter.prototype.setStability = function(stability)
{
this.stability = stability;
}

CreateCharacter.prototype.setAdaptability = function(adaptability)
{
this.adaptability = adaptability;
}

CreateCharacter.prototype.getPlay = function()
{
return this.playfulness;
}

CreateCharacter.prototype.getArrogant = function()
{
return this.arrogance;
}

CreateCharacter.prototype.getClean = function()
{
return this.cleanliness;
}

CreateCharacter.prototype.getViscious = function()
{
return this.visciousness;
}

CreateCharacter.prototype.getCourage = function()
{
return this.courage;
}

CreateCharacter.prototype.getCurios = function()
{
return this.curiosity;
}

CreateCharacter.prototype.getObediance = function()
{
return this.obediance;
}

CreateCharacter.prototype.getStability = function()
{
return this.stability;
}

CreateCharacter.prototype.getAdaptability = function()
{
return this.adaptability;
}

CreateCharacter.prototype.getName = function()
{
return this.Name;
}

CreateCharacter.prototype.getGender = function()
{
return this.Gender;
}

CreateCharacter.prototype.getAge = function()
{
return this.Age;
}

CreateCharacter.prototype.ShowInfo = function()
{
return "My name is " + this.Name + “, I am a " + this.Gender + " and I’m " + this.Age + " years old.”;
}

#endinitclip
[/AS]
And to use this in Flash MX…
[AS]
var Person = new CreateCharacter();
Person.Name = “Kylie Minogue”;
Person.Gender = “Female”;
Person.Age = 32; //Probably older :wink:

trace(Person.ShowInfo());

// Rather than tracing the returned value from the function, you could use this

var info = Person.ShowInfo();
trace(info);

//Makes no difference but it gives you another option
[/AS]
Wow…thats alot of code :!:

Sorry for being breif but I will make it up to you all.

BTW, has anyone noticed how many people have read this topic?
It’s like 470 people in 8 days. :geek:

Cheers

Wow. That’s a lot of code! That’s awesome!!!
…man, I wish my computer was back up and running so I could actually play with some of the code…
I actually feel like I’m better with the conceptual programing, then the actaul down-and-dirty codiding sometimes… but I still want to be able to lend a hand…
I think the reason so many people have taken a look at this is because it’s such an interesting concept, and is turning out to be a lot of fun!

[size=large]Tentative Information:[/size] - if any of this is blatenly incorrect, let me know… I’m trying to help consolidate some of the basic information on the project.

**Project Name: **[color=blue]Project Ayumi[/color]
**Team Members: **[list][color=blue][]OBCT
[
]Spirit-Z3RO
[]InsaneMonk
[
]RedMirrorBall
[]SeiferTim
[
]Marz
[*]If I mistakingly left you out, let me know!![/color][/list]
Project WebSite:[color=blue]http://ayumi.no-ip.com *[/color]
**Funding: **[color=red]None, at this time. Perhaps we can set up a PayPal thing later?[/color]
**Programming Language: **[color=blue]AS2, it would seem to be the best choice[/color]
**Graphics Style: **[color=blue]2-D Semi-Pixelated Cartoon Style[/color]

Help me add to this :smiley:

  • Once I get my server up and going, and we’ll eventually, probably, spring for a Domain Name later… I see us using the site as a way to inform others on the project, as well as a way we can let each other know whats going on… I can also put together a private FTP server to make it easier to exchange files.

hey could I get in on this? and for an idea later on, maybe we could make something like a design a character type of deal instead of having a premade one, the player can design their own character and save it via php, although Im not so great in actionscript this looks really interesting…

i see that sometime in the future, there might be a way to have character randomly created, as if it was “born”.
If you have any ideas, feel free to post them :smiley:

Here is my idea on what some of the interactive objects should look like:


class object {

var name:String; // The Official name of the object, i.e.: "Ball", "Plate", "Television", etc.
var ObjType:Number; // The type of object it is.  We'll have to
// make a list of items: 1 = Toy, 2 = Food, etc.
var ObjWeight:Number; // the weight of the object, Heavy 
// objects ae hard to lift, etc.  We can simplify this by have 'ranks' of
// weight: 0=weightless, 1=light, 2=medium, 3=heavy, 4=immovable, etc.
var ObjColor:String; // The general color of the object... I think we
// can let her have a 'favorite' color and so she may like certain 
//things more than others based on the color.
}

I think That’s about all we need to worry about with the items. Everything else should be based on her learning how to use the items. For instance, she should be able to figure out that any object with type == 2 is okay to eat, and any object with type == 1 is something to play with and have fun. I’m not quite sure how we’re going to get her to understand these things, per say, but conceptually, it should work in a way that she can say:


Ball : Toy
Toy : Play
Play : Fun
Fun : Happy
Happy : !Sad

And so on and so forth, so that any time she wants to lower her sadness, she will put 2 and 2 together, and pick up a ball.
I imagine sometime down the road we’ll end up with a massive list of these connections that she’ll hopefully be able to build these connections herself.

OBCT, that’s a LOTTA codes, gj :slight_smile:
SeiferTim, you forgot to put yourself in the list -_-

Yeah, I wish I could lend a hand too… so I’m hoping to learn a lot of programming elements (mainly flash I guess) and so if I’m a bother, please bare with me;)

Ok… drawing with flash is hard… all the lines and stuff, especially with a mouse that doesn’t exactly always click OR drag

Below: An appearance of Ayumi… in the making anyhow. I’m sure a lot of you have better ideas and more creativity on this topic, please post them :slight_smile:
And about the image below, ignore the face, ignore the eyes, just see if ya like the hair and ears.
The face turned out to be a guys face…

I picture something much… smaller…
We’ll hammer out the exact details of the looks later on, I’m thinking the main result would be that she looks kind of like the smilies that they have been using on this site, kind of like my Avatar, but a little bigger, and more realistic.
<center><img src=“http://www.bahamutsoft.com/images/seifersprite.gif” border=0 alt=“SeiferSprite”></center>
BTW: Does anyone know what my Sprite is based off of? It should be pretty obvious… I made a movie a ways back for a website (Which died) called: GameBastard.com. It was sort of a Game Review site, but more like the Onion of Gaming… most of our articles were more humorus than informative… in fact, I think our MGS2 Review was done with the screenshots made in Paint (with Arrows pointing out important features like bad guys, cardboard boxes, and mullets) since our TV-Card was on the fritz.
Anyway, this sprite was on the main opening screen for the movie, and it had stuck with me ever since (I even spent a whole month trying to get a web-comic going, with my little guy, but it also died)
See if you can guess who was the model it was based on, and wait until you see my upcoming new footer!

I only provide brief intervention when you guys need something to revlarrify a couple of things here and there… And that is about it. :slight_smile:

*Originally posted by Marz *
**I only provide brief intervention when you guys need something to revlarrify a couple of things here and there… And that is about it. :slight_smile: **

But it is Brief helpful intervention. :beam:
You still help a lot. :slight_smile: I wouldn’t dream of leaving you out of the team, even if you only pop in once in a while to offer your opinion… hmmm I just remembered…
[edit]
[list][color=blue][*]Marz’s Clone[/color][/list]
[/edit]
:stuck_out_tongue:

Wow, this has really come a long way since I last checked in. It took me ten minutes to get to the bottom of this thread.

I like what I see.

SeiferTim,

The project form is great!!
How did you manage to get a website so quickly?

Spirit-Z3RO,

You don’t really need to know anything to help out. Even if you were making us all coffee at 4am in the morning, it’d still be helping :wink:
BTW, I like those graphics!

Using the class I slapped togeather, I’m making a form to create a new character. Using a few input boxes and ALOT of combo boxes, you just enter the data in, then click submit.
Does anyone have any priority of where to save this data?
MySQL?
Access?
NotePad:pa: (Please lets make this a last resort)

Cheers

Puts on his coat and barges outside, heading towards the Coffee&Tea shop

Runs back inside after a block, forgetting he was suppose to be in school

I’ll do what I can :slight_smile:

I’m already learning from the posted coding…

Where are we going to start though? Movements? Emotions? Bases such as food = edible and toy = dont choke on it?

Actually, it appears as if someone else took the name from me… I’ll try another one. I didn’t make a site yet… I’m waiting on my new motherboard… I’ll let you know what it’ll be…
Z3RO, you’ve been contributing as much to the project as anyone else has. You’ve helped me come up with the list of variables I threw together earlier.

Now, our site should be at:
projayumi.no-ip.com
Don’t have anything up for it yet, I can work on it in about a week or so, depending.
I can make up a logo, and things later on too…
start letting me know what type of info you want on the site.

Ok well here’s the run down of what I’m working on at the moment.

Registration -
To use the program you register a username & password, then select the character details (name, age etc).
The reason for this is because having 1 person per character in the database will be easier to work with. This can be changed down the track.
So first I’m setting up the details form in Flash then I’ll do the server side script to add the info into the database, then I’ll write an SQL script so anyone can install it.
I’ll (try to) write up the scripts in PHP (easy :thumb: ), ASP, JSP, CGI so pretty much anyone can use the application without having very specific server requirements.

I just realized I better do a spell check and fix up all of my many million spallen mistaxs :stuck_out_tongue:

A Small Prayer
Dear Lord,
Thank you for inventing Object Orientated Programming!!! It has made my life soooooo much easier!!!
Before I go on with this post…can I ask you to get Macromedia to release Director MX 2004 a little bit quicker…I’m getting bored of waiting…:pope:

A message for Yeldarb, alzor, Master64, Marz and anyone else who has made a post
If your still willing to help out, we’re still willing to pretend we want you to :smiley: jks…

Everyone is always welcome to join in this “Programming Fest” (if you will).

I’ll thank everyone again for everything they’re doing :thumb:

I’m not sure about anyone else but I think I’ve broken the record for having the highest blood/cafine level at any one time.

:bounce:
:run:

Cheers

Hello

Has anyone not learned the lessons about AI from the Terminator! We’re doomed!!!:skull: :skull: Soon we’ll have an army of teenage terminators flooding our malls and starbucks!! Noooooooooooooooooooo:skull: :skull: