ReplicaNet
   HOME

TheInfoList



OR:


Introduction

Distributed computing Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers. The components of a distributed system commu ...
and
distributed object In distributed computing, distributed objects are objects (in the sense of object-oriented programming) that are distributed across different address spaces, either in different processes on the same computer, or even in multiple computers conn ...
systems are designed to allow software modules or objects to work together where the objects can be located on different computers connected by a network. Interactive computer simulations and
computer games A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
can use
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
languages such as C++ to maintain a
database In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
of entities, player characters, monsters, tanks or just about anything that can exist in a simulated world.


How ReplicaNet works

Using an object description language or by programmatically registering filter classes each machine knows how to create and update each
C++ class A class in C++ is a user-defined type or data structure declared with any of the keywords class, struct or union (the first two are collectively referred to as non-union classes) that has data and functions (also called member variables and me ...
object. Each object is then treated as a potential network shareable object on the machine that allocates it. This machine has control over the C++ classes and can change variables or call member functions as normal. Once the object is ready to be shared to other machines the object is published on to the ReplicaNet network session. The underlying ReplicaNet software detects changes in the object and automatically updates the replicated classes on the machines connected to the network session. Any changes made to the member variables of the C++ classes can be extrapolated by ReplicaNet using several pre-defined filters to reduce the amount of network traffic when transmitting changes in the object.
This approach of describing objects that can then be processed by other computers is similar to other systems such as
CORBA The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sy ...
,
Java remote method invocation The Java Remote Method Invocation (Java RMI) is a Java API that performs remote method invocation, the object-oriented equivalent of remote procedure calls (RPC), with support for direct transfer of serialized Java classes and distributed garb ...
and
Distributed Component Object Model Distributed Component Object Model (DCOM) is a proprietary Microsoft technology for communication between software components on networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the co ...
.
In 2011
Game Developer magazine ''Game Developer'' was a magazine for video game creators, originally started in March 1994 by Miller Freeman, Inc as quarterly, later bimonthly, and finally monthly. In each issue, industry leaders and experts shared technical solutions, reviewe ...
announced ReplicaNet 7.0 as one of the Networking finalists for th
Front Line Awards
which honors the best networking middleware in the video game industry.


Products using ReplicaNet include

* Marathon 2: Durandalbr>Virtual Interactive Combat Environment
* Urban Chaos: Riot Responsebr>
*
Universal Combat ''Universal Combat'' (sometimes abbreviated to UC) is the second video game series by the developer 3000AD and is the successor of the ''Battlecruiser'' series of games. Gameplay ''Universal Combat'' offers the player a very large game world to ...
br>
*
Sector 13 Manimajra and adjoining urban areas developed by Chandigarh administration were reconstituted as Sector 13 Old Manimajra is a historical Puadhi Dialect town which was established by the Gharib Dass Dhillon as the capital of the newly created ...
*
Airburst Extreme ''Airburst'' is a video game developed by Strange Flavour and published by Freeverse for Mac OS. On October 25, 2007, it was announced for Xbox Live Arcade game for the Xbox 360. The Xbox 360 release was canceled but the game was available for te ...
XBLAReplicaNet


Book references to ReplicaNet

Game Programming in C++ Start to Finish by Erik Yuzwa http://gameprogrammingstarttofinish.wazooinc.com/ Massively Multiplayer Game Development 2 - Page 220 - Charles River Media.


References

{{Reflist Middleware Freeware