| Feb. 10th, 2008 @ 11:45 pm Heart Container Pieces |
|---|
Lately I've been in coding mode, which for some reason seems mutually exclusive with writing mode. I wrote to Prof. Douglas Hofstadter's research group and got a friendly contact from someone there, who sent a set of interesting papers from their work.
I'd like one or more simple 3D characters that I can render as sprites from various angles. There's a trick to do that automatically from Blender, and so far I've put enough effort into Blender to make a stick figure but not to make the "skeleton" that lets you pose it easily.
After working on the Colony game idea for a while I turned to AI stuff again. It's not much, but I've got a system that looks at raw data representing an object, like: {"name":"Pillow","mass":1.0,"albedo":.2,"smoothness":.9,"brightness":.5,"compactness":.8,"hardness":.2,"heat":.6} And makes a set of judgments about it, in this case "matte," "soft" etc., and at a higher level of abstraction "Fuzzy," somewhat "Rocky," and not "Metally" or "Crystally." There's also something akin to a "codelet" system like the one Prof. Hofstadter has used for various things. I picture it as a hand of cards with instructions on each. Some events cause cards to be added to the hand, and every so often a card is pulled from the hand and played, sometimes leading to more cards.
I also started a different judgment system inspired by something nikonraccoon had written: taking some raw stats for RPG characters and making judgments about whether they're "healers," "tanks" etc., then seeing whether a group has a good mix of skills. It was a little side experiment, but it's actually worth pursuing because it's directly related to storytelling. It'd be possible to make similar decisions to "has this party got a healer?", as in "has this story-outline got a protagonist?"
Where I'd like to go from here involves two goals within reach. One is to have a system that tracks surrounding objects and other sensory inputs and feeds those into the perception system, so that it's at least vaguely aware of: A warm, soft feeling beneath my feet. A warm feeling around me. A big, leafy green thing close on my left. A small, round, fuzzy brown thing in reach on my right. A bright, shiny yellow thing very far above. It seems important to give the system at least some awareness of things other than objects around it; picture going around with no information about the world but a radar display with some notes on each "target," and nothing about the ground, sky, etc..
The other thing is to adapt some code I have for "plans" and link that in one direction to the really basic action-selection system that spits out one of several words like "walk" to represent commands for basic physical actions. In the other direction the plans should get brought up by things the system perceives. What I'd like to see here is that the system "sees" an object, identifies it as a coconut, thinks of the plan "eat" as a result, picks a target (the coconut), and carries out the plan. As I understand it, in The Sims an object basically broadcasts to the characters "this is what you can do with me." Instead, what I'm proposing would have the system itself decide what to do, with a constant back-and-forth between what it sees and what it's trying to do. "There's a coconut... I need something to eat. There's a tree, a coconut, a monster... Wait, monster! I'll throw something at the monster -- how about this coconut?" |