Wiki

Clone wiki

blackthorn-engine / Blackthorn

About

Blackthorn is a game engine written in Common Lisp.

Blackthorn is a data-driven game engine. The game world is constructed from trees of components, which can be layered and composed in arbitrary ways. Most components are considered immutable by default. Mutable components, or actors, change state by responding to events. Since the game engine controls the propagation of events, input events can be trivially synchronized across a network, allowing multiplayer games to be implemented in a simple and straightforward way.

Blackthorn is also an interactive game development environment. When developing with SLIME, the game can be modified, inspected, and even recompiled without stopping the game or losing state.

Blackthorn runs on Windows, Mac OS X, and Linux with SBCL, CLISP, Allegro, CCL, LispWorks, and ECL. Running on mobile platforms is an eventual goal.

Features

Features currently implemented in Blackthorn 0.2: * 2D graphics engine uses lispbuilder-sdl and cl-opengl. * A simple object model inspired by lisp-game-engine which makes it easy to layer and compose objects. * Event system capable of efficiently synchronizing games across a LAN. Processing is done symmetrically across all nodes. * Collision detection via spatial hashing. * Interactive development console and debugger via SLIME. Recompile any part of the game without stopping or losing game state! * Runs on Windows, Mac OS X, and Linux, with SBCL, CLISP, Allegro, CCL, LispWorks and ECL.

Games

So far, two games have been written using Blackthorn: * Bunny Slayer, a 2D top-down RPG in the style of Zelda * Thopter, a scrolling shooter game in the style of Raptor: Call of the Shadows

Installation

Experienced Lisp Hackers: Download the hg repo and all dependencies to your ASDF directory, then run make in the blackthorn directory.

New Lisp Users: Choose one of the following guides:

  • Installation Guide: The well-explained guide to installing a compiler, libraries, and an IDE for using Blackthorn.
  • Quickstart Guide: The quick and dirty minimal setup for getting Blackthorn to run.

API Reference

The preliminary API documentation is available here: * HTML, one page per node: http://doc.blackthorn-engine.googlecode.com/hg/blackthorn-0.2/index.html * PDF: http://doc.blackthorn-engine.googlecode.com/hg/blackthorn-0.2/documentation.pdf

Updated