- User interaction. This is where it being a "game" comes in. Conceptually, this is pretty simple. Add in a character stand-in for the player (for added fun, let them customize their own name and gender), and each turn ask them what they want to do instead of generating an action for them probabilistically. Emotions for a player character would have no effect on their actions (since those are decided), but actions they perform affect the emotions of other characters.
- Smart Camera. Potentially based on Dan Markowitz's paper about in world camera motions, this would use "camera as narrative guide," or storytelling AI as cinematographer. The idea being, much like in the text based version of my program the AI chooses what lines of text to show and which to omit, in the graphics based version the AI chooses what scenes to train the camera on and which ones to let slip. For potential added merit, I could try intercuts - cutting back and forth between two "important" scenes - but this already sounds incredibly difficult. This requires me to port my code to Unity and graphics first.
- Extendable Actions/Emotions. This one actually sounds the most challenging to me, and I'm not sure if I'll be able to do it the way my code is currently structured. The idea is really interesting... Let anyone create a text file that defines actions and ramifications, and then that action and those ramifications get folded into the interactions and, by extension, the storytelling program. The problem with this is that actions and emotions don't all function the same way. "Fighting" has a completely different affect on the world than any "romance" style interaction, since "fighting" has a winner and a loser, and can result in a character's death. I'm also not sure how to implement this with the story AI, since the AI needs to recognize story beats.
On top of this, I've still got my own expansions to my system that I need/want to implement:
- The storytelling AI. This is the entire basis of the project, and is therefore my first priority.
- Finding a way to show off the software through Unity and simplified ADAPT.
- Fleshing out the interaction simulation (in particular, making fighting and character emotions more robust).
This is the order in which I'm choosing to prioritize moving forward:
- Storytelling AI. I still need to figure out an algorithm/technique for getting a story "recognized" and told optimally. I still haven't found any papers that attempt this, which is why this is so exciting to me. I have to develop this technique on my own.
- User Interaction. All things considered this should be simple enough, and will make showing off the code much more interesting.
- Showing off my code in Unity/ADAPT.
- Fleshing out the interaction simulation
- "Smart Camera"
- Extendable Actions/Emotions
More later!
No comments:
Post a Comment