Feedback on a custom input control and the Rumors .NET feedback system.
I'm starting to get all excited now. Before I go too much into Rumors .NET, the idea isn't entirely mine. During one of my projects working at Microsoft I had some chats with an excellent engineer on the concepts of messaging and rumor systems within games. That engineer was Mark Gabarra, and I told him that if I was ever able to get the time to publish or produce anything on the subject, I'd give him his due attribution.
The Meetings
Can't really call them meetings, more short term chats. The idea is simple, in that the people remember things, events travel, and people talk about whatever might be on their mind. The dynamics can be complex or simple and we really wanted something simple at first just to play with. To sum this up in a kind of gaming scenario, imagine that a monstrous invasion has occured in some area of the world. At this point in time, some scouts or messengers are dispatched to send the news to another town. By the time those guys get to the town or are killed several things will have happened. They may be unintelligible, they may have crossed far too much distance for the people to even care, the event in the remote town may be over, etc... You can start to see where NPC propagation of messages is important. Now, in that context the messages were all defined, and well defined, in order to be passed, perhaps with some properties that define how future NPCs will interact with them. Here is where the disconnect came for me and I wasn't able to produce anything interesting because the system was only as good as you were willing to spend time tuning the message protocol.
The Ponderings
Now, I've been working on the idea for at least a year now in sketches and other forms. Probably still only spent 5-10 hours, but spread that over a long period of time where I may have also pondered it while in the shower or burning time in the car while going somewhere. The idea still has great warrant and potential, but I just needed to find the right thing to tweak the system and make it independent of system generated messages and more dependent on player generated messages, or something I'm going to call rumors. Rumors are awesome because they embody the natural laws of communication without making any assumptions. What are some common assumptions?
-
How much do I trust this person? Trust is an assumption that a person is going to tell the truth or lie.
-
Requirements of belief. This is when you can't afford not to believe something.
-
Shared vocabulary. This is where you know what the person is talking about and share vocabulary and definitions of words others might not understand.
Rumors break all of these down. In general, every time you hear a rumor, you examine it with as much as possible. You don't trust the source, or the source of the source, but rather question them both. You aren't required to believe rumors, because they are something extra. They do required shared vocabulary and context, but only in trying to understand them. The beauty of a rumor is the ability to not understand it, still take something away from the conversation, and not have any negative impacts from it. You see, understanding the rumor is unimportant, and nobody cares if the (woman/man) that fell in the (mud/puddle/elevator/stairwell) was wearing a (red/pink/brick) colored (dress/shirt/blazer).... We listen to rumors in most cases for shear enjoyment, but we also tend to be more accurate, more conniving when we run across rumors that hit close to home, perhaps about people we know. And this is where the system comes in.
The System
Rumors .NET is going to come with 2 problem sets that you'll get to set for all of the individuals involved. Normally, you'll host a town, and you'll be responsible for passing rumors to people in the town. Depending on how you set up your players, things will either go well or not. To add to the chaos, people will visit your town every now and then to pick up rumors. Call these people bards, merchants, Jay Leno, they are just out to get the dirt and find out some funny things to take back home. In effect your rumors may evolve and spread across several systems. Simple for now, so don't expect much. I may improve the logic later. The first set of attributes I call memory control, and the second set are relay control. I'll go more into them later, but for now they are listed.
-
Intelligence, Forgetfullness, Vocabulary, Photographic, Adaptability
-
Gossip, Social, Banter, Reminisce, Importance, Certainty
These will be outlayed on a specially designed UI that I'm showing off to the right. You can see the diagram is a basic polar coordinates or star graph. The nodes with drag handles are able to be changed, and are unlocked. Once you get something perfect, you can choose to lock the node so you don't mess things up. Every attribute will take from 0.0 to 1.0f points and currently there is no maximum to the number of points available. Later this may get changed.
I accidentally clipped the text, but each point is labelled. I'm not sure yet if I should add some input controls for manually setting the attributes as well? Maybe you guys can weigh in on that. I'm also not quite sure that the model shown is going to be very usable, so maybe you can weigh in on that as well. One thing to imagine is that eventually you may be capped to the number of points you can spend. Every time you change an attribute, you might conversely drop the others by some amount. So imagine that dragging one up say .1 points, will drop the other 4 down by say .025 points. Hopefully that explains why the star graph is being used and why locking is important.
I have some other UI concepts, but I welcome any input. Each game is going to consist of up to 16 or so characters per town, each of which will get controlled by the shown graph (of which there will be one for memory and one for relay control). The game itself is a sleeper, meaning it will run in real-time, so you'll be able to check each day and see if anyone has told you any rumors. Or you can proactively talk with various townsfolk to get the rumors they've accumulated. Again, expect nothing more than incoherent banter at first, but I suspect as each townsfolk builds a small dictionary of vocabulary, that they are able to pass rumors with much more efficiently.