wMUD MUD codebase
Go to file
Polonkai Gergely 92ff91b989 Made create-world.sh and drop-world.sh a template.
create-world.sh and drop-world.sh are now autogenerated by the configure
script, as they need to hold some paths set by that script.

Signed-off by Gergely POLONKAI <polesz@w00d5t0ck.info>
2012-03-27 19:42:56 +00:00
conf Made this commit on a wrong branch... 2012-03-22 18:34:39 +01:00
docs/reference/wmud Renamed wmud_db_players_load() to wmud_db_load_players() to follow naming conventions. 2012-03-27 19:34:04 +00:00
iminiru Fixed data inserting code in world creation SQL. 2012-03-27 17:49:03 +00:00
old-codebase Moved old codebase to old-codebase/ 2012-03-07 16:24:50 +01:00
sql Created world-dropping SQL code. 2012-03-27 17:45:18 +00:00
wmud Renamed wmud_db_players_load() to wmud_db_load_players() to follow naming conventions. 2012-03-27 19:34:04 +00:00
.gitignore Made create-world.sh and drop-world.sh a template. 2012-03-27 19:42:56 +00:00
AUTHORS Added minimal content to AUTHORS 2012-03-11 16:50:15 +01:00
COPYING Added autotools stuff 2012-03-07 16:37:43 +01:00
ChangeLog Added autotools stuff 2012-03-07 16:37:43 +01:00
HACKING Added the HACKING file for later fill, with only a very basic description 2012-03-25 11:58:14 +02:00
INSTALL Added autotools stuff 2012-03-07 16:37:43 +01:00
Makefile.am Renamed directory src to wmud 2012-03-27 17:14:55 +02:00
NEWS Added autotools stuff 2012-03-07 16:37:43 +01:00
README Added some text to README 2012-03-26 16:34:12 +00:00
TODO Completely redesigned the TODO list 2012-03-27 08:39:33 +00:00
autogen.sh Finished GtkDoc style code documenting. 2012-03-24 23:52:36 +01:00
configure.ac Made create-world.sh and drop-world.sh a template. 2012-03-27 19:42:56 +00:00
create-world.sh.in Made create-world.sh and drop-world.sh a template. 2012-03-27 19:42:56 +00:00
drop-world.sh.in Made create-world.sh and drop-world.sh a template. 2012-03-27 19:42:56 +00:00

README

General
=======

wMUD is a MUD code base. It is written from scratch, using GLib and CURL.
Although it is just another MUD code base, I tried to add unique features, and
also tried to make it as flexible as possible.

wMUD stores everything in an SQLite3 database, and everything really means
everything. The whole world is dynamic, and most of it can be defined without
touching the code itself. Possible directions, areas, rooms, items, mobs,
races, classes and all important apects of the world are in the database
backend, and as such, can be reloaded runtime without stopping the MUD.

wMUD is modular. Except the basic commands, everything is loaded via dynamic
modules (well, on systems which support it). This again helps flexibility, as
commands, spells, and many more can be loaded or unloaded runtime. This, of
cource can sometimes cause funny things in game play (characters disappearing
because of unloaded race), but everything can be explained with a good story.
Or, if you are not creative enough, you can simply disable this functionality.

wMUD is a threaded application using GLib's GThread functionality. All tasks
are done by separate threads, so the game can run as smoothly as possible. The
game world is ran by one thread. Database updating is done by a separate
maintenance thread. This may cause some lags in the database update process,
but whenever it causes trouble, wizards can force the maintenance thread to
start immediately. The Out-of-Game chat functions also run in different
threads.

Development
===========

wMUD's development, so as other MUD codebases', is no easy task. Although each
thread is coded in separate files (except the game thread), threading makes it
even difficult. I try to make this task as easy as possible with comments and
an API reference, but this is also a hard goal to accomplish. If you really
want to mess with things, the file HACKING is just the place for you.