Core Wars 2074 (Draft)


Play-by-Post Discussion


THIS IS NOT A RECRUITMENT POST!!!

This thread is for the purpose of hashing out the background story and rule set for a mafia/werewolf style freeform RP game that will take place at the conclusion of DougFungus's Murder Mystery Tour. I will make a formal recruitment thread after the current game is over.

Introduction

Game Theory: the study of mathematical models of conflict and cooperation between intelligent rational decision-makers.

Evolutionary Algorithm: A generic term for a population-based metaheuristic optimization algorithm. An evolutionary algorithms use mechanisms inspired by biological evolution: reproduction, mutation, recombination, and selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the fitness function determines the environment within which the solutions "live"

Within the realm of partially observable stochastic games, competition is fierce to develop the perfect agent for competition in a combinatorial zero-sum arena. Generations upon generations of algorithms have faced off to reach this day, the penultimate generation. Two fundamental strategies have vied for dominance: cooperative and deception-based. The algorithms that prove themselves most fit for success in this environment will go on to be the basis for programs that will run the stock market, power and traffic grids, weather management satellites, network infrastructure, and a myriad of other critical applications.

Rules

You will play an artificial intelligence representing a particular 'evolution' of a genetic algorithm competing for control of the memory core where you are being run. This is a rules-light free form RP game where all players are assigned a role (see below) and will spend each turn interacting with each other in order to vote on which of their fellow programs they should delete. Everyone who expresses an interest in the game will be given a spot in the game, there is no application process other than the part below where you describe your program's persona. An important difference in this game from the previous werewolf games that Ryuko started is that side-channel communications (private messages) are prohibited! All communication/RP is to take place in the gameplay thread. There are some roles that will allow you to pass PMs, but unless you receive a PM from me stating that you may now communicate with Player X then passing PMs relating to the game will be considered cheating. Another notable difference is that when a player is eliminated their role is not automatically revealed.

Roles

Your goal as a cooperative algorithm (application) is to eliminate all of the deception-based algorithms (viruses) so you can proceed to the next generation. Cooperative algorithms are broken into the following roles:

app.# (no special role): Each turn you may vote to delete a program. At the end of the turn the program with the most votes against them is eliminated. In the event of a tie nobody is deleted. Your vote should be stated in OOC text at the bottom of your post, for example: The Master Control Program votes for Player X. Enabler roles revert to this once their counterpart is deleted.

app.debugger: The debugger is a massive multi-part program who's source code has been signed by a trusted certificate. Debuggers begin play knowing each other's identities and may communicate with each other via PMs. Once per round they may investigate another program and determine its role with a 75% accuracy. If there is a tie for who the debuggers vote to investigate, the tie will be broken randomly.

app.reverse_engineer: This program has access to a debugging suite and can examine other program's source code. Once per round they may investigate another program and determine its role with a 75% accuracy. Requires an enabler.

app.backup: The backup suite may protect one program from assassination every turn, but may not protect the same program on successive turns. They may also attempt to reverse engineer a program, though their methods are less efficient and they require 2 turns to determine the target's role with a 75% accuracy. Requires an enabler.

app.enabler.role: Reverse Engineers and Backup Suites require the presence of an enabler. When the enabler is deleted they revert to normal programs.

app.whitehat: The whitehat can hack the memory core to manipulate voting. Unless they PM the GM that they only want to cast a single vote, their vote counts twice.

-----

If you’re not one of the cooperative programs, you’re on the other side and your objective is to corrupt every other program until only viruses remain. Should the viruses attempt to crash each other they instead learn the fact that the other is a virus and may PM each other. Viruses together are more dangerous than alone.

virus.proxy: Each turn the proxy can execute a man-in-the-middle attack against a single program. If someone attempts to investigate or protect that player they are deleted. This supersedes the normal virus corruption that the viral players voted on during that turn.

virus.obfuscated: This virus's source code is so difficult to interpret that any investigation against it has only a 25% chance of success.

virus.blackhat: Once per game, on the third turn or later, the blackhat may deliver a logic bomb. They choose an additional program to corrupt; that program will be targeted for corruption in addition to the program chosen by a vote of the viruses.

-----

Special Roles (These roles will be assigned at random amongst the viruses and applications)

The Decomplier: The decompiler may examine a deleted program to determine its role with a 90% accuracy.

Forensics suite: Once per turn the forensics suite may pick a single post and ask the GM whether that post contains any lies (about claims of roles or other activity the GM would have knowledge of). Their examination is 90% accurate.

Binary program: This highly-complex program skirts the rules of the Core Wars competition by attempting to utilize both strategies. One virus and one cooperative program will receive this role at random. They may PM each other. They win by being the last remaining survivor of either side; however if one half of the binary program is deleted the other half is immediately deleted as well.

The exact number of viruses/applications and the specialized roles of each type will be determined by the number of players.


Will the enablers and their respective programs start the game knowing each others' identities and able to communicate privately? Also, will the forensics suite be able to determine specific questions (I.E. "did player so-and-so lie about being an enabler?" "Yes, so-and-so lied about being an enabler.")? Alsoalso, dot.

