summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2022-12-29 09:25:48 -0500
committerDavid Thompson <dthompson2@worcester.edu>2023-01-06 16:00:25 -0500
commit3918d989283de5da445ab191b432ce5b6f56acfa (patch)
treeb7b24fdff1b8d67fc0474ccd7e38838b67a605d0
parent4715b7c7012c0c23569a86f3bb93407caef1b2c2 (diff)
Add README.org file.HEADmain
-rw-r--r--README.org64
1 files changed, 64 insertions, 0 deletions
diff --git a/README.org b/README.org
new file mode 100644
index 0000000..19b4c96
--- /dev/null
+++ b/README.org
@@ -0,0 +1,64 @@
+#+TITLE Community Garden
+
+* About
+
+Community Garden is a simple multiplayer gardening simulator designed
+as a tech demo for Spritely Goblins.
+
+* Building
+
+Community Garden relies on some bleeding edge software and currently
+requires Guix to setup the build environment. Assuming Guix is
+installed, simply run =guix shell= within the directory containing
+this README.
+
+To build, run:
+
+#+BEGIN_SRC sh
+ ./bootstrap
+ ./configure
+ make
+#+END_SRC
+
+* Running
+
+Community Garden is split into two programs: =host-garden= and
+=join-garden=. Networked multiplayer is achieved using the Tor
+network.
+
+** Starting the Tor daemon
+
+Community Garden requires a locally running Tor daemon. See
+https://docs.racket-lang.org/goblins/captp.html#%28part._.Launch_a_.Tor_daemon_for_.Goblins%29
+for instructions on setting that up.
+
+** Starting the host program
+
+The =host-garden= program creates a new garden that other people can
+join. It takes a garden name and the host's name as arguments.
+
+#+BEGIN_SRC sh
+ ./pre-inst-env host-garden "Spritely Community Garden" "Alice Gardiner"
+#+END_SRC
+
+Upon successful startup, you should see a graphical window with a
+basic garden editing interface, and an OCapN URI in the terminal
+output. This URI is what needs to be shared for those that wish to
+join the garden. The terminal will also display an event log as
+players join, edit, and leave.
+
+Please note that there is no persistence layer in this demo. When the
+host program is closed, the garden's state is gone.
+
+** Joining a garden
+
+The =join-garden= program is used to join a garden created with
+=host-garden=. It takes the remote gardener's name and an OCapN URI
+as arguments.
+
+#+BEGIN_SRC sh
+ ./pre-inst-env join-garden "Lemmy Diggit" ocapn://s.onion.foo/bar
+#+END_SRC
+
+Please note that Tor onion services can be very slow to start, so the
+initial connection may take awhile.