1. A method, implemented at least in part by a computing device comprising one or more processors, the method comprising: providing, using one or more of the processors, at least one virtual object; associating, using one or more of the processors, a semantic annotation with the virtual object; providing, using one or more of the processors, a plurality of computer-controlled characters each having a different associated semantic knowledgebase associated therewith, in which the semantic knowledgebases are independent of the virtual object and the semantic annotation associated with the virtual object; receiving a user-input selecting the virtual object by taking a virtual photograph of the virtual object and presenting it to any given one of the computer controlled characters; automatically generating a query to the given computer-controlled character, the query corresponding to the virtual object presented to the given computer-controlled character; dynamically providing, using one or more of the processors, a natural language output associated with the given computer-controlled character, in which the natural language output is responsive to the query and is based on a dynamic combination of the semantic annotation associated with the virtual object and the semantic knowledgebase associated with the given computer-controlled character, such that a natural language output from another computer-controlled character, that has an associated knowledgebase different from the knowledgebase associated with the given computer-controlled character, is different from the natural language output from the given computer-controlled character; enabling a user to take the virtual photograph of an arbitrarily selected scene within the virtual world, in which the scene comprises the virtual object; and storing a depiction of the scene comprising the virtual object as a virtual photograph, including storing the semantic annotation associated with the virtual object in a state the semantic annotation has at the time the virtual photograph is taken, with the virtual photograph, in which the semantic annotation is attached to the image of the virtual object in the virtual photograph.
6. The method of claim 1 , further comprising altering the semantic knowledgebase associated with the given computer-controlled character is based on events that the given computer-controlled character observes in the virtual world, and in which the natural language output from the given computer controlled character is based at least in part on the altered semantic knowledgebase associated with the given computer-controlled character.