Scarab Sages

Also dotting. Was going to ask a couple questions but Smashtag beat me to it.


My plan was for the enablers to not know the identity of the program they enable, but if people think that it would make the game more fun for them to know each other and be able to PM then I'd certainly consider opening that up.

For the forensics suite I'd intended it to be a simple true/false about a single statement contained in a post. For example, if the forensics suite identified this post, then their message would look something like this:

Message to GM wrote:
Professor Alessandra Devries wrote:
Look, I don't mind admitting that I'm scared. I'm terrified and I don't know what to do because I don't want to leave my home or my life's work- but I'm not a wolf!"
I would like to run my forensics suite on this statement. Is the professor a werewolf?

1d100 ⇒ 74 (the player wouldn't see this part)

The professor is definitely concealing something. Her statement that she is not a wolf is a lie.


A concern has been brought forward about the Lovers/Binary Program role via PM. The concern is essentially that the role unbalances the game by leading the lovers to work against one side. I believe this role's potential to be abused will be balanced in my game by the lack of PMs so the lovers can't assemble a large conspiracy... they'll be somewhat isolated. Additionally, I do not have a 'chief assassin' role in this game so ties amongst the assassins will always be determined randomly... it will be more difficult for the binary program to protect its other half from being attacked by the viruses.

What do the rest of you think? Is the role worth including or should we scrap it?


To summarize the biggest differences between this game and the previous ones:

No PMs are allowed except where explicitly authorized by your role.
A player's role is not automatically learned at their death.
'Masons' have investigatory power and vote by committee to determine who they will investigate.
Baners/investigators require an enabler, and revert to standard programs when that enabler dies.
Baners can't protect the same player on successive turns
Added double-voting role, two new virus roles, and decompiler/forensics roles.


I don't think lover/binary needs to go. It's an interesting role, especially in a game that prohibits private soft networking. It's really only imbalanced in one specific case.


I think the Lovers role is best if kept private - I mean when people don't know whether it is in the game or not!


Legendary Merchant of Pins

Interesting notion. Provide a list of guaranteed roles and then a couple like the Lovers or even the Cobbler as possible roles with a percentage chance they might be included. Up the paranoia by 24%, heh heh heh.


So, we wouldn't know what roles were actually included, AND we wouldn't know roles upon death?

Smashie likey!


If no roles are announced at death, how will non-investigative apps acquire any information at all?


Probabilistic roles... I like it!

What do you think of a 75% chance of including the binary program?

The other thing I'm not sure about is the virus.obfuscated 25% scrying success... essentially detecting as a harmless app. Is that the right number to use? Should I go with 40%? 50%? What about the forensics suite, should it have a reduced chance of success against statements by virus.obfuscated?


Will there be an objective or theme to the game? Or setting?

A small town or circuit board, as the players will need something to RP off...

Or just be all the programs trapped in a box.


Treppa wrote:
If no roles are announced at death, how will non-investigative apps acquire any information at all?

Decompiler would be key under this scenario. I Win button is getting it investigated and brought into the debugging network.

To clarify, decompiler's going to have to publicly announce results for non-investigative apps to get much info, meaning it's going to have to have been proven reliable and protected.


Setting: let each program create the setting for convos it initiates, based on its personality. Others have to play along or bring pieces of their own into it.


Quote:
Decompiler would be key under this scenario. I Win button is getting it investigated and brought into the debugging network.

Yes, I'm also working on how many decompilers to introduce into the game. I'll be using a table a bit like this one to keep things balanced... one thing I noticed from earlier games was that the difference between 14 and 15 players could create some issues with the system we've been using.

For the setting... two possibilities come to mind. One would be to go with the bland and featureless infinite plane that you could proceed to populate with digital constructs any way you wanted, sort of like The Matrix crossed with Merlin's shapeshifting duel.

The other possibility is to treat each turn as a separate competition where the computer's 'fitness function' is adjusted to test a different aspect of each algorithm. Programs could compete or cooperate in such a way that one program is shown to be clearly worse suited than the others (out voted) and is deleted. For instance, one round might involve an architectural competition to build the most impressive or functional edifice, another might be to operate a series of robot controlled gun turrets to produce the most 'impressive' feat of marksmanship, or to establish the best record at rock-paper-scissors (or rock-paper-scissors-lizard-spock :P).

The second version would allow you to establish a proper adversarial relationship with the MCP...


You know, with all the roles you're envisioning, this could easily end up being a game with no 'vanilla' programs, which 1. could be super awesome for the players because everyone's got something neat to do and 2. take care of Treppa's concern that the vanillapps would be left with no source of info.

In that scenario, it would make sense for the enablers to be networked with the program they enable from the start, as they would be the closest thing to un-powered out there.

Also, don't mind me. Today's super slow at work so I'm babbling.

Scarab Sages

A few quick notes before I leave my comp again:

1)The virus.obfuscated should be at least 50% of a true (virus) result. With them being the most common bad guy (unless I'm misreading) it will be important for the good guys to be able to detect him.

2) I really, really like the idea of having no vanilla roles. Out of the four games we've played so far I've only gotten a special role once (and didn't get to do anything productive with it before I died). I don't know if I'm the only person in that situation, but I can attest that it gets kind of boring for those who are in it.


I had planned for there to be only one of each special virus role, with any additional viruses necessary to maintain balance being virus.#

There would only be one virus.obfuscated. If everyone is in favor of eliminating the vanilla app.# role, I think I can make that happen and still maintain balance... we'll have to see what the final number of applicants are.

At this point I'm leaning toward allowing knowledge and PMs between the enablers and their partners even though this makes them slightly stronger than I'd planned.


You could always allow it with an IC 'tell'. That if they pm there should/has to be an IC symbol. Even if it's just someone smacking another on the shoulder of giving them a light.


+1 vote for no Vanilla roles. I had thought about this in the past but never mentioned it.


Now that we've had a chance to start looking over the fallout from the rules tweaks in the last game, how do we want to handle the lovers/binary role in the sequel? We could:

  • leave it out altogether
  • trust that it has been fixed by the rules tweaks (can only PM each other, no master assassin, baner/backup can't protect same target twice)
  • impose additional limitations on the lovers (requiring the lovers to be the final survivors makes for a very difficult win condition, but might make for a good story).

One proposal was to call it a lovers win if the lovers are among the last 4 survivors.

...we broke the last game and I don't want that to happen again. The first three rounds of the last one were *great* but it kind of fell apart after that. Everything I've read about mafia/werewolf games leads me to believe that they can be quite a challenge to balance so I've been researching my proposed roles and the possible interactions between them very carefully.

My goal in this game, and the point of all of my rules tweaks, is to make the voting the most important part of the game. I think it really took the wind out of our sails when half of our players couldn't do anything except dance during the last game.


Female Helmet Cat

I think the lovers should be fine with rules tweaks, without PMs outside, it'd be harder to pin them down. I don't think the lovers role is unbalanced, just sometimes they might land on particular roles that are unbalancing.


Female Helmet Cat

That being said, when I've played a sort of party game version of this, which was less involved, the lovers/binary were simply assigned randomly, and sometimes you have villain with villain, innocent with innocent, or villain with innocent. The last had the win condition of killing everyone and be the last left standing.


So, assuming you decided to go with all special roles and that we have 16 players again, what would the breakdown look like?

3 debuggers, networked
2 reverse engineers
2 backups
4 enablers, networked with their respective programs
1 whitehat

vs

2 proxies
1 obfuscated
1 blackhat

That is a LOT of networking for the good guys right off the bat. I'd almost say have the bad guys networked from the beginning too, especially since that makes vote records even more of a diagnostic tool, thus putting the in-thread voting in the primary position you want it in.


My plan was to go for something like this:


Player #1d16 ⇒ 12 is a forensics suite
Player #1d16 ⇒ 7 is a forensics suite
Player #1d16 ⇒ 9 is a decomplier
Player #1d16 ⇒ 14 is a decomplier
Player #1d16 ⇒ 10 is a decomplier
Player #1d4 + 12 ⇒ (3) + 12 = 15 is a binary virus
Player #1d12 ⇒ 12 is a binary app

1 debugger
2 debugger
3 debugger
4 reverse_engineer
5 backup
6 backup
7 enabler.reverse_engineer (+forensics)
8 enabler.backup
9 enabler.backup (+decompiler)
10 whitehat (+decompiler)
11 vanilla app
12 app.forensics (+binary)

13 virus
14 proxy (+decompiler)
15 obfuscated (+binary)
16 blackhat

...if we prefer to go with the 'no vanilla app' rule, then I could make sure to randomly assign each of the vanilla apps one of the random roles before handing out the rest of them.

If we want the viruses to gain networking, I could introduce something like:

virus.honeypot: This virus can expose part of its code to another program and analyze the results. Each turn the player may select one program, if the selected program is a virus or is being proxied then the player will learn that viruses identity and may send PMs


I've mulled over the idea of eliminating the vanilla role before, but here it seems to make sense, given the flavor of the players being AIs - it seems logical that they would all have some kind of function.

Or idealistically, the "enabler" role already seems to be a more or less powerless one, its only function being that another program maintains its own.


I went with enabler roles to help stimulate RP. This way more people will have someone they can plot with and vote with, and although only one of the pair gets to send the PM declaring their role's target I'm sure that it will often be a consensus decision.


.enabler_ is actually pretty powerful because it makes Sura/Meowselsworth (worst worst case) or Gigus/Rashida (best worst case) impossible. Your specials automatically have a network started that they can trust. Also, the scanners don't have to hit the special itself; they can hit the scanner OR the enabler. This is all balanced by the viruses being able to disable the special by hitting either it or the enabler. So yeah, I totally dig enabler and think it's not powerless at all. Plus, RP! Whoo!

Community / Forums / Online Campaigns / Play-by-Post Discussion / Core Wars 2074 (Draft) All Messageboards

Want to post a reply? Sign in.