Plant Insect Bird Game Dynamic Sketch

inb4 people wanted to find out what a ‘dynamic sketch’ was (ask Sacha instead). Sorry I’m going to experiment with eev in this document kinda woven into the writing. Go with it.

Getting one software individual at all.

 (eepitch-shell)
cd
git clone https://codeberg.org/tfw/pawn-75 Pawn-75
mkdir -p leocommunity
cp -r ~/Pawn-75/Pawn-75 ~/leocommunity/plant-insect-bird

sudo apt install clisp

Now we have one of my software-individuals. I added the debianish line for installing clisp, which is the historically officially supported software-individuals lisp implementation (other than allegro).

Starting clisp in emacs

In emacs, because we’re not crazy. If you aren’t in eev emacs right now, I trust you know what you’re doing.

 (eepitch-kill)
 (setq inferior-lisp-program "clisp -E ISO-8859-1 -modern")
 (slime)
 (setq eepitch-buffer-name "*slime-repl clisp<2>*")

We opened lisp in the usual way. If you already had a clisp slime-repl open, that would have a <2> in it.

Starting that software-individual in clisp

(require "asdf")
(uiop:chdir "~/leocommunity/plant-insect-bird/demus/Process/main/")
(load #p"../../../remus/Startup/cl/acleo.leos")
(cle)

And we’re in. How easy was that.

Add a game knowledgebase and board entityfile

crek game-kb
loadk game-kb
setk game-kb
crefil board
loadk board

Well, we have a game knowledgebase with a board entityfile, and we loaded that board entityfile and its related knowledge.

Add a grid thingtype to game-kb board

put grid type thingtype
put grid attributes {tiles, description}

addmember (get board contents) grid
writefil board
loadk board

put game-kb mustload {board}
writefil game-kb
loadk game-kb

We are almost done this intro.

Make and add one first grid

put first-place type grid
put first-place tiles <ground ground plant ground insect bird bird ground plant>
put first-place description "First place in that it was the first place rather than particularly competitive"

addmember (get board contents) first-place
writefil board
loadk board

Check out first place.

(get first-place tiles)
(get first-place description)

To everyone who wasn’t playing along, those last two lines resulted in

ses.025) (get first-place tiles)
  => <ground ground plant ground insect bird bird ground plant>

ses.026) (get first-place description)
  => "First place in that it was the first place rather than particularly competitive"

ses.027)

Okey. I think I am going to replace my initial Pawn-75 readme with this post as well.

Happy lispgames-making everyone!