Experimental bodacious game engine written in Common Lisp.
cl-bodge external documentation.
Basic engine blocks for memory management, concurrency, math, events and systems. Everything else is built on top. See
Abstraction layer over host OS-dependent functionality: windows, OS resource management, system and input events, etc. See
Asset management routines for asynchronous resource loading, preparation, retrieving and releasing. See
OpenGL-driven rendering engine. Provides convenience layer over bare GL functionality: shared shader libraries and programs, extended shader preprocessor, vertex array objects, GPU buffers, framebuffers/renderbuffers, textures, etc. See
Hardware-accelerated 2d drawing routines. See
Support module for skeletal animation: keyframe sequences, keyframe interpolation, skinning shader. See
OpenAL-driven postional 3D audio system: listener, audio sources, audio buffers, streaming, special effects, etc. See
2D and 3D rigid body physics engine with collision detection: rigid bodies, joints, shapes, etc. See
Text rendering system. Signed Distance Field based rendering, fonts handling, glyph aligning, font-related math, etc. See
System for creating in-game hardware-accelerated multi-window user interfaces: windows, widgets, layouts. See
Utilites for packaging application for shipping across different OSes: lisp image dumping, execution file creation, OS bundles, assets and foreign dependencies packing. See
;; Add cl-bodge distribution into quicklisp (ql-dist:install-dist "http://bodge.borodust.org/dist/org.borodust.bodge.txt") ;; Update main dist just in case (ql:update-dist "quicklisp") ;; Load the demo (ql:quickload :cl-bodge/demo) ;; And run it! (cl-bodge.demo:run)
Also, check out trivial-gamekit to get started
cl-bodge bit by bit.
Help and Support
If you have any troubles going through guides or running the demo, feel free to fire an issue
here or ping me in
#lispgames IRC channels at