This framework is intended for users who wish to start with game development in Common Lisp as soon as possible without much configuration hassle.

With trivial-gamekit you would be able to make simple 2D games: draw basic geometric forms, images and text, play sounds and listen to mouse, keyboard and gamepad input.

Source code

trivial-gamekit sources can be found at GitHub repository.


Installation and loading

;; add cl-bodge distribution into quicklisp
;; you need to do this only once per quicklisp installation
(ql-dist:install-dist "")

(ql:quickload :trivial-gamekit)



(gamekit:defgame example () ())

(defmethod gamekit:draw ((this example))
  (gamekit:draw-text "Hello, Gamedev!" (gamekit:vec2 240.0 240.0)))

(gamekit:start 'example)


trivial-gamekit example code from Getting Started guide
Nature of Code in Common Lisp by Mark Gerarts
Exercises and examples from Nature of Code book
2D shooter game written for Lisp Game Jam 2017 (Hard Mode)
Ball Z: Second Dimension
2D physics-based puzzle developed for Lisp Game Jam 2018
2D shooter written for Lisp Game Jam 2019
Minimal Danmaku Simulator by Ryan “Pixel_Outlaw” Burnside
Lisp Game Jam 2018 entry in Shoot’em Up genre
Pong Fight by Elias Feijo
A simple Pong game made for Lisp Game Jam 2019 entry
Decent Magician Of the Moldy Dungeon by artchad (aka decent-username) and moldybits
A rogue-like RPG with turn based movement and combat: Lisp Game Jam 2019 entry


Things break and trivial-gamekit is no exception. Feel free to fire an issue when that happens and we will try to figure out a solution together!

Also you can find me and awesome #lispgames community chatting in #lispgames channel at irc://