====== Code Law ====== ===== MUD-Dev archive ===== Between August 1996 and October 2004 a MUD mailing list existed where virtual world developers from all MUD genres would come together to chat and discuss the finer points of game development. Some of the best MMO game designers and programmers in the field were on the list regularly exchanging ideas. In 2003 they decided to get together in San Jose to have a symposium of MUD ideas. Some of the popular MMO's at the time were represented there as well as Nilgiri. [[http://nilgiri.net/MUD-Dev-archive|All this has happened before.. all this will happen again]] ===== Nilgiri Codex ===== These documents are not really official, but provide some background and thought process for some of the decisions surrounding the implementation of Nilgiri. * [[codexeconomy|Economy]] ===== Coding ===== ==== Code tips ==== Just some helpful information that may (or may not) come in handy. See: [[codingtips|Coding tips]] ===== Coding resources ===== Listed here are the coding resource documentation used for building Nilgiri the Forgotten World. They are here for reference for the Implementors. ==== Java ==== Nilgiri is written in Java. This was the main reason for the new code. We can leverage several of the ready made software packages in Java such as Sets, Hashes, and Trees. Java 5 has some great stuff like Container classes and Enumerations that make coding MUD so much easier. * [[/javadoc|Javadoc]] ==== H2 Database ==== A pure Java database that is easy and simple to use. It comes in a really specific and compact no-nonsense package. Easy to set up. And it runs well in embedded mode * [[/h2.pdf|H2 Manual]] ==== Beanshell ==== Beanshell is the second reason that Java was chosen. Beanshell provides the runtime scripting language that will make Nilgiri a cut above the rest. Code can be generated within the MUD and results seen instantly. Creators will have a whole new tools to create very smart and very dynamic areas. * [[/beanshelldoc/bshmanual.pdf|Beanshell Manual]] * [[/beanshelldoc|Beanshell Javadoc]] ==== Graphviz ==== Graphviz is used to visualize the code. Although normal players will not be able to see it, graphviz is used to create 2-D representational map of MUD areas without having to actually explore areas. Graphviz is also the tool used to map the Skills Tree. * [[/dotguide.pdf|DOT Language Guide]] ==== DOM 4j ==== DOM is an XML/XSLT tool that we use to convert the DikuMUD Nilgiri files to the new Nilgiri format. We may start putting more content on the web from the MUD so this may become important later on down the road * [[/dom4jdoc|DOM 4J Javadoc]] ===== Nilgiri resources ===== ==== Nilgiri Source Code ==== * [[/nilgiridoc|Nilgiri Javadoc]] ==== Auto Generated Data ==== Nilgiri code automatically generates some tables and other data. This is just an index of information, listed in no particular order. This could be a very long list of information. * See: [[autogenerateddata|AutoGeneratedData]] ==== Bug Tracking ==== * [[/mantis|Mantis]] ===== Source repository ===== Current Nilgiri server code: [[https://github.com/nilgirian/Neo-Nilgiri|github.com/nilgirian/Neo-Nilgiri]].