Skip to content

tleguern/ansible-playbook-wumpus

Repository files navigation

Ansible Playbook: Hunt the Wumpus

This project is an attempt at porting the old computer game Hunt the Wumpus written by Gregory Yob in 1973 to Ansible. If you do not know this piece of gaming history have a look at the Wikipedia article about it or the two articles written by Jimmy Maher AKA The Digital Antiquarian. In-game texts come from the historic BSD port from 1989 written in C by Dave Taylor.

The goal is to navigate your way inside a strange cave with ever wrapping tunnels filled with hazards such as bottomless pits, giant bats and the awful, evil Wumpus. This terrible, sucker footed creature sleeps somewhere in the cave, awaiting an adventurer fool enough to wander in its lair. His teeth are long and sharp, quite adapted for a carnivore. Fortunately you are equipped with magically enhanced crooked arrows able to fly in strange directions and even turn around.

Be careful not to shoot yourself!

How to play

The following packages are necessary:

  • ansible
  • python-jmespath

Simply run the following command:

$ ansible-playbook wumpus.yml
...

There are two possible actions: move to an adjacent room (be careful about bottomless pits, giant bats or the occasional Wumpus) or shoot a crooked arrow to a series of rooms.

Here is an asciicast recording of a losing session:

asciicast

TODO

Here is a list of features yet to be implemented:

  • Random chances that the arrow fail after 3 rooms ;
  • Bats can drop player on other bats.
  • Generation of different shapes of cave as in Hunt the Wumpus II ;
  • Add tumaeros: anaerobic termite, arrows eaters ;
  • The player can survive walking on a pit (1/6) ;
  • The Wumpus can awaken and move on bumping walls (1/6) ;
  • Difficulty selection ;

Caveats

Ansible is not exactly a comfortable medium to play. Consider yourself warned.

License

ISC

Contributing

Either send send GitHub pull requests or send patches on SourceHut.

Author Information

Tristan Le Guern tleguern@bouledef.eu