The following are demos by Ian Taylor available for download.

A more active list of hobby projects can be found here.

Bee Demo 1.1 Download bee.zip (654 KB)

The Bee Demo is a simple maze game demonstrating Microsoft DirectX 7.0 graphics techniques. In particular, it performs relatively sophisticated, real-time, soft shadowing.

Bee screenshot Amongst other graphical features, the game demonstrates:
  1. Multiple, dynamic light sources;
  2. Coloured and attenuated shadows;
  3. Self-shadowing;
  4. Penumbra approximation;
  5. Silhouette optimisation;
  6. Mipmaps with tri-linear filtering;
  7. Bill-boarding;
  8. Alpha blending;
  9. Triple buffering;
  10. Fog effects; and
  11. W-Buffering.
The archive contains the final Windows executable, full C++ source and documentation.

Update: Finally implemented a satisfactory throttling mechanism (which greatly improves responsiveness) and fixed a couple of minor bugs. [09-Dec-2002]

Blox Demo 1.1 Download blox.zip (119 KB)

Blox screenshot The Blox Demo is a 3D block-building simulation. It raises a number of questions:
  1. Why is the executable so small (only 28 KB)?
  2. How can it render the 3D model without OpenGL or DirectX?
  3. How can it save a model as a standard thumbnail bitmap, but retain the details of all the blocks making up the model?

The archive contains the final Windows executable, full C++ source and documentation (including the answers).

Update: Tweaked project settings to get the executable less than 32KB. [22-Jun-2003]

Flag Finder

United Kingdom Flag Flag Finder is a simple client-side, dynamic HTML web page that helps users find a country given visual aspects of its flag. Try clicking the "Highlight the most effective question" checkbox.

Not exactly rocket science, but quite effective nonetheless.

Requires Microsoft Internet Explorer.

Map Demo 1.0 Download map.zip (135 KB)

Map screenshot The Map Demo is a demonstration of 128 different projections of a world map. It features:
  1. Dual-resolution, world coastline data in only six-and-a-half kilobytes;
  2. Arbitrary zooming; and
  3. The ability to save maps as Windows Enhanced Metafiles

The archive contains the final Windows executable, full C source and documentation.

Curling Demo 1.0 Download curling.zip (147 KB)

Curling screenshot The Curling Demo is another exercise in keeping executables small. This 56-kilobyte game features:
  1. Configurable computer opponents;
  2. Smooth three-dimensional graphics; and
  3. Sound

The archive contains the final Windows executable, full C++ source and documentation.

Map Demo 2.0 Download map2.zip (266 KB)

Map2 screenshot Version 2.0 of the Map Demo extends the functionality of Version 1.0 whilst still fitting in under 100-kilobytes. It features:
  1. Coastline and border data for over 200 countries and regions;
  2. Over sixty statistics and codes for each country;
  3. Vector-drawn flags for each country;
  4. 128 map projections;
  5. Choropleth statistically mapping; and
  6. The ability to save maps as Windows Enhanced Metafiles

The archive contains the final Windows executable and full C source.

Unifont 1.1

Unifont source bitmap Unifont is a simple client-side, dynamic HTML web page that demonstrates packing of many bitmap glyphs into a single, small bitmap (128x64) to produce over 1000 codepoints.

Easter Computus on Z80

Z80 CPU Easter is an experiment in optimising the computation of Easter Sunday for any year between 0 and 65535 AD using only Z80 assembly instructions.

16-bit Shifts on Z80

Z80 CPU This series of routines are the result of an investigation into the optimal Z80 assembly instructions for performing 16-bit unsigned shifts.

Flag Factory Download ff.zip (231 KB)

Map2 screenshot Flag Factory generates a web page displaying 232 national and regional flags as scalable vector graphics. It features:
  1. 16-bit MS-DOS support as well as 32-bit Windows console;
  2. A bootstrapping approach with no explicit file handling;
  3. HTML 5 and SVG 1.1 Tiny standards compliance; and
  4. Less than 16 kilobytes to generate over 330 kilobytes of display data

The archive contains the final executables, full C source and example output.

Map Demo 3.0 Download map3.zip (313 KB)

Map3 screenshot Version 3.0 of the Map Demo extends the functionality of Version 2.0 whilst still fitting in under 100-kilobytes. It features:
  1. Coastline and border data for over 200 countries and regions;
  2. Over one hundred statistics and codes for each country;
  3. Improved vector-drawn flags for each country based on Flag Factory data;
  4. 128 map projections;
  5. Approximate time zone details;
  6. Choropleth statistically mapping;
  7. The ability to save the data table as a CSV file (significantly larger than the executable!); and
  8. The ability to save maps and flags as Windows Enhanced Metafiles

The archive contains the final Windows executable (packed with UPX) and full C source.

Tube

Tube screenshot To celebrate eighty years since the publication of Harry Beck's iconic 1933 London Underground Map, here's a smoothly-animated evolution of the tube network through each decade using HTML5 canvases and JavaScript.

The maps are handcrafted vector graphics, with the scripts compressing down to less than 32 kilobytes.

Clock

Clock screenshot At only 1017 bytes, Clock is a possible JS1K entry. This is a competition for JavaScript scripts no larger than one kilobyte.

Cocktail Venn Diagram et al

Cocktail Venn Diagram Based on a JSON database of nearly three hundred drinks, I drew up a Cocktail Venn Diagram of the major six ingredients:
  • brandy,
  • gin,
  • rum,
  • vermouth,
  • vodka and
  • whisky
These interactive web pages allows you to browse cocktails according to intersections of those ingredients, along with other groupings.

More Clocks

Rotor screenshot A collection of HTML5 demos on a time-telling theme.