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)




