Subscribe to RCast on iTunes | Google Play | Stitcher
Greg Meredith discusses his game ideas for the RChain platform with Isaac DeFrain and Christian Williams. Scroll below the transcript to see the accompanying slides to this conversation.
Greg: I want to shift gears today and talk about some of the higher-level stuff that RChain is also focused on. It’s one thing to have the bits and bytes of the blockchain platform. There’s another kind of technology, which is what I call social technology. I want to distinguish this from social media like Instagram or Facebook. The kind of social technology I’m talking about is more like Robert’s Rules of Order, which are a set of agreements that people use to run meetings in Congress (as an example).
These kinds of social technologies are part and parcel of how we coordinate and cooperate. We don’t explore them enough. There’s a lot to be explored in terms of how we coordinate. I want to talk about using games as an approach to expanding our cooperation and coordination repertoire. I’m going to talk about four games that unlock different aspects of this coordination intelligence or collective wisdom. Before I get into it, I just want to check in. Does that make sense?
Christian: Yes. I remember us talking about this in the past. It’s a really interesting and fun topic.
Greg: Absolutely. I keep touching base on this every year or so to help keep it in the discourse. One of the questions is: Why games as opposed to other forms of discourse? Humans learn through play. In terms of sports, games represent a transition from violence to competition to cooperation. The Olympics is an example of a major transformation of human society. It’s not just limited to Homo sapiens. Gregory Bates, when watching chimpanzees at play, pointed out that “the nip denotes the bite but does not denote what the bite denotes.”
Chimpanzees and many other animals play. I picked up a puppy a few months ago and she is all about play. It’s cross-species. It’s a really important mode of interaction. One of the reasons it’s such an important mode of interaction is that it changes our relationship to risk. We are able to tap into more of our capacity when we’re able to relax. It’s hard to relax if you feel like everything is at stake. Games take away some of what’s at stake so that we can be more exploratory.
What we’re looking for is a dialogue between the collective and the individual and between collectives. Voting is the analog of speaking binary. What we really need is a higher bandwidth of communication between the individual and the collective. If you’re thinking about it in terms of programming languages, you want to climb from binary to assembly to something much higher-level like Scala or Rholang. Games represent our best candidate for language between the collective and the individual (or a framework for constructing such languages). That’s my working hypothesis.
Let me talk about some examples of games and their properties that evince these other modes of coordination and cooperation. One kind of game, which I call Pixelian, has very simple local actions coupled to a global perspective.It’s easier to see with the slides [below] but the idea is that you have a grid. It could be square grid or rectangular grid or a triangular grid. Each player has control over exactly one position in this grid. They can do one of two actions. They can color the location in the grid, which I’ll call a pixel. They can color their pixel from a palette of colors; everybody has exactly the same palette. They can message the other players behind the pixels so they can interact with the pixels to say, “This particular pixel or this group of pixels, I want to send them a message.” That’s it. That’s all they can do. The question is whether or not they’ll self-organize even with those very limited set of operations to create an image that is recognizable or has some aesthetic properties.
I can give an anecdote about this. I explained this idea to a developer who got really excited about this. In 2008, he made an implementation with a single webpage that represented the grid, using Twitter as the messaging capability. You put hashtags in for the commands which the application would then pick up and use to influence the grid on the single webpage. The developer was Hispanic, so a lot of his community, his friends and fellow developers, were also Hispanic. I mention that as background because within about three hours they had drawn the Mexican flag, which is very impressive given the only thing a single player could do is to change a single pixel. To me that’s a very strong indication that something like this that has potential to unlock some coordination capacity.
We can go even further. If you have larger numbers of players—and in fact the larger the number of players, the more detailed or intricate the images you can create—the complexity of an image represents a measure of cooperation. This observation leads to a natural introduction of a place to add contest and monetization.
In general, wherever you introduce a cost, you’ve introduced friction. People are likely to slow down their action and activity if they think there’s a cost associated with it. You’re re-introducing risk when you introduce cost because now people have to shell something out. Before they were just playing and now they have to pay to play. That’s a different kind of experience.
If you follow where there is the possibility of contest, that’s a place where you can add costs because people are willing to take more risk when they’re in contest with a either the game itself, the machine, another player, or another group of players. You can have the community against the house, where the house is just the game itself, and the community puts up a stake. Everyone puts up a certain amount of token or whatever you want to call it. They are challenged to render an image from a house gallery of images. The house gets to choose the image and chooses after the stake has been put forward. There’s a payout based on the number of moves needed to render the image. It’s computed in terms of the stake divided by the number of moves. If it’s a ratio of one, there’s no payout; anything below one, there’s no payout. If there’s a ratio above one, the payout is computed as a normalized percentage of the ratio above one. Now there’s an incentive to coordinate effectively and efficiently. They can’t devise a strategy on based upon the image up front. They have to figure out how to be efficient in real time.
Isaac: Just to clarify, you’re saying the house is going to choose the image that ultimately the players should generate? They’ll also be provided with colors or images that they’ll use to create this kind of global image.
Greg: You missed the beginning. The setup is the players have a grid and they can only affect one pixel. They’ve made sure that the pallet contains all the colors that they need to do the image.
Isaac: My ultimate question is: When you say action, you’re just talking about the changing of a pixel or the sending a message?
Greg: Sending a message is also considered an action.
Isaac: Okay. So they have to do it in the least amount of communication and changes of pixels.
Greg: That’s exactly right. Of course, you can now come up with variation on this. You don’t have to have community against house. You can have community against community. Two communities can put up stake. The first one to render a chosen image takes the whole pot. Alternatively, communities can give each other an image to render. They don’t have to render the same image. They’re just a number of variations along these lines that are worth exploring.
The first principle is small, simple, local action coupled to a global view. That view is somehow linked to a notion of aesthetic or beauty or something that is pleasing. There’s a payoff just in the rendering of the image itself. Then you can introduce a notion of a measure of coordination and cooperation based upon the complexity of the thing that they’re rendering. That is the place to introduce contest. What we’re trying to do is minimize the amount of effort against the complexity. That’s where we introduced contest. You introduce monetization at these places where there’s an opportunity to excel at something. Otherwise, when you monetize it ends up adding friction.
Isaac: That makes sense because the incentive is to come up with a good strategy.
Greg: Exactly. You’re rewarding a good strategy. You’re rewarding a certain kind of optimization behavior. There’s a variation of Pixelain that I call Notary. Now you think of the grid as a grid of beats and pitches. Each column is a beat; each row represents a pitch class. Players only have a single location on the grid, but the control is now to change the pitch. They can put it as a pitch or they can put it as a rest. Because multiple players can play on the same column, you can get chords. Now the global view is an auditory view. Instead of something aesthetic with your eyes, you can have aesthetics with your ears.
The notion of contest can be in terms of who writes a piece that is most listened to by the audience. That’s another notion of contest. This is just a variation on the same idea. We’re using the principles to characterize these games and to search for these different kinds of games.
In terms of the measure of what is satisfying, the winning beat, that’s done in terms of an aesthetic judgment that can be objective in the sense that it’s an aesthetic judgment rendered by some audience. That connects to a third kind of game, which is putatively individualistic, but has an evolutionary component which connects it to the community. Before I jump into that, let me just check in and see if there are any other thoughts on the last two games.
Christian: It’s a really simple idea, but once you start thinking about it actually being implemented or people doing different contests and trying to communicate among hundreds or thousands of people, it quickly gets really interesting. It’s a different kind of coordination that you never see in everyday life.
Greg: That’s exactly right. I’ve had a lifelong interest in West African drumming. In 1998, I wanted to come up with a visual analog of my understanding of some of what goes on in West African drumming at the whole system’s level. One of the most interesting things about West African drumming is that any one line can be played by virtually anyone. So the village idiot like myself can play any one of the particular lines, but it’s in the combination of the lines that you get the complexity piece. I wanted to design something where you had this super simple action, but it was in the combination of the actions that the complexity of the experience arose. It’s that kind of principle that’s an operation, at least in the those kinds of game designs. I’m just talking about two. I believe that there’s an infinite variety of these games. Once people get the knack for thinking about it, they’ll probably come up with much better versions.
On to this other one. I call this Skein. It’s really a design for a virtual musical instrument, but there’s a gaming aspect to it. In order to make a note, you have to have both a pitch and a rhythm. You can split a note into two pieces of information. This is what happens in Western classical notation. You’ve got information about the pitch and you’ve got information about duration. There’s lots of other information that goes into real musical production of notes. At a core screen level, that’s something that goes on.
Once you see that you can split notes into these two kinds of data, you could imagine having a stream of pitches and a stream of durations. I’ve got this infinite list of pitches and an infinite list of durations. I could zipper them together. As long as they were infinite, I could have some basic operations on these infinite streams. Once is I could zipper two streams together; now I’m getting pairs. The paired information is enough to produce a stream of notes and an infinite melody. Because they’re infinite, I could advance one of the streams.
We think of these as two infinite ribbons. I could yank on one of the ribbons and then start zippering them. At that point, one will be offset with respect to the other, so I get a different stream of notes. I could be yanking to one independently. I could start zippering; I could stop the zippering and then yank on one or yank on the other. That will give me different streams of notes.
The other thing I can do is I can twist. I can take things that were duration information. If I had a transformation from duration to pitch and pitch to duration, I can now twist these two ribbons. There’s a nice physical geometric analog to all of these operations, which gives us an ability to render this as a human computer interface using the leap motion infrared sensor, which can sense your hands. You can have gestures for yanking and gestures for twisting and gestures for zippering.
There’s another gesture that you can have, which is snipping. Let’s say that there’s some finite portion of this infinite stream that catches your ear. You snip both ends and then that snip can go up into a repository of snips. This is where the community gets engaged. Since the snippets of music, these little melody strands, can be split, you allow them to be heard by an audience. Those strands that get a lot of replays are considered successful. You can take strands that have the same link and they can create progeny. Because you can unzip them—let’s say I have strand one and strand two—the pitch part of strand one can go with duration part of strand two, and the duration part of strand one can go with the pitch part of strand two.
Christian: That’s cool. I was wondering why you were making it look like a DNA.
Isaac: I have what I think might be a good addition to this. As the stream of notes and the beats are going by and you catch something that you like, you can capture that and put it in a loop and have it play a couple times and then go into something else, kind of like a DJ does.
Greg: Absolutely. I love it. That’s a great addition. You can do that same kind of higher-order iteration thing with the images. You can use the images to make mosaics over in Pixelian. One final point on this one: the stream generation can come from transcendental numbers. For example, you can use the spigot algorithm, which generates one digit at a time, to generate an expansion of Pi or an expansion of E or other transcendental numbers. What would be the natural base for that expansion? This is where knowing a little bit about the domain helps.
For example, most pop songs end up (more or less) within a range three octaves. You can rewrite Pi in base 22. That’s three diatonic octaves, seven notes per octaves, that’s 21 plus one for a rest. You might want to consider frequency and distribution, so you have a rest for octave; that’s base 24. Basically, when you put it in that base, you get a much better likelihood that it sounds like music as opposed to sounding like noise.
With respect to durations, you can use a lot of Western music. In fact, a lot of world music is in some kind of dyadic time signature. As a first approximation, rhythmic complexity is an important part of music. As a first approximation to something interesting, you can just consider whole note, half note, quarter note, eighth note, and sixteenth note. You’re considering an expansion of your transcendental number in base five. That will give you a pitch source and a duration source that is likely to yield something that is musical.
If you use, instead of the diatonic scale, the pentatonic scale, it’s almost certainly going to be consonant and pleasing to the ear. The other thing that’s really interesting to me about this is that all of this happened before the dawn of time. If we use the transcendental numbers, Pi and E were there before there were humans.
Isaac: And will be here after.
Greg: All of this music that the musician is exploring is already all being played all at once. But it’s really the musician’s choice to explore the music that is bringing it into the auditory realm for humans. It’s different than the experience of playing guitar or piano because here we’re plucking it from the infinite realm (in the mathematical realm) as opposed to the other way around. Part of the reason I designed this game was to help people understand that sometimes the experience of music is just like that: the music was already there and we’re the conduit for the music to get heard.
Isaac: I thought of another thing that could be really cool and make it more musical: having some sort of adjustment for the beats per minute (or something along those lines) so you can adjust for the speed as well instead of having the different durations for the notes.
Greg: Tempo modulation is a great idea.
Isaac: I find it interesting that the leap motion device comes up in these discussions. The CTO of that company is a good friend of mine from undergrad. I can remember specific conversations that we had while taking breaks from studying. I would like juggle to pass the time. He was describing to me how these different shadow emotions can work and how you can track things in space using this infrared stuff. I remember a specific conversation where I’m juggling and he’s trying to explain this idea to me.
Greg: That’s really cool. If you can get us in touch, we should to have a chat.
Isaac: I don’t see why that would be an issue. I can reach out to him.
Greg: That’d be really fun. One of the things I should point out is that all of these have very natural representations in Rholang. Certain streams of pitch information and processing over streams has a very natural representation in Rholang. Likewise, the representation of the grid and content. Anything that has to do with a notion of location maps very nicely onto a notion of name.
These things map onto the RChain blockchain fairly straightforwardly. Part of reason I’m saying that is if there are any developers out there who find this intriguing, it’s probably a fairly quick implementation to get to a prototype of any one of these. Throwing some stuff out there to see if anyone takes the bait.
Christian: Why do you call it Skein?
Greg: Because you’re literally weaving strands. The last one I intended as a kind of commentary. It’s no secret that the U.S. is unfortunately racially divided, that people of color are facing a very different experience in the U.S. than Caucasian folks. I wanted to invert that idea. I came up with this idea called InkMe. The idea is to find out what color person you are. I’m expanding the palette of colors considerably.
Ambiguity in terms of semantic gestures is an important part of the gamification process and in terms of engagement. People have an innate desire to make meaning out of gestures. They want to be creative; people like coining new words. Some languages are actually quite good at this. As I understand it, Hebrew is built off of trigrams. If you get the knack of how to combine trigrams, you can easily construct new words. This is something that every eight-year-old— this is just what I’ve been told from Hebrew scholars; I’ve never verified it for myself cause I don’t know how to speak Hebrew—but I’ve been told that a competent speaker can mint new words and everyone will understand what they mean.
People like to be creative with language. While Facebook was brilliant when they added the like button to capture sentiment, when they tried to go a step further with the emotional emojis they missed an opportunity, which was too let people discover the emotional content by having more ambiguous gestures. This is another part of what InkMe is all about. People who come to this through the website can see some fairly detailed specs that I made for the application. You can see how long ago I made them because the phone interface that I drew them on is several generations old.
Isaac: I love the characters that you chose. I love “Community.”
Greg: Exactly. The idea is that you have some cast of characters. I chose the characters from the TV show, “Community.” Essentially, they upload their profile. They can be connected with other characters in the community. Again, it’s very simple. There’s only one action. For example, let’s say that Abed is one of the characters and he’s connected to Britta. He can select a color that he thinks Britta is or that somehow represents his engagement or relationship with Britta. It’s purposefully ambiguous. We don’t know what Abed means specifically by coloring Britta in this way.
When Britta goes to check her profile, she notices that Abed has colored her. She gets a notification. She clicks on the notification and there’s a little strand labeled with Abed’s name in such a way that it intersects with her avatar. She can see this little strand of color. The same thing can happen from other characters. Annie, for example, might be a friend of Britta, and she might also color Britta. She selects the color. Britta gets a notification from Annie. Eventually, what we see is that Britta has some flag of colors that her community has colored her.
Again, simple actions. The community begins to work out for themselves what colors mean. That meaning may be dynamic. It may shift and change over time in the same way that the meanings of words shift and change. In some sense the measure of the coherence of those meanings is a measure of the coherence of the community.
There’s a wonderful comment by CS Lewis, who was a philologist. We know him for his wonderful works of fiction, but he wrote fairly serious scholarship. He has a book called Studies In Words in which he traces the meanings of common words, either from the Latin origins or the Germanic origins, throughout their history. He has this really astonishing comment. He says that most words, like human lives, begin with a fantastic promise and end in noise. I’s a very inspiring comment. It makes me want to have my life not quite end in noise.
The relevance of that comment here is that if the community is coherent than the semantic information in the gesture of coloring people will take hold. People will know what they’re saying to each other in this emotional language of color. That’s basically the idea.
I have not yet thought about how this might be monetized. I don’t know how to connect it to that aspect of the blockchain. I know how to implement it in Rholang. I haven’t really thought about where one might inject the introduction of contest so that there’s a possibility to have transactional behavior. I’m open if you guys have any thoughts.
Isaac: It’s a good feature as a part of some broader social platform.
Greg: You could do it that way. I’m always interested in games that are as simple as Go. The rules for Go are incredibly simple. Complexity arises out of that simplicity. In review, simple actions coupled to a global view is an important principle.
Another important principle is that the complexity of the global view represents a measure of the coordination. That’s a place to introduce contest. In general, you want to avoid putting costs to actions that you would actually like to accelerate. Anything that is really something that you need to be happening frequently, you don’t want to slow it down. Adding cost adds friction. That will slow things down. You want to put costs where there’s a natural notion of contest and climbing a ladder of excellence.
Another principle is to add evolutionary capabilities. Skein introduces genetic algorithms and genetic programming components to the mix. Finally, we want to leave room for ambiguity. There has to be a place where people can make the game their own. They can overlay action within the game with their own meaning. Those are the principles that will go into these game designs. They’re also principles that unlock our notions of cooperation and coordination.
Christian: I was wondering if you were going to mention that protein folding game. Did you know about that?
Greg: I know a little bit about it. Why don’t you tell us?
Christian: Some research lab was facing some difficult computational problem with protein folding because it’s so intensive. They made an online multiplayer game out of figuring out how these proteins fit together. Isaac, do you know what I’m talking about?
Isaac: I have never heard of what you are talking about.
Christian: Do you know the name or how we could find it?
Greg: No. I know one of the principals, but his name escapes me at the moment.
Christian: Apparently they ended up solving some previously unknown problems.
Greg: The whole idea of the collective intelligence is quite strong. That’s a great application. I’m looking for principles: how to unlock the collective intelligence and how to enable the collective intelligence.
Christian: You started out mentioning how voting was like a low-level language. How do you incorporate collective decision-making into this real-world decision-making as an example of this?
Greg: I believe that decisions follow processes that are like chemical processes. There’s a period where it looks like nothing is happening, but actually a lot of information is being gathered. The way it’s being gathered and how it’s being stored is often misapprehended or not well-perceived. My sense is that decision-making processes happen because there’s a collection of sentiment. Before you have an expression of will you have a collection of sentiment. People are feeling something. Being able to capture the information about that sentiment, there needs to be some manifestation or representation of the entity about which they are having feelings.
Meme construction is a way that people began to get these clusters of concepts. Then they have an expression of sentiment about those clusters of concepts.I’m expressing it fairly abstractly, but on purpose; I’m trying to get to the principles. There’s a period of formation of meme-like gadgets, and then there’s a period of how the collective feels about those meme-like gadgets. It’s almost like a super-saturated solution. Then boom, there’s an expression of will. This is the community’s response, this idea or this proposal or something like that.