xelf.me
Table of Contents
Welcome to Xelf
Xelf is a simple game engine written in Common Lisp. Xelf supports 2-D games with smooth scrolling, efficient quadtree-based collision detection between game objects having axis-aligned bounding boxes, custom collision detection, A-star pathfinding, TrueType fonts, basic OpenGL, and more. Future versions will support 3-D gameplay. Xelf currently runs on Linux, Windows, and Mac. Android support is also being worked on.
Xelf is a work in progress, but has been used to create several fun games, including 2x0ng and Squareball.
Freedom!
Xelf is Free Software, licensed under the GNU LGPL v3, and requires only Free Software to run. With the use of SBCL and Wine, Lisp games for Windows can be cross-compiled from GNU/Linux using only Free Software. All this combined with the ability of SBCL to make binaries for GNU/Linux and Mac OSX when running on those platforms, makes it possible to create Common Lisp games, animations and other multimedia projects and deliver them to a wide audience without using any proprietary programs. This is important for games-as-speech, for if a game is to count as an act of truly free expression, both its creators and its players must be free of proprietary restrictions insofar as they meet together in the experience.
Please also visit our friends at the lisp games wiki to find out more about the use of Lisp in games.
Download the 4.9 release
Dated April 14, 2017. Source code, documentation, and two example games are included.
- http://xelf.me/xelf-4.9.zip (ZIP format)
- http://xelf.me/xelf-4.9.tar.gz (GZIP format)
Or you can use Git to check out the master branch from Gitlab. The current release tag is "4.9".
Check the included README file for more information. The documentation is in the xelf/doc folder, but can also be read online via the links below.
Read the documentation
- Getting started with Xelf— single-page version
- Xelf documentation reference — single-page version
- The game of Squareball — single-page version
- Dave's guide to Common Lisp game development — single-page version
- Keeping game designs simple and accessible — single-page version
- Xelf core source code — work-in-progress documentation. Browse the source code hierarchically in HTML.
- Xelf GUI source code
Xelf has been tested to work with SBCL and CCL; ECL support is almost ready. Please send questions to dto@xelf.me or visit the #lispgames channel on Freenode IRC.
See the videos
- Squareball match human-vs-human with audio commentary (youtube)
- 2x0ng and its 8-bit influences (youtube) (downloadable version)
- 2x0ng gameplay with designer commentary (youtube) (downloadable version)
- Interactive Xelf objects demo (youtube) (downloadable version)
- Xelf map editor demo (youtube) (downloadable version)
- INV8R designer's commentary Part I (youtube)
- INV8R designer's commentary Part II (youtube)
Play the games
See my profile page.
A note about the future of Xelf
The Xelf 4.0 series uses SDL 1.2 and legacy OpenGL. These are widely supported on target platforms right now, but limited in comparison to SDL 2.0 and newer OpenGL. I am currently working on a Xelf 5.0 series with updated SDL/GL support, but this will take time. The purpose of the 4.x releases is to:
- Provide a stable base for compiling and improving existing Xelf games
- Provide interested lispgames developers with an improved, stable release for developing and distributing their own games
- Correct some issues with the codebase that arose in 2016 which made both previous goals more difficult
The upcoming Xelf 5.0 series should be in beta by about 2018. Backward compatibility is a primary goal for the new Xelf; Xelf 4.0 games should require only minor changes to work with the 5.0 API. (Some additional work may be required if custom OpenGL code was used.)
I will continue to maintain Xelf 4.0 series and produce bugfixes until such time as a 5.0 release is completely stable. The 4.0 release can be found at http://xelf.me , and bugs may be reported to me at dto@xelf.me
Have fun! And don't forget to visit #lispgames on Freenode IRC.
Resources
- Xelf source code repository at gitlab
- "3x0ng" is a recent game made with Xelf. See the 3x0ng page.
- the lisp games wiki
- irc.freenode.org, channel #xelf
- author's home page