Skip to content
A connection-oriented board game written in Perl 6
Perl6 Perl
Find file
Pull request Compare This branch is 5 commits ahead, 176 commits behind master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Druid is a connection-oriented board game created by Cameron Browne.

Rules and a bit of strategy can be found at

Instructions on getting Druid running:

* Get Rakudo.
* Set some environment variables.
* Call 'perl6 druid'.

== Get Rakudo

You need Rakudo to run the Perl 6 code in Druid -- instructions
here: <>.

== Set some environment variables

Put something like this in your ~/.bash_profile analogue:

 export PERL6LIB=/your/path/to/druid/lib
 export PARROT_DIR=/your/path/to/parrot
 alias perl6='$PARROT_DIR/parrot $PARROT_DIR/languages/perl6/perl6.pbc'

(Why do I recommend aliasing to 'parrot perl6.pbc' instead of to the self-
contained 'perl6' executable that can be generated by the Rakudo Makefile?
Because the latter does more strict memory checks than the former, and the
memory checks result in segmentation faults on many systems. Segmentation
faults aren't dangerous, just annoying. I find not having them makes for a
more pleasant game experience.)

Remember to start a new bash process (terminal window, tab, whatever) or to
re-source ~/.bash_profile:

% . ~/.bash_profile

== Call 'perl6 druid'

Yup, you're ready to go.

% perl6 druid
% perl6 druid --size=10 --computer=1
% perl6 druid --help

== For those who want to compile things

(After all, compilation does make startup a little faster.)

% perl Makefile.PL
% make

Remember that you still need to set $PERL6LIB and $PARROT_DIR as above. The
file Makefile.PL will complain if you don't. The 'make' process, should you
foolishly proceed to it without heeding Makefile.PL's advice, will not
complain, just fail.

== License

This Druid implementation is released under Artistic 2.0. See LICENSE.
Permission to release the game graciously given by the game author.
Something went wrong with that request. Please try again.