What is the ICEPlayer Demo:
The ICEPlayer Demo is a rewrite of the Player Demo v2.0 using ICE (Internet Communications Engine) instead of Raknet for Networking. Graphically there's no difference between the 2 demos yet. Internally however all of the Raknet Code has been removed and ICE code inserted in it's place. All communication between the server and the client is done through RPC (remote Procedure calls). The World State inherits from the Peer slice interface which allows the server to call it's inherited methods through the Peer Proxy. Each client creates the Peer proxy and during login sends the proxy to the server where it is stored in a std::map using the client's Network ID as a key.
I am still learning ICE myself and so I am sure there are areas that could be improved in this demo however I will continue working at it and love any and all feedback, bug fixes, ect.
Things to be added:
ICE comes with alot of features that I will be adding in future releases.
Features include:
* IceGrid: A grid computing service with features essential for large-scale applications
* IceStorm: A sophisticated event distribution service
* Freeze and FreezeScript: Object persistence and scripting for database migration
* Glacier2: A firewall traversal service
* IcePatch2: A software distribution and patching service
Here's some information about these features from ICE's website:
Ice is more than just an RPC platform. Besides fully-featured and high-performance RPC, Ice provides a number of services. These services supply functionality that most distributed applications require, such as event distribution or persistence.
Yet, implementing such services is a decidedly non-trivial exercise, in particular, if you require scalability, high performance, or fault-tolerance. (And it is even harder if you need all three.)
All Ice services scale to very large numbers of clients and servers, provide excellent performance, and can be replicated to achieve fault-tolerance and scalability. By using Ice services, you can considerably reduce development effort, while taking advantage of an industrial-strength implementation.
Here's the compiled Client:
Bin.rar
and the compiled Server:
release.rar
![]()

Reply With Quote