This package browser is in early development. Mind the rough edges.


Component-based game engine written in Common Lisp

Virality Engine provides a system and workflow that helps describe the elements needed to write 2D or 3D games. It was designed with several domain specific languages that make it easier to describe, manipulate, and use assets commonly found in game making. Such assets include (but are not limited to) textures, materials, shader programs, and scene trees of actors that are available for instantiation. Virality Engine also knows how to accept input from keyboards and most joysticks and gamepads.

The component system is a hybrid model between an ECS and an object model. The components are defined similar to CLOS defclass, and regular generic methods can be used with them. Components are added to Actors which represent game concepts like players, scenery, effects, etc. We define a component protocol invoked by Virality Engine to move your components to the next state and render them each frame.


Install the latest version of sbcl-virality as follows:

guix install sbcl-virality

Or install a particular version:

guix install sbcl-virality@0.3.0-1.cdc19cc

You can also install packages in augmented, pure or containerized environments for development or simply to try them out without polluting your user profile. See the guix shell documentation for more information.