This section of the website is no longer maintained, and much of its contents is almost certainly out of date.

Atlas Goals

I think one of the problems we are having for an Atlas specification is that we assume Atlas is used for

server < - > client meta-client < - > server server < - > server

meta-client is a world editor type of client.

I think that for v1.0 it is enough that we only try to specify

server < - > client

and forget about the other cases.

The reasoning is the following: - something is better than nothing - limiting the scopes of the problem should allow a faster implementation. - server to server and meta-client to server might be server dependant, (see the example below)

World editor creates a new type the Rachno, it is a lizard like cat which can cast as much time as it wants a fog spell.

Two things to keep in mind about the Rachno, the fog spell might only be usefull for a Dural world. How to specify the Rachno in terms of attributes might also be only usefull for Dural as it uses a different structure than a Cyphesis world.

Of course the world editor will be server neutral, however the export functionnality might not and different export modules might need to be created. Knowing the intended server will create a lot of oppurtinity to add attributes to Atlas to optimize the transfer of information.

This optimization is really important when the mercenary AI server sends to the world server the troop movement of 90 mercenaries. At that point, Atlas is the framework on which the information is sent, but it has to be tweaked to optimize transfers in terms of how Dural

or Cyphesis handle things.

Another example, how would the world editor send the location of a new forest of 2000 trees with a river going through it, a bridge and a main road going there too.

Dural might prefer to receive things in blocks of 100x100 meters. Cyphesis might prefer random seeds + diff for the trees. Cyphesis might prefer to receive the road in tile, Dural in vector format, etc.

So, my proposal is that we should settle on a client<->server protocol named Atlas. This at least for v1.0.

I think this will give us a more focused approach and will allow us to settle problems more easilly as some of the proposed tags are only usefull if a a server<-> server communication occurs.

Then a coupled of tweak Atlas protocol will show up to do server/server talk.

And finally v2.0 of Atlas will merge the different protocols for server/server and meta-client/server into a unifying clay tapestry (see Dilbert).