Index of /~eslaughter/darcs/blackthorn

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[   ]COPYRIGHT2009-01-05 07:14 1.3K 
[   ]cldoc.lisp2009-01-05 07:14 2.1K 
[   ]atdoc.lisp2009-02-08 00:18 2.9K 
[   ]README.arc2009-05-04 06:46 13K 
[TXT]README.html2009-05-04 06:46 8.2K 
[DIR]disp/2009-05-04 06:46 -  
[DIR]src/2009-05-04 06:46 -  
[   ]dist.lisp2009-05-24 02:02 5.3K 
[   ]load.lisp2009-05-24 02:02 2.0K 
[   ]profile.lisp2009-05-24 02:02 2.5K 
[   ]property.lisp2009-05-24 02:02 2.1K 
[   ]sprofile.lisp2009-05-24 02:02 2.2K 
[DIR]w32/2009-05-25 06:46 -  
[DIR]macos/2009-05-30 23:29 -  
[DIR]unix/2009-05-31 06:46 -  
[   ]blackthorn.asd2009-06-07 03:08 3.8K 
[   ]bunnyslayer.asd2009-06-07 03:08 2.8K 
[   ]Makefile2009-07-07 05:59 7.5K 
[DIR]_darcs/2009-10-04 08:08 -  

Blackthorn

Blackthorn: Lisp Game Engine

What is Blackthorn?

Why another game engine?

What does Blackthorn provide?

Details

Prerequisites

Installation

Download

License

What is Blackthorn?

Blackthorn is a framework for writing 2D games in Common Lisp. Blackthorn is attempt to write an efficient, dynamic, persistent 2D game engine in an expressive language which makes it easy to write games.

Why another game engine?

Games are hard to write. The effort needed to write a usable game engine from scratch, especially when dealing with the low-level details of languages like C, make the cost of writing games prohibitive. Libraries like SDL get many of the driver-level graphics details out of the way, but still leave the user writing in C. Libraries like PyGame and LISPBUILDER-SDL wrap more of these low-level details, but still don't provide a full game engine needed for writing substantial games.

There are, of course, game engines which provide this functionality to the user. Game Maker, for example, is an engine which provides everything needed to make a basic game, and an extention language for writing more complex behavior. Using Game Maker, an experienced user can write a basic game in five minutes. However, Game Maker (and similar programs the authors have tried) have some substantial flaws. Problems with Game Maker, specifically, include:

What does Blackthorn provide?

Blackthorn attempts to fix many of the problems above. Blackthorn provides:

Details

Blackthorn uses LISPBUILDER-SDL for graphics support (which internally uses SDL, SDL_image, and SDL_gfx), and either AllegroCache, Elephant, or CL-STORE as an internal database for object persistence.

Blackthorn currently runs on Windows, Linux, and Mac OSX, under Allegro CL, SBCL, CLISP, and ECL. Blackthorn is tested semi-regularly with the following configurations:

Other configurations which have worked in the past, but haven't necessarily been tested recently include:Note: As the games using Blackthorn have become increasingly complex, the load Blackthorn puts on its backing DB has become an increasing performance issue. Currently, the only configuration which runs with a decent frame rate is CL-STORE, because both AllegroCache and Elephant access the disk excessively. Solutions for speeding up either DB are being looked into (e.g. Elephant's Snapshot Set), but none are currently usable.

Prerequisites

The following are required for developing with Blackthorn with the CL-STORE backend.

A compatible Lisp compiler:

Among the compatible compilers, SBCL is suggested because it is (a) free and open source, (b) compatible with Windows, Linux and Mac, and (c) has the best performance of the compilers listed. Allegro CL is also a good choice, but is commercial software (although a free version is available).

Direct dependencies:

Windows only (optional):

Installation

Download the source using darcs

darcs get http://common-lisp.net/~eslaughter/darcs/blackthorn

To start Blackthorn from the shell, merely call make

make

Optionally, use parameters to specify the build environment, e.g.

make cl=sbcl db=nodb driver=load.lisp system=bunnyslayer

If instead you prefer to start Blackthorn interactively, start your Lisp and

(load "load")

Download

Binary distributions are made semi-frequently and are available for download at http://elliottslaughter.net/bunnyslayer/download.

License

Blackthorn is free and open source software, see the COPYRIGHT file for details.