8sync based live hackable MUD

Christopher Allan Webber 0327c09557 Clean paths in package-config.scm 7 years ago
build-aux 2cb0d7e771 Add guix.scm and patched live repl guile 7 years ago
data 3d8191bd98 Slight improvement to the css on list items 7 years ago
mudsync 0327c09557 Clean paths in package-config.scm 7 years ago
worlds 8bf798a930 some placeholder stuff for the revolving door and shop 7 years ago
.gitignore f45624ba34 Add infrastructure for static files, etc 7 years ago
COPYING 5d54195e24 Add GPL 8 years ago
Makefile.am 76ece13251 Move containers over to their own module. 7 years ago
README.org 5beae5b135 Update README, including how to set things up using guix.scm 7 years ago
bootstrap.sh 7b28863815 Basic automake build stuff 8 years ago
configure.ac f45624ba34 Add infrastructure for static files, etc 7 years ago
guix.scm 2904cd6e02 Update guix.scm for new Guix inclusion of Guile 2.2 release 7 years ago
mudsync.scm 72bb4674c8 use ci-member, allow specifying why not to being taken / put down 7 years ago
pre-inst-env.in f45624ba34 Add infrastructure for static files, etc 7 years ago

README.org

Mudsync

Mudsync! What a game. Or is it?

Well it's not really a game, more of a MUD framework. It does contain a couple of small demo worlds. The more interesting of them is the "bricabrac" world. I assume you want to play with it, but I guess we're getting ahead of ourselves.

Installing Mudsync

First of all, you need 8sync (currently 0.4.2, or git master) and Guile 2.2. Install those.

... Or, if you have Guix, you can set up a "guix environment" which should have everything you need all set to go:

guix environment -l guix.scm # optionally add --pure

Next, in mudsync's directory:

source pre-inst-env guile -l worlds/bricabrac.scm -e run-game

You can then connect in your browser:

http://localhost:8888

Playing

Well, try some things! Assuming you're starting with the bricabrac world, try "ring the bell", and that should give you some information to get started.

Hacking

When you start up the bricabrac demo, it'll by default start up a port you can connect over localhost to if you're using emacs + geiser. Then you can live hack away!

If you change something in bricabrac (or whatever) and want to update the object you changed, you can "live" put in the new and updated version from the game-spec at the REPL with:

(insert! game-spec 'room:lobby) ; to replace the lobby, but of course ; do what's appropriate for your ; object

That's it for now!