Skip to content

Running Experiments

Paolo "Nusco" Perrotta edited this page Jun 24, 2015 · 14 revisions

Here are a few advanced uses in case you really get serious with this program. All of this stuff is a work in progress, so it will change. Please don't expect anything to be stable until version 1.0.0.

How to run a long experiment

In the distribution's bin directory, you'll find an additional command named experiment. It's a large dish that runs without graphics and parallelizes calculations a lot, so it's really fast – especially if you run it on multiple cores. Run it with bin/experiment (or bin\experiment if you're running Windows).

Run narjillos or experiment with the -h argument to see their command-line arguments. In particular, for both programs you can use -p (or --persistent) to save the experiment to an .exp file every 10 minutes. If you interrupt the experiment for any reason, you can pass the name of this file as an argument to either narjillos or experiment and pick up the experiment from the last saved state. This allows you to run very long experiments. My tipical workflow is:

  1. I start an experiment with experiment -p and run it for a while at blazing speed.

  2. After a while, I kill the process, that leaves behind an .exp file (say, 774012997-0.3.0.exp).

  3. I load the file in narjillos to see what is happening:

     narjillos 774012997-0.3.0
    
  4. If I see interesting stuff, I close narjillos and pick up the experiment again in experiment. Don't forget the -p to keep persisting it:

     experiment 774012997-0.3.0 -p
    
  5. I go back to 2.

Experiments are deterministic. Each experiment has a name composed of a random seed, plus the current version of the application. Experiments with the same identifier will give exactly the same results over time.

Demo Mode

Press Ctrl+D to toggle Demo Mode. It's good when you just want to lay back and do some narjillo-watching: it selects a creature (or egg) at random, and it switches to a new one every few seconds.

Clone this wiki locally