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 Packhttp://code.google.com/p/blackthorn-engine/downloads/list?can=2&q=Component%3DStarterPackfor 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?
Hi Elliott, this is great! I will download the Starter Pack and check it out ASAP. I would like to make a script of some kind (possibly elisp) to define new starter kits that include whatever prerequisites and engines are in a given kit's configuration.
On Wed, Jul 21, 2010 at 12:15 AM, Elliott Slaughter elliottslaughter@gmail.com wrote:
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 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
lisp-game-dev mailing list lisp-game-dev@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/lisp-game-dev