Post on 21-Jan-2016
RealXtend vs. Second Life
RealXtend overview Main ambition
http://wiki.realxtend.org/index.php/NG_Design_Document/Introduction
Promote the evolution of 3D web Promote virtual world standards
Open source Based on OpenSimulator Consists of viewer, Naali, and server suite, Taiga
RealXtend vs. Second Life
Second Life overview http://wiki.realxtend.org/index.php/NG_Design_Document/Existing_Systems
Largest install base, most popular virtual world platform
Proprietary Viewer only is open source
Second Life Architecture
Monolithic
Very entangled
Two domains: Agent and Regionhttp://wiki.secondlife.com/wiki/Structural_Design_Overview
Architectures of both are identical
Consists of hosts, services, and stores
RealXtend Architecturehttp://wiki.realxtend.org/index.php/NG_Design_Document/Viewer_Architecture/Framework
Seeks to be “robust, extensible, and flexible”
Three main elements: Entity-Component (EC) scene model, core API, network protocol
EC scene model: Any component that contains arbitrary data can be added to a generic entity
Core API: implements basic functionality (e.g. display graphics, manipulate scene, user input)
Network protocol: Extensible and allows applications to define custom messages
Three main technologies: Qt, Ogre3D, and kNet, which implement core API and EC
RealXtend Architecture: Modularity
Consists of a number of modules, core and user-defined
Modules implement a functionality or service
Modules have a minimal dependency on one another
Events are passed along hierarchy of modules
RealXtend Architecture: Extensibility
Modules/features implemented as plug-ins can be enabled/disabled at runtime and are not distinct to a particular entity
Can easily add new module or override old module to add/change a functionality without having to change the system
RealXtend Architecture: Entity-Component
http://wiki.realxtend.org/index.php/Platform_Extensibility_Working_Group/Entity_Component_Article
All objects on scene are represented as entities
Each entity has a number of components (e.g. light, mesh, scripts, etc.) attached to it
Concept of actions Write Javascript/Python code for entity to
manipulate components
Scripting
Second Life Uses Linden Scripting Language Effects available immediately
RealXtend Uses Python Must reload
Both Need scripting privileges
Graphics
Second Life Uses prims Just now starting to support mesh
RealXtend Uses OGRE 3D graphics rendering engine Supports meshes for avatar, terrain, objects Can display shadows and particle effects Can import scenes from Blender
Community
Second Life ~10m total residents http://wiki.secondlife.com/wiki/Scalability_VAG
RealXtend ~30,000
Use Cases
Similar for both Conferencing Games Simulation Socialization
Scalability
Second Life 50 avatars per region
RealXtend Unlimited number of entities
Conclusions
Depending on what definition you take of a virtual world
Similar in a broad sense Both offer basic virtual world functionalities
Different in terms of implementation Modular vs. monolithic
Feasibility/practicability of using realXtend instead of Second Life?