0.0.2 Alpha

Rating:        Based on 1 rating
Reviewed:  1 review
Downloads: 1791
Released: Feb 19, 2007
Updated: by
Dev status: -not yet defined by owner-

Recommended Download

Application Example2.rar
application, 725K, uploaded Feb 19, 2007 - 1791 downloads

Release Notes

This is example show the client/server approach for MMO games.

Introduction

We are using DirectPlay like transport protocol that allow synchronize game entities on both client and server side. Current implementation allows fast and with lowest traffic cost synchronizes data in real time.
We have client and server synchronization.
Each entity has an Id and time stamp.
Client side during entity synchronization send to server side only changed data of entity.
Server side synchronizes data to clients by time stamp. Server side keep a state for each client that contains information about what entities is synchronized with client and latest time stamp of data stored at client side. Each time when entity is changed on server side server send whole entity data to client. In this case we have more traffic than for client synchronization. In future we are going to improve server side synchronization with condition that it takes no influence of server side performance.


Example description

At the server side there are many objects. Server host is a managing all game environment and consolidate all events. Many clients can connected from the server the game server world. But at certain moment of time client interacts only with a restricted set of game objects. Client doesn't need to know about all events in the world.
In this example you can see a set of balls that are constantly moving. Server side physical model checks collisions for server objects and client side is checks collision of client object.
The main point is to provide filter of events that allow to connect to server a big amount of clients from one side and allow to client provide enough data for visualization that will made to believe that he is a part of this big game world.

How to use

1. Run ServerHost.exe. This is server hosting where you can setup different server and environment settings, review game process statistic and traffic by connected clients.
2. Run MMO.XNA.GameSample.ClientHost.exe. This is a game example where you can look at game process from client view, also you can watch for client traffic statistic.



Settings

The main settings for connect is:

ApplicationGuid - Guid that identify server game process
Port - server port


Hot keys for demonstration

Press 'S' key to stop all server side objects (red balls)
Press 'R' key to continue run server side objects

Installation Requisites
Software
MS Visual Studio Express 2005
XNA Game Studio Express
Microsoft DirectX SDK (December 2006)

Video Card that support DirectX 9.0


Reviews for this release

     
You should release a version of this software for XNA GS 3.0, too. Do you expect us to manually convert this engine to XNA GS 2.0 and then use XNA GS 3.0 to convert the whole project again?
by D4 on May 11, 2009 at 2:08 PM