From e1da1b0c2b2df9880e7f0a76b6ecc7aefecaf229 Mon Sep 17 00:00:00 2001 From: Gene Pasquet Date: Fri, 10 Apr 2026 17:38:04 +0100 Subject: Remove useless ai.scm, use prefabs --- README.org | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'README.org') 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 | -- cgit v1.2.3