The main idea behind building a bot, which can persist state about its status on disk, is that we use LINQ both for in memory as for persisting state on disk. LINQ is a very big part of this project and is also interwoven right into the core. Though the SDK is targeted towards Active Worlds, we strive to use type templating as much as possible, so we can support a factory pattern to support VR engine's such as OpenSim using the same scripts/syntax.

This paradigm will make it easier to program bots and other people to understand how bots work. Without having to have direct knowledge about the history of the active world SDK directly. This will unify the way how people write bots and make it more understandable and less obscure in sharing code.

High Level Architectural Overview

This overview highlights the most important building blocks from AwManaged. There are more building blocks we will zoom in on as this project progresses.


How to get started

To get the Bot Example working you will need to add your own app.config Application Configuration file to the AwManaged.Tests project and provide your correct Universe Login credentials.

For the binary distribution, The Technology Preview Setup Package contains an application config file (from version 0.5.15 and up) and allows you to configure it from the command line, when starting up Console.exe.

Remoting clients

from the previous architectural overview, a remoting client wil have to authenticate against the Authentication service. This same service also checks for authorization. This basically means, that when a user is logged on it is authenticated under a privilege account, but the Aw managed SDK is proxying the remoting client's authorizations after successful log on to do tasks on behalf of the awmanaged stack (which is logged in under a privilege account). Because there are interpreter services, the authorization for a remote client will become very fine grained right onto the action string of an object. The idea is to provide an IDE which can administer interpreted action strings and bind them to authorizations. In realtime scenario's it will be possible to exclude certain users from using the light command for example.

Example Video's

Bot Operating system booting up with unit tests
Boot sequence includes starting up storage services, remoting services and performing some unit tests during boot. Some simple command line interpreter is tested, by issuing some simple commands.

A Virtual ATM Machine / Bank Bot in AW 4.2 created with AWManaged

Updating 225 objects (full update/all attributes) in one second flat
Bot running remote on simple Wifi Connection to the remote universe. Browser running from the same connection.

Last edited May 5, 2010 at 2:27 PM by cube3, version 41


No comments yet.