Phantom

To create fast, fully concurrent applications in pure Java.


Project maintained by MaximeMeire Hosted on GitHub Pages — Theme by mattgraham

Welcome to the Phantom API.

Phantom is an actor API written in pure Java along with an MMO server implementation as proof of concept. The game emulated is Runescape using revision 317 its protocol.

Phantom is all about innovation. In the days where processors get faster but most importantly get more cores, the focus of innovative development of any application - especially in the field of MMO game servers - should be in the direction of asynchronous event based tasks in a fully concurrent environment. This is aimed to be achieved with Phantom.

For now, the Phantom API is still in its early development stages.


Phantom actors.

Phantom actors are implemented with a threaded design approach. Each actor is mapped to a specific thread to execute its actions on and will not switch threads during its lifetime. This decision was made as it was an easier implementation to assure an actor never acts on multiple threads at the same time.

It's important to recognize the fact that an actor its state is only to be written or read from within its own thread. When developing using Phantom it's something you may never forget.

Every actor is initiated the same way as you would initiate any Java class. After initialization the actor needs to be registered with an ActorUniverse before it should be used. Always remember that state interacting actions should be done through message unless you are sure you are acting within the actor its own thread.