ReplicaNet
Encyclopedia

Introduction

Distributed computing
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...

 and distributed object
Distributed object
The term distributed objects usually refers to software modules that are designed to work together, but reside either in multiple computers connected via a network or in different processes inside the same computer. One object sends a message to another object in a remote machine or process to...

 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
Computer Games
"Computer Games" is a single by New Zealand group, Mi-Sex released in 1979 in Australia and New Zealand and in 1981 throughout Europe. It was the single that launched the band, and was hugely popular, particularly in Australia and New Zealand...

 can use object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

 languages such as C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 to maintain a database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

 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 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
Çorba
Chorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...

, Java remote method invocation
Java remote method invocation
The Java Remote Method Invocation Application Programming Interface , or Java RMI, is a Java application programming interface that performs the object-oriented equivalent of remote procedure calls ....

 and Distributed Component Object Model
Distributed component object model
Distributed Component Object Model is a proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+...

.



In 2011 Game Developer magazine
Game Developer Magazine
Game Developer magazine is the premier publication for working video game creators, and reaches over 35,000 industry professionals monthly. Each month, industry leaders and experts share technical solutions, review new game development tools, and discuss strategies for creating innovative,...

 announced ReplicaNet 7.0 as one of the Networking finalists for the Front Line Awards which honors the best networking middleware in the computer games industry.

Products using ReplicaNet include


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.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK