Eris, the WorldForge client entity library Eris is designed to simplify client development (and avoid duplicating effort) by providing a common framework to deal with server communications. Notably, Eris encapsulates most of the work in getting Atlas entities available on your client, logging into a server, and managing updates from the server. Thus it can be considered a session layer above Atlas, providing persistent, in-memory objects as opposed to Atlas ones (which are transient). It handles the client-side implementation of the meta-server protocol, and querying game servers; out-of-game (OOG) operations (via the Lobby and Rooms), and most importantly, in-game (IG) operations such as entity creation, movement and attribute updates. Eris provides a generic 'Entity' class, which you are free to sub-class and provide to the system (by registering a factory); thus you are free to create different classes to handle characters, walls, vehicles, etc as your client dictates. An alternative approach is to create peer classes, and connect them to Eris via callbacks. Eris makes extensive use of libSigC++, which must be correctly installed and functioning on your system. Familiarity with signal/slot programming concepts is essential for using Eris; the libSigC++ home-page has some examples. Gtk+ or QT signal systems also provide a good introduction. Note that Eris does NOT encapsulate Atlas for you. Your code must still perform the useful work, such as generating operations, and analyzing attributes. Eris simply makes getting this information much easier. Also, an understanding of the Atlas Objects specification, and how it is applied in practice will make working with Eris much easier. Eris does permit you to ignore lower-level Atlas issues such as Codecs and connections. For examples of using Eris, see 'silence' in forge/clients/silence; this is a simple Gtk based text client that demonstrates how to use Eris. For larger, graphical examples see Sear, Apogee or Ember, all found in forge/clients/. The INSTALL document tells you how to compile Eris; note that if you plan on distributing binaries of a client compiled with Eris, you may wish to consider statically linking. As the Linux C++ ABI improves this may become less critical, but at present even minor difference in compiler and library versions can produce strange errors at runtime. Finally, Eris is a very open system; if you have an entity utility, processing method or other concept you think is reusable in many WorldForge clients, please let me (James Turner) know about it for possible inclusion. See the AUTHORS file in the source distribution for contact information.