aboutsummaryrefslogtreecommitdiff
path: root/README.org
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2026-04-10 17:38:04 +0100
committerGene Pasquet <dev@etenil.net>2026-04-10 17:38:04 +0100
commite1da1b0c2b2df9880e7f0a76b6ecc7aefecaf229 (patch)
tree15e89991aaaa3c2c44058998598d726a3bb66697 /README.org
parent9ffd919e293324332acd87cd129c8d73ea27035a (diff)
Remove useless ai.scm, use prefabs
Diffstat (limited to 'README.org')
-rw-r--r--README.org8
1 files changed, 4 insertions, 4 deletions
diff --git a/README.org b/README.org
index 45db408..ef5ecd8 100644
--- a/README.org
+++ b/README.org
@@ -19,7 +19,6 @@ A 2D tile-driven game engine for Chicken Scheme, built on SDL2. Targets old-scho
- Built-in update pipeline: input → acceleration → gravity → x-collision → y-collision → ground detection → entity collisions
- Entities as plists — purely functional, no classes
- Data-driven prefab/mixin system for composing entity types
-- FSM-based enemy AI via the =states= egg
- Configurable input: keyboard, joystick, and controller
- Asset registry with =preload:= lifecycle hook
- Scene and camera management
@@ -53,10 +52,12 @@ System libraries: =SDL2=, =SDL2_image=, =SDL2_mixer=, =SDL2_ttf=
Chicken eggs:
#+begin_example
-chicken-install sdl2 sdl2-image expat matchable defstruct states \
+chicken-install sdl2 sdl2-image expat matchable defstruct \
srfi-197 simple-logger srfi-64
#+end_example
+Games that ship their own FSM logic (for example with the =states= egg) declare that egg themselves; Downstroke does not depend on it.
+
** Building
#+begin_src sh
@@ -75,7 +76,7 @@ csi -s tests/physics-test.scm
Modules live at the project root. Each compiles as a Chicken unit (=csc -c -J -unit=). Compile order follows the dependency graph:
-: entity, tilemap → world → animation, physics, ai → input → prefabs → mixer → sound → engine
+: entity, tilemap → world → animation, physics → input → prefabs → mixer → sound → engine
| Module | Responsibility |
|----------------+---------------------------------------------------|
@@ -85,7 +86,6 @@ Modules live at the project root. Each compiles as a Chicken unit (=csc -c -J -u
| =physics= | Gravity, velocity, AABB tile + entity collisions |
| =input= | SDL2 events → action mapping, configurable binds |
| =animation= | Frame/tick tracking, sprite ID mapping |
-| =ai= | FSM enemy AI: idle → patrol → chase → attack |
| =prefabs= | Mixin composition, entity instantiation |
| =renderer= | =draw-sprite=, =draw-tilemap-layer=, =draw-text= |
| =assets= | Asset registry for the =preload:= hook |