- [There's no place like home](https://screwlisp.small-web.org)
# Plant Insect Bird Game Dynamic Sketch
inb4 people wanted to find out what a 'dynamic sketch' was (ask [Sacha](https://sachachua.com/blog/) instead). Sorry I'm going to experiment with [eev](https://anggtwu.net/index.html#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
```
- Make a grid entity of type thingtype
- - Can be used as a type now
- Its set of tracked attributes:
- - tiles
- - description
- add that grid thingtype to board
- reload board
- Also mustload board when we load 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!
- Be mutuals on [Mastodon](https://mastodon.sdf.org/@screwtape)
- Interview [Kent Pitman](https://nhplace.com/kent) Wednesday 000UTC !
- - (Tuesday night in Americas various).
- - Be there! Watch the mastodon! #Lispygopherclimate
- [A few show peertube archives](https://communitymedia.video/c/screwtape_channel/videos)
- [LispGameJam thread](https://itch.io/jam/spring-lisp-game-jam-2025/topic/4858711/what-genre-is-simulation-eat-things-or-you-die?before=3#post-12826122)