santaslabyrinth

Moodboard for an imaginary game

In January 2023 every day I made a room with a robot in it, and maybe wrote a little program for the robot in the room. This was also mixed in with rules, lore and rechosted inspirations. Nowadays this is just posts that evoke a particular feeling. Probably like 80% rechosts from @randochrontendo


part of Santa's Labyrinth, a #Dungeon32 thing

Robots can negotiate with other robots for common goals using the generalized negotiation protocol. A binary-capable, error-correcting or detecting, persistent, reliable duplex connection between two robot parties is assumed.

Negotiation is initiated by a negotiation client, which has the responsibility for sending the first lines of the protocol.

Here is an example of the protocol in a human friendly expanded notation - in practice, the protocol is binary and involves fixed-size messages.

NG 1
TOPIC "Movie Night" 1
BID "Saturn 3"

Above, a client robot declares it's intention to use negotiation protocol version 1, requests to negotiate on the topic "Movie Night" version 1 (used to decide on which movie to watch on a particular evening), and then produces an initial proposal for which movie to watch (the late-career Kirk Douglas techno-horror movie "Saturn 3".)

The actual wire protocol for these messages might look something like the following (using the uxntal / (v1) syntax)

( Client connections begin with the ASCII string "NG 1\n" )
#4e47 #200a
( remaining requests are fixed-size, binary messages )
( #5420 is "Topic", 
  #0101 is the topic code for "Movie Night"
  #01 is the target version of the topic )
#5420 #0101 #01
( #4220 is "Bid", #5323 is the 16 bit identity code for the movie "Saturn 3" )
#4220 #5323 

At any time, the server can decline the negotiation (either because it does not understand the messages or is not interested in the possible outcomes) by sending the message "#ffff" and closing the connection. Otherwise, the server can either accept the initial bid, or offer a counter-bid of it's own. In this case, let's imagine that the server party wants to watch something a little less violent, like the 1981 Andy Kaufman vehicle "Heartbeeps":

BID "Heartbeeps"

It's the client's turn to accept, counterbid, or end the negotiation. In this case the client can use previous bids as evidence that the server party likes color, shmaltz, and romance, and offers a classic:

BID "The Mechanical Marvel"

Now it's the server's turn again. When a party accepts the outcome of the negotiation, it provides a 16 bit token, intended to be useful to further coordination.

ACCEPT "The Mechanical Marvel" #F041

The token #F041 (we presume) can be used to retrieve and review the relevant tape from robots’ VHS collection.

Once the token is offered, the negotiation is complete and both parties can close the connection.


You must log in to comment.