Infrastructure Guide

From Virtual World Web Wiki
Jump to: navigation, search

This is the main documentation for the Virtual World Web infrastructure. Programming guides, API documentation, scripting documentation and more. This guide is split into 3 major sections meant for different audiences.

VWW Business Documentation

High-level summary documents describing the Virtual World Web platform and technologies. These will be best suited to managers, marketing folks, investors, or new team members tying to get a better understanding of the VWW.

VWW Operating Manual

The operating manual for the virtual world web. This area is for scene editors, content creators, world operations, site admins, quest builders, and the like. It will get technical, but will stay away from things that only matter to programmers and stick to "front-end" topics.

Quick Start Guides

Client Applications

Key Virtual World Web Concepts

  • Network Architecture - A brief overview of the major VWW software components and their responsibilities.
  • VWW URLs - The Virtual World Web URL specification
  • Layer One
    • Entities - Represent people and groups on a service provider's system.
    • Worldspace - Represents the space in a virtual world, how it's mapped to VWW URLs, and how permissions are applied.
    • Instances - The run-time representation of a scene, and instance where connected users actually interact on a server.
    • Abilities - Represents things that users can do (actions they can take).
    • Permissions - These help you secure your world, enable and disable features and more.
    • Object Types - Stored snippets of 3D document that can be expressed in-world. Similar to Unity prefabs, but with a very rich feature set.
    • Inventory and Containers - Make it possible for "things" to be "owned" by places or people. This can form the basis for a game's inventory and object system.
  • Document Object Model - The foundation of our virtual environments. A document object model that is programmable, storable, and fully multi-user.
    • References - A powerful feature of the DOM that allows for live-updating instances of Object Types' content with local overrides (modifications)
    • Scripts - JavaScript code that can add interactivity and automation to your world.
    • Curves - Nodes that can animate almost anything in your scene in complex ways.
    • Physics - Nodes that can effect spawn, follow, approach, face, and other operations on objects in your scene.
    • Start Points -
    • Attribution
    • Layer System
  • Transfer System
  • Layer Two

VWW Technical Manual

This is the technical and reference manual for the VWW. There is written documentation for the major programmable systems explaining how to build a UI script, world script, or component, as well as how the DOM and other key systems work under the hood. There is automatically generated documentation for all API surfaces. Finally those automatically generated documents are augmented with remarks in related/linked but separate documents.

Concepts

Programming Guides

These sections provide written explanations of major programmable systems, with step-by-step guides to help you get started.

  • World Scripting Guide - Write JavaScript that adds interactivity and exciting game features to your scenes. These scripts run on the server, can be updated without a server restart, and can interact directly with users, scene objects, the server and server components.
  • Component Programming Guide - Write your own server plug-ins (components) in C# that are loaded directly into the server and admin. These components can do virtually anything. Much of the VWW default functionality is provided by components.
  • Curio UI Scripting Guide - Write JavaScript and design UI components that run on connected clients. These scripts can interrupt navigation to display messages or web content. They can be launched in response to world world script events (like clicking on something in world). They can also make up the user-visible part of a custom server component.
  • UI Editing Guide - Discusses the process of using the UI Editor to create and edit UI. The created UI can then be displayed by a Curio UI scripts (client-side JavaScript).

Programming Reference

These sections document various programming interfaces. Much of this documentation is auto-generated from source comments, with additional commentary added where further clarification is needed.

Administration