Files
narya/README.md
T
Dave Hoover 9952456bdd GHFM autolinkifies, but doesn't know to ignore the period.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6644 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-05-26 17:31:24 +00:00

117 lines
4.5 KiB
Markdown

The Narya library
=================
Narya provides a framework for building realtime distributed systems with an
emphasis on multiplayer online games (massive or otherwise). Its various
packages include:
* [presents]: A distributed object and remote procedure call framework for
creating realtime distributed systems.
* [crowd]: A foundation for a multiplayer environment with notions of bodies
and places, and support for chat and moving between places.
* admin: Useful administrative functionality including a mechanism for
declaring configuration that can be viewed and modified at runtime by an
administrative client.
* bureau: A framework for managing a network of code execution servers, which
can be used to host ActionScript server-side code in addition to the Java
server normally used by presents.
[Javadoc documentation](http://threerings.github.com/narya/apidocs/) is
provided.
Tutorials, etc.
---------------
Three Rings hosts a site called [Game Gardens](http://www.gamegardens.com/)
where the Narya library is used to develop a wide array of multi-player online
games. On that site you can find [tutorials and sample
code](http://wiki.gamegardens.com/) relating to the use of Narya in game
development.
Building
--------
The library is built using [Ant](http://ant.apache.org/).
Invoke ant with any of the following targets:
all: builds the distribution files and javadoc documentation
compile: builds only the class files (dist/classes)
javadoc: builds only the javadoc documentation (dist/docs)
dist: builds the distribution jar files (dist/*.jar)
If you wish to build the ActionScript components, you will need to supply the
location of the Flex SDK on the command line:
% ant -Dflexsdk.dir=SOMEPATH dist
Artifacts
---------
Narya provides four different build artifacts, for differing purposes:
* narya: contains the main Java library; exports dependencies only for
libraries which are required by a running client or server.
* naryalib: contains the main ActionScript library; exports dependencies for
libraries needed when building a SWF using naryalib.
* narya-tools: contains the code generation portions of Narya which one need
integrate into their build; exports dependencies for various libraries needed
when running code generation.
* narya-gwt: contains `.java` source code for applications using the
[GWT](http://code.google.com/webtoolkit/)-based admin interface provided by
Narya's admin package
A Maven repository containing released versions of the Narya artifacts are
maintained here. To add a Narya dependency to a Maven project, add the
following to your `pom.xml`:
<repositories>
<repository>
<id>narya-repo</id>
<url>http://threerings.github.com/narya/maven</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.threerings</groupId>
<artifactId>narya</artifactId>
<version>1.8</version>
</dependency>
</dependencies>
To add it to an Ivy, SBT, or other Maven repository using project, simply
remove the vast majority of the boilerplate above.
If you prefer to download pre-built binaries, those can be had here:
* [narya-1.8.jar](http://threerings.github.com/narya/maven/com/threerings/narya/1.8/narya-1.8.jar)
* [naryalib-1.8.jar](http://threerings.github.com/narya/maven/com/threerings/naryalib/1.8/naryalib-1.8.swc)
* [narya-tools-1.8.jar](http://threerings.github.com/narya/maven/com/threerings/narya-tools/1.8/narya-tools-1.8.jar)
* [narya-gwt-1.8.jar](http://threerings.github.com/narya/maven/com/threerings/narya-gwt/1.8/narya-gwt-1.8.jar)
Related Libraries
-----------------
Narya is extended by the [Nenya](http://github.com/threerings/nenya) and
[Vilya](http://github.com/threerings/vilya) libraries which provide additional
game related functionality like 2D and 3D graphics support, animated character
rendering and a more sophisticated virtual world framework.
Distribution
------------
Narya is released under the LGPL. The most recent version of the library is
available at http://github.com/threerings/narya
Contact
-------
Questions, comments, and other worldly endeavors can be handled via the [Three
Rings Libraries](http://groups.google.com/group/ooo-libs) Google Group.
Narya is actively developed by the scurvy dogs at
[Three Rings](http://www.threerings.net) Contributions are welcome.
[presents]: http://threerings.github.com/narya/apidocs/com/threerings/presents/package-summary.html
[crowd]: http://threerings.github.com/narya/apidocs/com/threerings/crowd/package-summary.html