My brother, who is a lecture in popular culture and literature at a university back home, sent me an email where he talked about a question he posed at one of his lectures. So here’s his email.
Duly appreciating your present distance from it, one of my cultural studies classes this week was speculating on the gaming world, and the fact that we’ve now got a specific TV ad running for the DS lite focusing on ‘games for girls’.
In relation to this the new such project my female students decided they’ed most like to see would be a ‘boyfriend tester’. They see a Sims type game which allowed them to construct characters from whatever information they could gather on real live boyfriend prospects (actual photographs, horoscope based birthday dates, social class definitions based on parents occupation, educational level, hobby interests etc.), rather than only being able to build up figures from the more defined pre-set options that the Sims gives at present.These figures would then become sort of tamogochi pets, placed in particular settings along with their own or their friends figures, (first date, meeting parents, romantic weekend, party, family holiday, discovery of fling with ex, potentially up to X years of marrige etc.), and basically road tested to see how they performed in compatability terms – or when they became insensitive bastards that were impossible to live with. I’d be intrigued to hear any thoughts you may have on the idea I could pass back to them?
I thought my response might be of interest, so here it is.
Replace the Sims but a BoyFriend Predictor? Yeah, I’d like a pony too:)
Seriously it might be possible, but the amount of configuration for this would be particular to each girl – there’s no one size fits all for that.
The way that the Sims works (for some background) is that each sim has 8 (or is it 9? I forgot – it was a while ago) motives. Each of these motives drops by a specific amount per tick (usually one 50th of a second) – but that amount is specific to each motive – need for sleep drops much slower than need to pee, for example. Each of these values that a motive drops can also be affected by an outside factor too – if you’ve eaten since you last peed then the motive drops faster, requiring you to pee earlier, as it would in real life. If you don’t eat/ drink, you don’t need to pee as much.
Anyway, that’s how th?y go down.
In terms of the sim deciding what to do next, each object / interaction ‘advertises’ what it can do for your motives, per motive. So, we have an object Bed that has several interactions on it – Sleep, jump up and down, make bed, lounge and write bad poetry, or lounge and watch tv.
Each of those interactions ‘offers’ specific motives specific increase values. Sleep offers the sleep motive to revitalize it 100%, and offers the comfort motive 50% increase, but nothing else to the other motives. Jump up and down offers 50% increase to the fun motive, but nothing to the others. Make bed offers 20% to the comfort value, but is also something that affects sleep since sleep isn’t on offer if the Make Bed interaction is on offer, since that means the bed is unmade and cannot be slept in (yeah, bogus but I didn’t make the rules on this:) ).
Now a sim who needs something to do looks around at each of the objects around it, and all of the interactions it can perform. It won’t be able to do all of them since some interactions will have age filters on it – adults can’t use potties for example, or social ones – adults can’t make out with teenagers, unless they are priests (Thank you, I’ll be here all week). But those they can use are scored (I’ll explain scoring in a second). The possible interaction list is then sorted using score as the key, and one of the top 4 interactions in the list is chosen for the sim to perform. We don’t always do the top one because if we did the Sim would _always_ do the best thing for it, and it would turn The Sims into the perfect screen saver, since you as a player would never need to do anything yourself.
In terms of scoring we go back to what motives the interaction can satisfy, then we determine for those motiv?s how important they are to a final score for that interaction. So we look at the current motives on the sim and balance them out. Balancing is where we take a curve table and use the current value of the motive as an index into the curve table.
Ok, complicated, what does it mean? What it does is take the motive value and make a non linear value out of it. Does that help? No. Hmmm.
Imagine this. If you need to pee, you desperately need to pee. It overrides everything else you need to do since it’s such an immediate need. If you just took all the motives and used the one that was lowest,- if you needed to sleep just one more value than you needed to pee – you’d end up sleeping which isn’t right. If you needed to clean something then instead of peeing or sleeping, your sim would start cleaning, which makes no sense when your pee need is so great.
By using the actual motive value and then using that as an index into a curve table you can assign a much higher value of need to needing to pee than just a linear value would be; the need to pee when it goes low suddenly outweighs everything else.
Imagine a table with two axis and a bell curve on it. The bottom axis is need to pee and the left axis is current motive value. If you go use the left axis as you motive value, then trace across to where the line is at that line, you can see how as the value gets towards the bottom the need to pee suddenly gets much much greater.
Kinda hoping that explains the balancing.
Anyway, the point is that each of the motives are balanced against each other, with those that come out as greatest need contributing to the final score of the possible interactions, based on what the interactions can satisfy and what the balanced needs are at that moment. In generating the score, only the motives on the sim that are satisfied by what the interaction offers are used, and their individual scores are scaled by the percentage of satisfaction an interaction can give per motive. So if you desperately need to pee, but you look at the Sleep interaction, your score for that is going to be low because the sleep interaction doesn’t offer any satisfaction ?or the pee motive, so the pee motive value doesn’t go into the final score for that interaction.
Now, having said all that and bored everyone rigid, I can point out that if you assigned Important Features Of a Boyfriend instead of motives, and re built the balancing curves based on the personality traits of the person you are looking at, then assigned actions he could possibly do and put on them what Important Features they would satisfy, you could arguably predict his responses. Of course it a) assumes that you could draw those curves with some accuracy, and further assumes that a straight curve would actually be any kind of prediction – in some cases it would but in lots it wouldn’t – and when it gets to the point where those curves are changed by outside factors (“I would put up this amount of nagging if you look like Posh, but that amount if you looked like Mel C”) and further, affected by the results of *other* variables from the table (“If you combine you looking like Mel C with the fact that I haven’t gotten laid in a while”) then it gets _really_ messy.
One of the other issues here is in feedback.
It’s all very well building a boyfriend simulator but lots of the time, given the complexity of the math of the simulation behind it, you can’t predict what the sim is going to do next and continually surprised by it. While that?s great from a game play situation, as a home situation it kinda sucks. Being able to get feedback as to *why* a sim (or boyfriend) has done what he’s done is the key to being able to play successfully, and it’s where we all fall down as humans, either because we think we already know (and are wrong), because we ask and aren’t given a truthful or complete answer, or because we just don’t know how to or don’t care to ask.