Lulu's Java MUD is a sandbox for me to:
-
Prove to myself that I can write my own MUD
-
Gain experience with Java (no pun intended)
-
Provide a base MUD for others to run (once it's farther along) or experiment with
-
Provide a base MUD for me to experiment with and implement features that I think are neat
-
Slot-based inventory
-
Enemy specific attack profiles
-
Organic "gossip" communication amongst AI elements
-
Simple economic features like supply and demand
-
Mapping from sight and memory combined
-
influenced by the player's "memory" attribute
-
influenced by the player's mapping ability
-
influenced by how often a player has entered a room (enforces the connection to other rooms in memory). This would mean that over time you would no longer need a map for an area.
-
Possibility for random areas caused by erroneous memories. :)
-
Ability to write out maps to give to other players
-
Everything is a weapon (think "Undead Rising")
-
Weather and its affects
-
Enemies that retreat
-
Pluggable elements (e.g. commands, maps, items, etc.)
-
In-game room creation/editing/deletion
-
Portals (as opposed to direction based room connections)
Lulu's JMud is a MUD server written in Java that handles telnet connections. The server uses Java NIO for network connections and is multi-threaded. There are no colours implemented yet, altough that would be nice. :)
JMud employs a MySQL database for data persistence. All communication with the database is done through stored procedures using the MySQL ConnectorJ drivers.
JMud uses a "room" model and is not grid-based; any room can be linked to any other room.
Existing Features
-
In game dynamic map print-outs based on player's memory and visible adjacent "rooms"
-
Slot-based inventory with race-based slots
-
10-way movement (8 compass directions + up,down)
-
Multi-threaded
-
Java NIO for network connections
-
MUD commands follow GoF Command pattern
-
MySQL Database for persistence
-
Data access through stored procedures
-
Chat (same room only, so far)
-
Inventory command
-
Player leaving/entering room notifications
(e.g. "<player> went <direction>")
To make a comment, criticism or suggestion, or to request (a modest amount of) support, fire me a gmail@cwmaguire.