[lisp-game-dev] RFC: Blackthorn Starter Pack

Elliott Slaughter elliottslaughter at gmail.com
Wed Jul 21 04:15:04 UTC 2010


Hi everyone,

Earlier today on #lispgames, David hosted a discussion on how to create a
nice standalone installer which would make it easy to develop games in
Common Lisp. Here's my answer:

Introducing the Blackthorn Starter Pack, a standalone collection of
libraries which can be used to develop with any game engine that uses
lispbuilder-* and/or cl-opengl. The installation procedure goes something
like:

 * Install your favorite Lisp implementation.
 * Download and extract the Blackthorn Starter
Pack<http://code.google.com/p/blackthorn-engine/downloads/list?can=2&q=Component%3DStarterPack>for
your platform.
 * Load setup.lisp (e.g. for SBCL, run "sbcl --load setup.lisp").
 * And you're ready to go! (Well, not quite. You need a game engine. But you
have all the dependencies installed so that should hopefully be easy.)

Caveat: The system was originally written with SBCL in mind, but porting it
should be pretty trivial, at least for everything which isn't Lispworks
Personal Edition.
Second Caveat: For Unix flavors, you'll need to install SDL yourself,
because it's pretty much impossible to provide binaries for every possible
Unix, and package managers do a better job of that anyhow.

So that much of the system is working right now. Of course, there are other
things which might be nice to have too, including:

 * An easy way to dump binaries on implementations that allow it.
 * An easy way to turn binaries into full-featured installers for Windows
and apps/dmg files for Mac OS X.
 * Glue code that will automatically find and load dlls/sos/dylibs before
your app starts up so that you don't have to worry about where those files
are on the end-user system.

For Blackthorn, I've currently hacked these things into a Makefile which I
distribute with my engine. But I think it would be not too difficult to
provide this functionality as a part of the Starter Pack rather than keeping
it in my engine.

Oh, and finally: licensing. Blackthorn is under the MIT license. Which makes
it possible to use for literally anything. (Of course, the libraries are all
under their own licenses and I can't change that. But at least the glue code
is under the MIT license.)

Thoughts? Anyone interested in using such a system?

-- 
Elliott Slaughter

"Don't worry about what anybody else is going to do. The best way to predict
the future is to invent it." - Alan Kay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/lisp-game-dev/attachments/20100720/7e3aa984/attachment.html>


More information about the Lisp-game-dev mailing list