silen: a generic pygame/SDL engine

 

silen was the first graphics engine I wrote, designed to simplify some of the common functionality that all games need. It provided a common input interface (for mouse and keyboard), animation (linear, quadratic, and trigonometric), and even a sprite class for managing spritesets with multiple animations.

 

Some notable features were the dictionary for input messages (which enabled access to the number of frames a key was held down, for menu cycling with delays at each entry, etc.), the powerful animation framework (which allowed bounce and repeat on a specified range, and multiple concurrent animations), and the incorporation of the animation framework into the sprite class (which enabled sophisticated looped animations on spriteset frames). It was a very powerful abstraction that made writing games much easier.

 

Modules:

Animation (animated values that change over time)

Event (input handling for mouse and keyboard)

Sprite (spriteset and positional animation for in-game objects)

Window (fullscreen toggle and common Escape menu w/ Quit, Resume, Reset)

 

silen-based Games Online:

CrossShift+ (silen v0.1)

A Walk in the Park (silen v0.9)

Paper Trails (silen v1.0)