Thursday, 24 March 2011

The major chunks of code that will have something to do with NPCs in Opensim.

To the best of my vague understanding the major players in the Opensim NPC universes as designed in the Vanilla version (and in theory the Aurora version too because it's based on IClientAPI) are Scene, ScenePresence, Agent, AgentCircuitData, AvatarService/AvatarFactory and to a certain extent Client.

I'll attempt to give a brief description of what my understanding of each of them is:

Scene
This is a representation of all the objects which are located in a region, whether they are visible to a user in a viewer or not.

ScenePresence
This is the physical presence and to a certain extent the view of the scene the viewer/client/agent combo has.

Agent
This is the object encapsulating all the associated information to do with an avatar and some user data too. An Agent is a root agent if it is just rezzing by either walking/flying onto a Region, Teleporting or Logging in to a region.

AgentCircuitData
This is effectively data telling the region/scene where the Agent has come from (e.g. just logged in or whatever). It also may have some physical data like IP address of user associated with it.

AvatarService/AvatarFactory
These are classes which relate to the actual rezzing of the Avatar as well as the visible inventory.

Client
This is the server side code which interacts/handshakes with the viewer. This code intercepts user commands from the viewer over the network and then relays those commands to the server which reports back. Then the Client code serializes the responses, packs them up and sends them back over the network to the user's viewer so any updates to the users view of the scene can be viewed in the viewer.

No comments:

Post a Comment