[phpBB Debug] PHP Warning: in file [ROOT]/ext/alfredoramos/seometadata/event/listener.php on line 114: Undefined array key 10443105 [phpBB Debug] PHP Warning: in file [ROOT]/ext/alfredoramos/seometadata/event/listener.php on line 114: Trying to access array offset on value of type null Micro 825: Only YOU Can Prevent Forest Fires VIII GAME OVER - Mafiascum.net
I really like the 2 forest idea. Even if scum is absolutely awful they get 3 hits out of 7 people, ignoring that they know the YOU that was shot is not forest. This is extremely likely. But 2 forests requires scum to get a mis-shoot before going into positive EV category. If small balances are needed, mod can implement that the Pyro list skips over confirmed non-forests if Pyro desires (so the night is still instantaneous).
One pyro balances things in a wrong direction I think, because games would get more streaky depending on whether YOU is lucky and hits PYRO and whether PYRO is lucky at hits forrest. 2 of each is nice since it makes the game more 'mafia' and less luck.
I realized that in the case where there is only 4 yous, pyro could potentially run the strategy of hunting all yous instead. That would also result in game. Note this is different from hunting forests since some YOU is public knowledge after shooting.
(i.e. in a night scenario, 5 people are alive: {smokey, you, forrest, forrest, pyro}, and a you is outted (presumably from shooting to get to the night phase), pyro should choose to shoot you.
running a random simulation under the following rules:
YOU kills randomly only among the alive players that are not YOU, FOREST, or SMOKEY if SMOKEY has killed already.
PYRO only hunts for forests (if some YOU shot, or smokey killed, pyro doesn't kill them)
The YOU that makes the first kill continues making kills (irrelephant's suggestion)
PYRO gets a final shot if no PYRO is alive.
[So we are assuming a very civil town...]
2/2/1/4 gives pyro advantage of 0.575.
1/2/1/5 gives pyro advantage of 0.742 (significantly less than I anticipated)
2/2/2/3 gives pyro advantage of 0.509 (so smokey is better than you in EV, I guess)
1/1/1/6 gives pyro advantage of 0.501 (almost fair)
However, 1/1/1/6, games last 1.025 days on average, while 2/2/1/4, games last for 1.65 days on average. Compared to the baseline, 1/2/1/5 games last 1.60 days (so 2/2/1/4 and 1/2/1/5 is roughly indistinguishable).
Here's some (poorly written) matlab code in case you want to run the simulation yourselves. To change the ratio, simply move the numbers 1 to 9 between the 4 groups of forest, pyro, smokey, and you.
Spoiler: code
%% Smokey the bear
pwin = 0;
for iter = 1:10000
forest = [1];
pyro = [3,4];
smokey = [5];
you = [2,6,7,8,9];
outted = [];
dead = [];
while isempty(forest) + isempty(pyro) == 0
if isempty(you) == 0
targets = [you(you~=you(1)),smokey,pyro];
for nottarget = [dead,outted]
targets(targets == nottarget) = [];
end
tgt = randi([1,length(targets)]);
kill = targets(tgt);
if ismember(kill,smokey) == 1
dead = [dead, you(1)];
you(1) = [];
outted = [outted,kill];
elseif ismember(kill,pyro) == 1
outted = [outted,you(1)];
dead = [dead,kill];
pyro(pyro==kill) = [];
elseif ismember(kill,you) == 1
outted = [outted,you(1)];
dead = [dead,kill];
you(you==kill) = [];
end
end
targets2 = [you,smokey,forest];
for nottarget2 = [dead,outted]
targets2(targets2 == nottarget2) = [];
end
kill2 = targets2(randi([1,length(targets2)]));
if ismember(kill2,smokey) == 1
if isequal(pyro,[])
break
elseif length(pyro) == 1
dead = [dead, pyro(1)];
pyro(1) = [];
outted = [outted,kill2];
targets2 = [you,smokey,forest];
for nottarget2 = [dead,outted]
targets2(targets2 == nottarget2) = [];
end
kill2 = targets2(randi([1,length(targets2)]));
end
elseif ismember(kill2,forest) == 1
dead = [dead,kill2];
forest(forest==kill2) = [];
elseif ismember(kill2,you) == 1
dead = [dead,kill2];
you(you==kill2) = [];
end
end
if isempty(forest) == 1
pwin = pwin +length(dead);
end
end