"into the room, then stands in front of the door."))))
(make <exit>
#:name "north"
- #:to 'hive-entrance)))
+ #:to 'hive-entrance)
+ (make <exit>
+ #:name "east"
+ #:to 'federation-station)))
;; map
('underground-lab:map
"prints itself out:"))
(p (pre ,meta-message-text)))))
+\f
+;;; Inside the Hive
+
(define hive-inside
(lol
('hive-inside
#:invisible? #t
#:goes-by '("Hive Actor's desk" "hive desk" "desk"))))
+\f
+;;; Federation Station
+(define federation-station
+ (lol
+ ('federation-station
+ <room> #f
+ #:name "Federation Station"
+ #:desc
+ '((p "This room has an unusual structure. It's almost as if a starscape
+covered the walls and ceiling, but upon closer inspection you realize that
+these are all brightly glowing nodes with lines drawn between them. They
+seem decentralized, and yet seem to be sharing information as if all one
+network.")
+ ;; @@: Maybe add the cork message board here?
+ (p "To the west is a door leading back to the underground laboratory."))
+ #:exits
+ (list (make <exit>
+ #:name "west"
+ #:to 'underground-lab)))
+ ;; nodes
+ ;; network
+ ;; activitypub poster
+ ;; conspiracy chart
+ ('federation-station:conspiracy-chart
+ <gameobj> 'federation-station
+ #:name "a conspiracy chart"
+ #:goes-by '("conspiracy chart" "chart")
+ #:desc
+ '((p (i "\"IT'S ALL RELATED!\"") " shouts the over-exuberant conspiracy "
+ "chart. "
+ (i "\"ActivityPub? Federation? The actor model? Scheme? Text adventures? "
+ "MUDS???? What do these have in common? Merely... EVERYTHING!\""))
+ (p "There are circles and lines drawn between all the items in red marker, "
+ "with scrawled notes annotating the theoretical relationships. Is the "
+ "author of this poster mad, or onto something? Perhaps a bit of both. "
+ "There's a lot written here, but here are some of the highlights:")
+ (p
+ (ul
+ (li (b "Scheme") " was originally started to explore the " (b "actor model")
+ ". (It became more focused around studying the " (b "lambda calculus")
+ " very quickly, while also uncovering relationships between the two systems.)")
+ ;; Subject Predicate Object
+ (li "The " (b "ActivityPub") " protocol for " (b "federation")
+ " uses the " (b "ActivityStreams") " format for serialization. "
+ (b "Text adventures") " and " (b "MUDS")
+ " follow a similar structure to break down the commands of players.")
+ (li (b "Federation") " and the " (b "actor model") " both are related to "
+ "highly concurrent systems and both use message passing to communicate "
+ "between nodes.")
+ (li "In the 1990s, before the Web became big, " (b "MUDs")
+ " were an active topic of research, and there was strong interest "
+ "in building decentralized systems similar to what is being "
+ "worked on for " (b "federation") ". "
+ "(See the network spaces desiderata document.)")))))
+
+ ;; goblin
+
+ ))
\f
;;; Game
(append lobby grand-hallway smoking-parlor
playroom break-room computer-room underground-lab
async-museum gift-shop hive-entrance
- hive-inside))
+ hive-inside federation-station))
;; TODO: Provide command line args
(define (run-game . args)