Monday, December 31, 2012

Convo's current epistemology spec / knowledge model


In Convo, characters do not have fixed names or skill stats, exactly. Instead, they have knowledge that they selectively believe about themselves and represent to others.

One character might have knowledge that they are sometimes Josef, a French civilian with 8 mind points. Someone else could also have knowledge that they are sometimes Josef, an Abwehr officer masquerading as a French civilian with 6 mind points and lockpicking abilities. Both characters can claim to be "the" Josef, and perhaps both characters are the Josef. The "truth" is partly whatever you can get the people who matter to believe -- that might be a commander, a guard, or a farmer, or whomever you need to accomplish your goals at a certain time and place. A "person" is just the sum of their knowledge and what other people believe and perceive about them.

This knowledge model, of separating objects from their qualities, describes personal identities -- but it also describes the entire world and what happened in it. To some extent, the world doesn't exist, just traces of it.

If you have knowledge or intelligence that a Josef sabotaged a safehouse, there are multiple points of fallibility, specifically the words "Josef", "sabotaged", and "safehouse." Any of those parts could be lies or misconceptions -- the idea is to check and confirm your intel. Is the safehouse still there? Did any neighbors hear or see anything? Can you account for the whereabouts of everyone with enough knowledge to perform as Josef? Who told you this intel, was it an eyewitness report from a field agent or a document you found in a bunker?

Agents propagate intel through communities using conversation, radio transmission, or documents. This is now the basic "rock paper scissors" dynamic in the game since the conversation mechanic has been somewhat de-emphasized with the heavy focus on identity.

Documents take time to craft but spread knowledge efficiently and evenly, though they last forever and are liabilities for theft; you might use them to give network-wide orders or put out watch-lists, or even plant fake documents for enemies to find. You can also dead-drop documents, thus transferring intel between two different agents who will never meet each other, preserving your spy network structure.

Radio transmissions are fast over long distances but can be intercepted or triangulated, and require two sets of rare radio crystals / operators. (In Occupied France, radio sets were stored in suitcases called "music boxes" and radio operators were "pianists."). I think this mode will also double as a hint machine; if players are getting frustrated, they can change their strategy to just "find radio crystals / operators" which will take a lot of effort and resources but it'll allow them to progress with a hint from Bletchley Park.

In-person conversation is cheap, reliable, and limited to earshot, and allows you to meet new people and make new contacts. Generally, you will want to acquire and pass information using this method. However, because conversation requires agents to travel and meet each other, their paths leave trails and witnesses behind. I'm still working on some sort of stealth mechanic to shake-off possible tails.

Now, one of the big conceptual breakthroughs I've had was that this great big sum of knowledge about people and events was also a description of history: that is, intelligence gathering and spy work is the construction of a private history that gets mediated and declassified into public memory. A hero (or a war crime) exists only if they leave traces behind and those traces are preserved intact. A lie is no longer a lie if you repeat it enough and everyone believes you.

In this way, I want Convo to be the second video game ever about historical revisionism. (Stephen Lavelle's brilliant Opera Omnia was the first.) I want to design situations where you will want to lie to yourself, where you actively manufacture a past or jump to conclusions because the truth is not strategically advantageous. Self-deception as inverse yomi.

... Transforming this specification into an actual working prototype has proven, uh, elusive.

Part of it is that I keep running conceptual unit tests in my brain and stuff won't make sense, and part of it is that I'm still learning how to engineer things properly. Currently, I'm re-programming how I've structured "knowledge" for the fourth time, because I made the mistake of, internally, attributing knowledge to a "person" instead of "a trace of a person."

This led a thought experiment to fail: if an agent sees someone with a white beard in a black trenchcoat walk into a building, and then sees a similar character with a white beard in a black trenchcoat walk out, they could technically be different characters -- but because knowledge could only apply to people and not descriptions of people, the backend / game interface would recognize whether it's definitely the same person rather than leaving the fallibility and uncertainty to the player.

It's a bit weird because it means characters can sort of ebb in and out of existence, since the game now treats personhood as a temporary thing. It's safer to assume that everyone's just a shadow on the wall and nothing is certain.

Paranoia isn't just an emotion or a mood or a state of mind. It is also a philosophy.