Everything below is coded in Python 2.5, but most likely works on 2.4 and 2.6 as well.

You will need the pygame library for drawing.

I had to zip everything because my server provider would keep trying to execute the .py files. ugh!


Libraries

Below are some of the libraries and helper code that I use to develop my projects.

Pygame Helper

This is the MOST important library that I use for every single one of my projects. It is essentially a class that implements all most boring pygame integration parts. All I ever do in all of my programs is extend this class and override its update(), draw() and keyboard/mouse event functions.

Starter code

Here is my starter code that extends pygame helper. I always copy paste this file, change the name, and start implementing.

Vector 2D

This class represents a vector and provides a lot of useful vector functions, including angle(), length(), dot(), etc... I use it extensively in my projects.

Particle engine

My particle engine library :) It creates small explosions of particles of different colors. The effect is not anything spectacular, but I sometimes use it to spice up my programs because it is very easy to use.

Springs

I use this library to quickly create springs in my code. They come in handy a lot, mostly for visualization purposes. I use the more stable and mathematically superior verlet integration scheme to prevent explosions.


Example code

Some examples of simple programs that demonstrate use of my libraries.

Turbulence

A very simple turbulence effect that illustrates my normal use of my libraries.


Projects

Here is the code for some of my projects.

N-player tetris

This is my multiplayer cooperative tetris: Multiplayer players cooperate to create lines. The code is functional, albeit non-optimal.

Hanoi Solver Arm

The robot arm solves the towers of hanoi.

Grapher

Code for my Graph Layout program that you can see in my Projects page.