sol(py): a gen. pyGLet/OpenGL engine
Once I realized that pygame/SDL would only ever run at 20fps maximum, I decided it was time to find a better graphics framework to base an engine on. I found pyGlet, which was a python binding for all the OpenGL calls, with some extended functionality for multiple displays and input messages.
A lot of sol's code was geared toward reducing the complexity of drawing simple shapes, as OpenGL does drawing on a per-vertex basis. My functions took the form "game.draw.Circle(x,y,radius,numvx)", and would handle the math of calculating each individual vertex position internally.
Another area I explored in the Sprite class was parenting and jointed sprites. I created a polar coordinate system (angle,width based) that worked in conjunction with the cartesian coordinate system (x,y based) to create sprites with movable arms and legs, that could all be animated in code with per-frame resolution. As this engine was also the first with a variable framerate, it was a step up from the old static animation method (where frames were just one raster image).
sol was never finished, as I began exploring C#/XNA (which was a much better graphics framework). However, it was mostly complete (v0.9), and I did create a few projects with it.
Modules:
Animation (animated values that change over time)
Draw (simple primitives, like circles, ovals, rects, lines, and arcs)
Sprite (spriteset and positional animation for in-game objects)
Window (silen features & scenes, for layered presentation of a stack of 2D spaces)
sol(py)-based Projects Online: (v0.9)
Image Control Utility (ICU)
Starry Night Experiment




