Thursday 28 February 2008

Character Actions

Progress has been slow of late with OpenSG, to the point where I'm going to need to contact my project supervisor.

However, in order to make the most of the situation, I have been spending time developing the remaining framework of the character - taking an input, making an emotional decision and then giving an output. I will at some point publish the algorithms used in these processes, but in the meantime I wanted to publish the actual list of inputs and outputs.

Natural Language Processing simply wasn't an option with everything else I have to do, so it's more a matter of having a defined list of inputs / outputs.

There's going to be some learning involved, so that the character learns the most appropriate output, rather than it being hardcoded in. This should make it a little more interesting, and a little less predictable!

Inputs:
1. Say "Hello!"
2. Say "I love you!"
3. Say "Where's the toilet?"
4. Say "You smell!"
5. Say "I'm sad."
6. Say "You're sad!"
7. Say "AI sucks"
8. Say "You're quite clever, aren't you?"
9. Say "What do you know about AI?"
10. Say "Goodbye" (procedure for exiting?)
11. Do: Kiss
12. Do: Hug
13. Do: Smile at
14. Do: Stroke
15. Do: Rub belly
16: Do: Poke tongue out playfully
17. Do: Hold hand
18. Do: Give present
19. Do: Dance with
20. Do: Tickle
21. Do: Kick
22. Do: Poke
23. Do: Laugh at
24. Do: Poke tongue out at, in rude way
25. Do: Smack
26. Do: Push
27. Do: Blow a raspberry
28. Do: Trip up
29. Do: Scream loudly
30. Do: Shake fist at

Outputs:
1. Say "The toilet is not here."
2. Say "Artificial Intelligence? That's far too big a subject for me to know! Look on WikiPedia!"
3. Say "Hello!"
4. Say "Thank you!"
5. Wave
6. Say "It's a beautiful day!"
7. Smile
8. Laugh
9. Say "I just want to die!"
10. Cry
11. Sulk
12. Dance
13. Sit
14. Gaze into space
15. Say "That won't help!"
16. Say "I don't care about AI!"
17. Stamp feet
18. Kiss
19. Say "I love you!"
20. Blush
21. Scowl at
22. Punch
23. Say "I hate you!"
24. Say "Would you like to be my friend?"
25. Cuddle
26. Tickle
27. Push you away
28. Say "Get away from me, you minger!"
29. Poke you
30. Drool
31. Say "Hmmmmm... me want!"
32. Lick lips
33. Say "Ugh!"
34. Turn up nose
35. Shake head

Thursday 14 February 2008

Character Animation in OpenSG

Today I've been investigating programming in OpenSG, by playing around with a really simple program that was used for my Virtual Reality project.

I also did a search around for a character to use - now I'm using Blender, Generi (which is a Maya character rig) is no longer suitable. After a little search around I came across a little chap called Ludwig, created by Jason Pierce.

I've plugged it into OpenSG and all seemed reasonably OK, but after playing around a bit and doing some research it looks like exporting from Blender into OpenSG exports a fixed model. Oh dear. So if I want to do any animation (which clearly I do) I'm going to have to program the individual parts as individual nodes, and then get them to move around that way.

Tomorrows job is to investigate creating a simple face using individual nodes.