update docs and fix the symlinks
This commit is contained in:
parent
6d5406c6c5
commit
f96381f2f0
6 changed files with 810 additions and 831 deletions
44
README.md
44
README.md
|
|
@ -1,33 +1,27 @@
|
|||
# Löve2D Lisp Experiments
|
||||
# Two Player Cleaning Game
|
||||
|
||||
This repo is my personal experiments in game dev with lisp. The games are written in
|
||||
[Fennel](https://fennel-lang.org/) and use the [Löve 2D](https://www.love2d.org/) game engine.
|
||||
Scripts for game data are wrtten in Clojure via [Babashka](https://babashka.org/). I use 2D pixel
|
||||
tool [Aseprite](https://www.aseprite.org/) for painting and then [Tiled](https://thorbjorn.itch.io/tiled)
|
||||
to create maps out of the sprites.
|
||||
A two-player cooperative cleaning game built with [Fennel](https://fennel-lang.org/) and [Löve 2D](https://www.love2d.org/).
|
||||
|
||||
## Dev
|
||||
## Setup
|
||||
|
||||
### Init
|
||||
1. Install LÖVE 2D following the [Getting Started guide](https://love2d.org/wiki/Getting_Started)
|
||||
2. Run the game with:
|
||||
```bash
|
||||
love ./two_player_cleaning_game
|
||||
```
|
||||
|
||||
Follow steps at [here](https://love2d.org/wiki/Getting_Started)
|
||||
to download, install, and add Love 2d to path.
|
||||
## Architecture
|
||||
|
||||
Once done games can be started with `love ./game_dir`
|
||||
The game uses Fennel (a Lisp dialect) compiled to Lua at runtime. Fennel setup is shared across projects via symlinks:
|
||||
|
||||
### Dir setup
|
||||
- **fennel-1.5.3.lua** (root): The Fennel compiler
|
||||
- **fennel_bootstrap.lua** (root): Module loader that auto-compiles `.fnl` files
|
||||
|
||||
Fennel setup copied from [~benthor/absolutely-minimal-love2d-fennel](https://git.sr.ht/~benthor/absolutely-minimal-love2d-fennel/tree/master/item/README.md).
|
||||
Since fennel.lua and main.lua are the same for each game/project I put them on root level and soft linked to them
|
||||
in the project folders.
|
||||
The `two_player_cleaning_game` directory contains:
|
||||
- **main.fnl**: Game source code (Fennel)
|
||||
- **main.lua** → symlink to `../fennel_bootstrap.lua`: Entry point
|
||||
- **fennel.lua** → symlink to `../fennel-1.5.3.lua`: Compiler reference
|
||||
|
||||
```
|
||||
.
|
||||
├── README.md
|
||||
├── fennel-1.5.3.lua
|
||||
├── fennel_bootstrap.lua
|
||||
└── hello_world
|
||||
├── fennel.lua -> ../fennel-1.5.3.lua
|
||||
├── main.fnl
|
||||
└── main.lua -> ../fennel_bootstrap.lua
|
||||
````
|
||||
## Development
|
||||
|
||||
See [CLAUDE.md](./CLAUDE.md) for detailed development notes, including Fennel syntax and LÖVE2D API reference.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue