Skip to main content


TicTacToe Demo

A dirty-coded TicTacToe game using pygame

Jelly Cubes

Jelly Cubes is a short routine showing two co-centric, semi-transparent cubes rotating so that one will grow out of the other, showing the parts outside the bigger cube being "cut".

Texture Mapping (Tutorial)

Texture Mapping does real-time affine texture mapping on convex flat surfaces in 3D space using Python, NumPy and CPU for calculations (each pixel calculated in this module) and pygame for display. There's a tutorial mode which shows the mapping sections on both the original still image and the 3D rotated surface. (Set self.tutorial_mode to True for tutorial mode.)

RGB Sphere

The RGB Sphere is a morphing vector object for testing three color light sourcing and builds on 3D vector graphics using NumPy and Pygame.

Real-Time 3D Vector Graphics with Python

Real-time 3D vector world with a moving light source, shading and shadows. A reproduction of my 1992 Commodore Amiga demo routine.

Texture Mapping on a Sphere

Texture mapping on a sphere, here a rotating globe, using NumPy math and a simple Mercator projection map. Real-time 3D rotation with some limitations.

RayCasting v.05 - the Map

RayCasting v0.5 implements ray casting up to a map (not the 3D) by using NumPy to avoid looping the rays one by one. The user can steer the "viewer" on a map using cursor keys and see how the rays (field of vision) is formed.

Reflect Sound Vision - a reproduction of an Amiga 1992 Demo

Sound Vision is an Amiga demo released by Reflect demo group in July 1992 at the Assembly demo competition, which it won. This is a reproduction of that demo in real-time Python and pygame.

Fractal Landscapes Demo

Random Fractal Landscapes with a Zoomer. A reproduction of my 1992 Commodore Amiga demo routine.