

== Atom Core Network framework

*Atom Core Network framework is for networked game developing in Java. Powered by JME3, SpiderMonkey, MirrorMonkey and Netty.*



=== Introduction

To make developing networked game (multiplayer, social, even MMO..) in JME3 much more easier! With Java, with tools, with monitors!


This module depends in JME3, SpiderMonkey, MirrorMonkey and Netty. It has all the features that libries it depends on have with ultimate extra power!!


You can include Optional modules like Kryo (Kryonet), ProtocolBuffer, Zay-ES which is official extensions for various of usecaces.



=== Features


=== Concepts & Papers




*  Annotations: @Data, @Event, @Sync
*  Interfaces: Hanler, Fiber, Filter
*  Ultilities: NetworkType, NetworkService, NetworkBus
*  Configurations: zero, override via XML, Groovy


=== Quick look


==== A simple network application

[source,java]

----

class Client implement NetworkService{
     DObject dobj;

     void update(float tpf){
         network.mirror(dobj);
     }

     public void response(NetworkService service){
         dobj.mirror(service);
    }
}

----

[source,java]

----

class Server implement NetworkService{
     DObject dobj;

     void update(float tpf){
          dobj.change()
          network.in(client1,client2).mirror(dobj)
    }

     public void response(NetworkService service){
         dobj.mirror(service);
    }
}

----


=== Under the curtain


==== Dependencies


==== NetworkType


==== NetworkService


==== NetworkBus


== Examples

Some examples 



== Documentation


=== Basic games networking

link:http://gafferongames.com/networking-for-game-programmers/[http://gafferongames.com/networking-for-game-programmers/]


link:https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking[https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking]



=== Programming


=== Workflows


==== Tools
