Feature-rich game framework for Common Lisp
Experimental bodacious game engine written in Common Lisp.
See cl-bodge
external documentation.
Foundations
Basic engine blocks for memory management, concurrency, math, events and systems. Everything
else is built on top. See cl-bodge/engine
.
Host
Abstraction layer over host OS-dependent functionality: windows, OS resource
management, system and input events, etc. See cl-bodge/host
.
Resources
Asset management routines for asynchronous resource loading, preparation, retrieving and
releasing. See cl-bodge/resources
.
Graphics
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 cl-bodge/graphics
.
Canvas
Hardware-accelerated 2d drawing routines. See cl-bodge/canvas
.
Animation
Support module for skeletal animation: keyframe sequences, keyframe interpolation, skinning
shader. See cl-bodge/animation
.
Audio
OpenAL-driven postional 3D audio system: listener, audio sources, audio buffers, streaming,
special effects, etc. See cl-bodge/audio
.
Physics
2D and 3D rigid body physics engine with collision detection: rigid bodies, joints, shapes,
etc. See cl-bodge/physics
.
Text
Text rendering system. Signed Distance Field based rendering, fonts handling, glyph aligning,
font-related math, etc. See cl-bodge/text
2D GUI
System for creating in-game hardware-accelerated multi-window user interfaces: windows,
widgets, layouts. See cl-bodge/ui
.
Distribution
Utilites for packaging application for shipping across different OSes: lisp image dumping,
execution file creation, OS bundles, assets and foreign dependencies packing. Seecl-bodge/distribution
.
;; 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 :bodge-demo)
;; And run it!
(bodge-demo:run)
Also, check out trivial-gamekit to get started
with cl-bodge
bit by bit.
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 freenode.net
.