Scenarios for AI in Digital Media

From GICL Wiki
Revision as of 12:53, 10 September 2007 by J Dobies (Talk | contribs)

Jump to: navigation, search

Game, movie, animation and website creation all rely on both computer scientists and digital media artists to create a good final project. The role for computer scientists is not limited to just the creation of the programs used by digital media artists. Artificial Intelligence is being used in many capacities for each of these media. Below are scenarios where the roles of digital media artists and computer scientists begin to intertwine.


Scenario 1

Rome: Total War is a computer game that has large computer controlled armies battle each other.
You are creating 3d real times strategy (RTS) game. This game allows for the user to create a large army by building up different squadrons of various soldiers (archers, footman, horseman etc.) The player uses these built up squadrons to attack enemy armies and fortifications that will be controlled by the computer. When the squadrons attack, you want each individual character to react to the environment and to the other soldiers around them. To make the game more enjoyable you want to allow the computer to adapt to the play style of the user and be able to learn from their actions. This would make the computer better able to defeat the player if they continue to attach in the same way. How can A.I help in this situation?

Some examples of RTS Games are:
WarCraft by Blizzard Entertainment
Civilization IV by Sid Meier
Rome: Total War

A.I. would be able to handle the group behavior necessary to have a large army respond to each other and their environments. This would be done through the use of agent technologies similar in method to Massive and the Artificial Life project. These technologies use Fuzzy Logic to allow agents to react similarly to humans through the use of non-harsh boundaries to make decisions.The ability for software to learn from users makes games more enjoyable and tailors the experience to each user. This has been harnessed in many games including Revolt and Command and Conquer: Renegade This A.I. technology harnesses the power of Machine Learning

Scenario 2

Error creating thumbnail: convert: Not a JPEG file: starts with 0x00 0x00 `/var/www/images/3/3f/Massive.jpg' @ error/jpeg.c/EmitMessage/242.
convert: missing an image filename `/tmp/transform_106901c873af-1.jpg' @ error/convert.c/ConvertImageCommand/3011.
An example of an AI army created with Massive for Lord of the Rings.
You are creating a 3d animation that requires you to have a scene of thousands of character in battle in several shots. Due to the time constraints you do not have the necessary time to hand animate each character's action. You need a system that allows you to have many characters use several short animations you create to interact and battle with each other without seeming repetitive and all responding the exact same way. How can A.I. help in this situation?

This has been a dilemma for many animation and visual effects studios. Hand animating individual soldiers in an army takes an extreme amount of time. A.I. would be a great solution to this problem. Agent technology would allow you to create agents that would respond to each other and the environment. This would require that you create an animation (or multiple animations) for each action that an agent can go through. These actions would be called by the agent's brain. The agent brain uses Fuzzy Logic in order to make decisions as to what action should be called.

One of the biggest developments in large scale character interaction was the AI system created for use in the Lord of the Rings films, Massive Software. It has been used in feature films (Lord of the Rings, King Kong, Chronicles of Narnia) and commercials to simulate lifelike crowds that are able to be controlled. This system allows for the creation of agents that respond to their environment and each other. These responses are determined through the programming of the 'brain'. This 'brain' is created through the definition of parameters using Fuzzy Logic. Through the evaluation of these parameters the brain is able to determine and action (or blending of actions) for each agent. An action is an animation (key framed or motion captured). These actions are all created by digital artists and then brought into the system for use. Action trees are created to establish connections between animations to allow for the transition from one action to another. These transitions can range from change from one animation to another, to traveling through several short animations to arrive at a final goal. The action tree also is responsible for creating loops within the action or defining branching points for changes mid animation. Because of the direct connection between animation and programming it is important for the digital artists and the computer programmers to work closely to develop both the brain and the action tree in order to ensure an accurate final product.

Scenario 3

A still from endorphin showing a character being hit with a car.A sample video can be seen here.

You wish to create a 3d animation where you want your character to respond to real world physics at certain points while adhering to your animation at other points in time. For example you want a character to be running down the road, get hit by a car, and then land safely on its feet. You want to be able to control the animation before the character was hit by the car and once it lands however in between them you wish for physics to take command as long as it can achieve the starting pose you defined after it hits the road. While the character is in air you want to constrain him so that he has a behavior to attempt to achieve (such as do a flip or attempt to grab something). How can A.I help here?

A system like this is the basis of Natural Motion's Endorphin. Endorphin uses adaptive behaviors which allows for interaction between characters. These behaviors set goals for characters to achieve. These goals can range from attempting to jump and grab an object to balancing while standing up. The animator can apply forces on top of these behaviors which the character will respond to while still attempting to achieve the goal. The animator can also have collide with the character instead of just using invisible forces. This system also allows for the constraining of objects with weight to the characters which will affect the character's motions. Animation constraints that are affected by real world physics was suggested by Witken and Cass's theories on spacetime constraints.Because there is not one solution that provides an exact solution to this problem it is hard to come to a solution for this dilemma. Through the use of genetic algorithms the computer can discover a solution that works best. Genetic algorithms are a subsection of Evolutionary Computation.

Scenario 4

You create a online system that allows a user to attach tags to a movie file they upload. These movie files become nodes that are able to be connected to each other to create a branching non-linear story path. You want to allow the user to find paths based on length as well as creating a system that allows the user to make a short sentence that will be used to search for a path that will most resemble the sentence. How can AI help to solve this pathfinding?

The English language has many words all have the same or similar meaning. Because of this, it becomes important to break down these words using Natural Language Processing and then gather all the synonyms for each word in order to create a large database of similar words to compare to the tags. This would help to find the most accurate path. Natural Language Processing (NLP) is s subsection of Machine Learning. An example of node based video automated video editing is Philbert and Dodge

Scenario 5

Planet Diggum is a game designed by Drexel University students that allows multiple users to interact with a multi-touch display to control characters on the screen.
You wish to make an installation game that will allow for multiple users to interact at the same time. This piece should allow multiple users to interact with each other over a single screen without the need for any input device (mouse, joystick, keyboard etc). Also, to make the game more interesting you want to remove the need for any graphical interfaces to interact with the program but instead be able to use different gestures in order to perform different actions. What would AI be able to offer as a solution to this problem?

A multi-touch display would be an ideal solution for the hardware issue of this dilemma. These units are touch sensitive displays that allow for multiple points of contact simultaneously. To allow for multiple users, AI must be used to differentiate each one based on proximity and time of touch. This not only allows for a more intuitive interaction but also provides the ability for multiple users to interact with each other and work simultaneously on one system. Gesture recognition is an important part for making this system intuitive. This can be done through training the computer program to recognize each of the gestures by harnessing the techniques of Machine Learning.

Scenario 6

An example of a person playing Nintento's Wii
Gaming is moving to a more user friendly environment. You wish to allow your users to make gestures with a controller rather than just having them press different buttons in different situations. This would allow for users to complete many more actions without the need for a heads up display, a menu system or a wide array of keys.

Nintendo's Wii is a platform that allows game developers to create such games. It uses a tiny accelerometer as well as infrared detection (IRD) to measure the movement of the remote in 3d space. Game designers can develop actions that will rely on the gestures created by the remote. The recognition of gestures can be trained by the computer through Machine Learning. This is achieved by having a trainer go through the actions several times so that the computer can compile data on the action. This data is then used to interpret actions the user makes by choosing the one that is "best fit".