Adding a Custom Interface to Our Game Engine

So far, we’ve been using the Lisp REPL to enter our game commands. It’s amazing how well this works for prototyping our game. But now that you’ve gained an understanding of the basic Common Lisp input and output commands, we can begin to put in place our own custom text game interface, which will be better suited for interacting with the player.

Setting Up a Custom REPL

Creating your own REPL in Lisp is almost laughably easy. Here’s a simple custom REPL for our game, which lets us call the look command in exactly the same way as the standard REPL did:

> (defun game-repl ()
     (loop (print (eval (read)))))
GAME-REPL
> (game-repl)
(look) (YOU ARE IN THE LIVING-ROOM. A WIZARD IS SNORING LOUDLY ON THE COUCH. ...

Get Land of Lisp now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.