A Ruby simulation of the Withering Blights social-pressure game, built on top of PlayLab/Plummer.
This project uses local path dependencies. The following repos must exist at these paths relative to this repo:
../../Projects/playlab-lean../../Projects/plummer-lean../../Projects/ruby-champ
From simulation/withering_blights.rb, PlayLab is loaded from:
../../../Projects/playlab-lean/lib/playlab
bundle installbin/playOr directly with bin/simulate:
bin/simulate -n 1 -v -p balanced,opportunist,threshold_7,recklessbin/simulate -n 1000 --parallel --threads 8 -p balanced,balanced,balanced,balancedUseful flags:
-n, --iterations N-s, --seed SEED-p, --strategies S1,S2,S3,S4--parallel--threads N--shuffle(shuffle seating order each game)-f, --format ultra|compact|json-o, --output FILE--ultra-log PATH(JSONL payloads, one line per game)
Built-in named strategies:
cautiousrecklessbalancedopportunistsurvivorgamblerdiplomatpositionalreactive
Parameterized strategy:
threshold_N(example:threshold_7)
Monte Carlo aliases are also supported (see MONTE_CARLO_DISTRIBUTIONS in bin/simulate).
List available tasks:
bundle exec rake -TCommon workflow commands:
bundle exec rake # default task; same as `rake test`
bundle exec rake spec # run RSpec suite
bundle exec rake test # alias for spec
bundle exec rake lint # run RuboCop (cache disabled for restricted envs)
bundle exec rake check # run tests, then lint
bundle exec rake lint:todo # regenerate `.rubocop_todo.yml` baselineAutocorrect tasks are also available via RuboCop:
bundle exec rake lint:autocorrect
bundle exec rake lint:autocorrect_allbin/command entrypointscards/YAML card datasimulation/game config, stages, strategies, effects, formattingspec/RSpec tests