Package blackthorn
Blackthorn is a framework for writing 2D games in Common Lisp. Blackthorn uses LISPBUILDER-SDL for graphics support (which internally uses SDL, SDL_image, and SDL_gfx), and either AllegroCache or Elephant as an internal
database for object persistence.
Blackthorn currently runs on either Allegro CL (with AllegroCache or Elephant) or SBCL (with Elephant or with a database). Blackthorn has been tested recently with the following configurations:
Blackthorn currently runs on either Allegro CL (with AllegroCache or Elephant) or SBCL (with Elephant or with a database). Blackthorn has been tested recently with the following configurations:
- Windows x86/Allegro CL/AllegroCache
- Windows x86/SBCL/Elephant (BDB)
- Windows x86/SBCL/No DB
- Linux x86/SBCL/Elephant (BDB)
- Linux x86/SBCL/No DB
About This PackageComponents GraphicsThe following classes provide wrappers over SDL surfaces. Instances of both classes are defined by name, allowing them to be looked up and reused without reloading graphics resources from the disk. Furthermore, the graphics autoloading module provided by blackthorn.asd allows images and animations to be loaded and configured automatically with no code required.Persistent wrapper over a sdl:surface. ... ComponentsThe game simulation model in Blackthorn is built on trees of objects. The component class, which serves as a superclass for all objects in Blackthorn, uses parent references and implicit slot indexing to maintain the tree of objects. The conceptual room provided by most game engines is simply the root of a tree in Blackthorn. There is no restriction on having multiple independent trees, thus allowing multiple rooms in the game.Objects within the tree may inherit from other classes listed below to provide behavior including, but not limited to, animation, movement, and collision detection. Users are encouraged to define custom classes (which may and frequently do inherit from multiple predefined classes) and defined overloaded behavior in those classes. The component class is the basis for all game objects. ... The named class serves as a way to look up an object by name. ... The view class is a component which automatically manages the screen. ... The freezable class automatically manages freezing subtrees of components. ... | Exported Symbol Index
|