Chapter | File Name | Description |
2 | guess.lisp | This is a super simple number guessing game. It's also designed to illustrate what it's like to work within a REPL. |
5 & 6 | wizards_game.lisp | This is a simple text adventure game. It can't be "won" yet, because it needs additional commands from chapter 17. It includes the customized REPL code from chapter 6. |
7 | graph-util.lisp | This is a library for interfacing with graphviz, letting you draw pretty graphs from CLISP. If you are using SBCL, you may want to look here for some useful info. |
8 | wumpus.lisp | This implements a version of "Hunt the Wumpus". It requires that grap-util.lisp is in the same directory. Type "(new game)" and then use the "(walk #)" and "(charge #)" commands. The graphs are written to a file known-city.dot.png which you can view in a browser and refresh after each move. |
9 | orc-battle.lisp | This is basically a battle engine like you might find in an old-school rpg game. It is actually kind of addicting as a stand-alone game, as well. It teaches object oriented and generic programming. |
10 | evolution.lisp | This is an evolution simulation. Draws a world to the REPL using ASCII graphics. |
11 | robots.lisp | This game is kind of a joke to show off the crazy things you can do with loop and format. But it's also fun to play! |
13 | webserver.lisp | This implements an extremely crude, but marginally functional web server from scratch. |
15 | dice_of_doom_v1.lisp | This implements the Dice of Doom boardgame. It is the crudest version with only basic optimization, but has a fully implemented AI. |
17 |
svg.lisp wizard_special_actions.lisp |
The first file implements a crude DSL for creating SVG images. The second file adds special actions to the Wizard's Game, completing the game play. It requires wizards_game.lisp in the same directory to work properly. |
18 |
lazy.lisp dice_of_doom_v2.lisp |
The first file implements a simple lazy list library. The second file makes Dice of Doom lazy and adds classic AI optimizations. It requires lazy.lisp and dice_of_doom_v1.lisp to be in the same directory. |
19 | dice_of_doom_v3.lisp | This file turns dice of doom into a crude browser-based game with graphics. It is so crude that it can only support one player using the "site" at a time. It requires the earlier Dice of Doom files and webserver.lisp to be in the same directory. |
20 | dice_of_doom_v4.lisp | This ties up some loose ends for the Dice of Doom game, to turn it into a rich dice rolling board game with a large board. It allows for multiple AI players. It has the same file requirements as dice_of_doom_v3.lisp from chapter 19. |