Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/borodust/cl-bodge
Feature-rich game framework for Common Lisp
https://github.com/borodust/cl-bodge
common-lisp game-engine game-framework gamedev
Last synced: 7 days ago
JSON representation
Feature-rich game framework for Common Lisp
- Host: GitHub
- URL: https://github.com/borodust/cl-bodge
- Owner: borodust
- License: mit
- Created: 2016-09-16T07:00:06.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-02-05T18:54:19.000Z (over 2 years ago)
- Last Synced: 2024-08-01T03:41:35.525Z (3 months ago)
- Topics: common-lisp, game-engine, game-framework, gamedev
- Language: Common Lisp
- Homepage: http://borodust.org/projects/cl-bodge/
- Size: 1.03 MB
- Stars: 173
- Watchers: 18
- Forks: 14
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cl-bodge
Experimental **bod**acious **g**ame **e**ngine written in **C**ommon **L**isp.1. [Documentation](#documentation)
1. [Framework modules](#framework-modules)
1. [Guides](#guides)
1. [Installation](#installation)
1. [Misc](#misc)
1. [Help and Support](#help-and-support)## Documentation
See `cl-bodge` external [documentation](https://borodust.org/projects/cl-bodge/).## Framework modules
* ***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. See
`cl-bodge/distribution`.## Guides
* [Graphics](https://github.com/borodust/hello-bodge-graphics/blob/master/hello-bodge-graphics.org)
* [Physics](https://github.com/borodust/hello-bodge-physics/blob/master/hello-bodge-physics.org)## Installation
### [Quicklisp](http://quicklisp.org)
```lisp
;; 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)
```## Misc
Also, check out [trivial-gamekit](https://github.com/borodust/trivial-gamekit) to get started
with `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 `freenode.net`.