RealXtend vs. Second Life RealXtend overview Main ambition 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 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_Desi gn_Overview Architectures of both are identical Consists of hosts, services, and stores
RealXtend Architecture 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 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 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?