Up: Blackthorn API Reference

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:

  • 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 Package

Graphics
Components

Graphics

The 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. ...

A manager class for a lists of image. ...

Components

The 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. ...

The sprite class manages the drawing of an image or sprite for a component. ...

The mobile class manages updating offset based on veloc, and veloc based on accel, every step. ...


Exported Symbol Index

*repl-input*, variable
*repl-output*, variable
accel, function
accel-x, function
accel-y, function
accelerate, function
active, function
anim, function
anim, class
background-color, function
beginning-p, function
bound-history, function
children, function
clear-line, function
clear-pathfinding-grid, function  (undocumented)
close-database, function  (undocumented)
collidable, class  (undocumented)
collidable-p, function
collide, function
collide-all-p, function
collide-p, function
color, function
component, class
create-database, function  (undocumented)
decf-history, function
define-event, macro  (undocumented)
define-event-handler, macro  (undocumented)
define-name, macro  (undocumented)
defpclass, macro  (undocumented)
display-stream, class
draw-stream-at-*, function
elevation, function
end-of-animation, function
enter, function
enter-repl, function
exit, function
exit-repl, function
find-path, function  (undocumented)
font, function
font-definition, function
freezable, class
freeze, function
frozen-p, function
get-instance-by-name, function
get-instance-by-value, function  (undocumented)
get-instances-by-value, function  (undocumented)
handle-key-down, function
handle-key-up, function
image, function
image, class
incf-history, function
input-line, function
input-mode, function
input-mode, class
key-repeat, function
key-status, function
leave, function
mobile, class
move, function
name, function
named, class
obstruction-p, function  (undocumented)
offset, function
open-database, function  (undocumented)
parent, function
parse-input, function
pull-history, function
push-history, function
rect, function
render, function
repl-mode, class
reprint-prompt, function
reset-history, function
root, function
setup-repl-streams, function
size, function
source, function
sprite, class
string-io-stream, class
surface, function
thaw, function
title-caption, function
update, function
update-pathfinding-grid, function  (undocumented)
update-repl, function
use-input-mode, function
use-root, function
veloc, function
veloc-x, function
veloc-y, function
view, class
visible, function
with-input-mode, macro
with-root, macro
with-transaction, macro  (undocumented)
x, function
y, function