Skip to content
Pavel Korolev edited this page Mar 12, 2017 · 26 revisions

Common Lisp (a.k.a CL or just Lisp in most cases) has a sizable community and great library support for things like SDL, OpenGL, TrueType fonts, assets handling, etc. So it makes a good option for Lisp game development. Some resources for learning can be found on Learning Common Lisp page.

Being a standardized language, it has several implementations. Popular choice for open source CL implementation is SBCL. But there are many more implementations with their own perks and quirks.

Table of Contents

Window management and Input Handling

  • glop provides simple OpenGL window and context manipulation code as well as system input handling
  • sdl2kit is a utility kit for cl-sdl2 that provides something similar to GLUT, however, it's also geared at being useful for "real" applications or games.
  • cl-sdl2 is a Common Lisp wrapper for the SDL 2.0 C Library.
  • cl-glfw3 provides bindings for the GLFW 3.x library for Common Lisp.
  • CLX provides an implementation of the X Window System protocol to Lisp graphics library[ies] and applications.
  • Lispbuilder-SDL provides a set of bindings and Lispy abstractions for graphics, sound, input and other features [DEPRECATED]
  • cl-glfw is an open source, multi-platform library for opening a window, creating an OpenGL context and managing input. [DEPRECATED]

Graphics

APIs

  • cl-opengl If your writing games in common lisp you are almost certainly going to be using OpenGL. This wrapper enables Common Lisp to access almost every feature of OpenGL.
  • glkit is a utility kit for functionality related to OpenGL.
  • PAL (Pixel Art Library) is a portable Common Lisp graphics and sound library for 2D games [UNMAINTAINED]
  • LDX is an attempt to bring DirectX into Common Lisp. [STALLED]

Rendering Engines

  • CLinch is a shader based graphics engine using cl-opengl. It has strong vector graphics support. It also has tutorials.
  • cl-horde3d is a wrapper around the open source graphics Horde3d
  • okra is a wrapper around the open source graphics engine OGRE [STALLED]

2D Graphics

Assets Handling

Image processing

  • imago is an image manipulation library for Common Lisp
  • opticl is designed to be a high-performance, but relatively lightweight, library for representing, processing, loading, and saving 2-dimensional pixel-based images.
  • cl-sdl2-image is a (currently) brief but usable wrapper for SDL2_image.
  • cl-devil provides bindings to the DevIL image loading and manipulation library
  • cl-soil is a work-in-progress wrapper around the SOIL library

Audio

Physics

Math

  • rtg-math provides a selection of the math routines most commonly needed for making realtime graphics in lisp.
  • mathkit is a purely math-related utility kit, providing functions which can be useful for games, 3D, and GL in general.
  • sb-cga is a highly optimized (incl. SSE) computer graphics algebra library for Common Lisp.

Game Engines

  • Sketch is a Common Lisp environment for the creation of electronic art, visual design, game prototyping, game making, computer graphics, exploration of human-computer interaction and more. It is inspired by Processing Language and shares some of the API.
  • cl-bodge includes support for window management, 3D/2D rendering, physics, 3D audio, text rendering, GUI, assets management and many more features under unified interface.
  • Blocky
  • The goal of glaw is to provide a collection of basic functionalities to help developing games.
  • CL-TCOD library provides an interface (wrapper) between Common Lisp and the Doryen Library (libtcod)
  • blackthorn [STALLED]
  • lisp-game-engine [STALLED]
  • Until It Dies [STALLED]

Utilities

  • crawler2 is an experimental map generation library. The goal is to be able to procedurally generate a map for use in a rogue-like, or other games.
  • sdf - SDF glyph atlas generator
Clone this wiki locally