This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
druid /
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Thu Jan 29 07:29:28 -0800 2009 | |
| |
Configure | Mon Apr 06 01:22:50 -0700 2009 | |
| |
LICENSE | Mon Dec 22 04:06:05 -0800 2008 | |
| |
Makefile.in | Sun Apr 12 14:49:04 -0700 2009 | |
| |
README | Sat Oct 24 01:28:01 -0700 2009 | |
| |
bin/ | Sun Sep 06 14:38:43 -0700 2009 | |
| |
deps.proto | Sun Apr 12 02:50:39 -0700 2009 | |
| |
druid | Sat Apr 04 09:58:07 -0700 2009 | |
| |
lib/ | Mon Oct 12 07:53:35 -0700 2009 | |
| |
t/ | Thu Apr 02 14:44:16 -0700 2009 |
README
Druid is a connection-oriented board game created by Cameron Browne. Rules and a bit of strategy can be found at <http://www.cameronius.com/games/druid/>. Instructions on getting Druid running: * Get Rakudo. * Set some environment variables. * Call 'perl6 druid'. There's also a an installer called 'proto' that you can use to install druid; see 'Installing via proto' below. == Get Rakudo You need Rakudo to run the Perl 6 code in Druid -- instructions here: <http://www.perlfoundation.org/perl6/index.cgi?rakudo>. == 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/languages/perl6/perl6" 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.) % perl6 configure % make Remember that you still need to set $PERL6LIB and $PARROT_DIR as above. The configure script will complain if you don't. == Installing via proto Proto is a no-fuss installer of Perl 6 projects. One of the advantages of this way of installing Druid is that if you don't already have Rakudo Perl 6, proto installs it for you. 1. Get proto from <https://github.com/masak/proto> 2. Run './proto' and optionally review the settings in the created config file 3. Run './proto install druid' 4. 'export PERL6LIB=`pwd`/projects/druid/lib' 5. 'cd projects/druid' ...and you're ready to run. See "Call 'perl6 druid'" above. == Future plans * Add an SVG renderer. * Work on the machine play. (It's currently random, but I have some fairly nice ideas lying around in a local branch.) * Put in a few optimizations to make Druid::Game::possible-moves O(1) instad of O($n**2) ($n being the size of the board), as it is presently. In another language, the difference might not actually be noticeable, but Rakudo Perl 6 is very "speed-sensitive" right now. * Make the web app do POST requests instead of GET requests. This is more in line with the idea of making a move, a non-idempotent action. * Make the web app handle different simultaneous games, played by distinct users. This will likely require a real databse instead of the short-term file solution used now. == License This Druid implementation is released under Artistic 2.0. See LICENSE. Permission to release the game graciously given by the game author.







