Maze Animations

These maze animations were supposedly included in the CD accompanying some UK maths textbooks. If anyone could confirm or deny this I would be grateful!

Dead End Filler Algorithm

An interesting way to find all solutions to a maze. This requires you to see the whole maze at once, so it is suitable for solving mazes on paper or with a computer, but not useful to someone actually trapped in a maze trying to get out. (:

The proof of the algorithm is actually one of my favorites and is based on the following observations: 1) No step of the algorithm can cut off the start from the finish. 2) The maze is finite and gets 1 cell smaller with each step. 3) The algorithm will only terminate if there are no dead-ends left. 4) If there are no dead ends left, then every remaining cell is part of one solution or another.

Maze to Loop Transformation

In a maze where the walls are connected, the walls can be deformed into a loop. This is why “wall following” (eg: always following the wall on your right) will work in a lot of mazes.

Maze to Tree Transformation

Perfect mazes are “trees“, topologically speaking.

Puzzle tutorials

Astroknot Puzzle

How to solve the Astroknot wire and string tanglement puzzle.



Most of these tutorials no longer exist since the community sites I wrote them on have slowly but surely gone under one by one (RIP VERC, RUST, etc). Some can be found on the TWHL archives but are missing the images. If anyone has backups please let me know!

Hollow Spheres

How to create hollow spheres in Worldcraft 3.4 using vertex scaling and a template cylinder.

Reducing VVIS Times

Optimizing maps for the Source engine/compile tools visibility algorithm.

Combining Brushes with a Text Editor

How to take several brushes, and combine them into one using a text editor. Note that this will only work correctly if the brushes, when combined, would create a convex object.

Motion Blur Effect

This tutorial outlines a hack to create a motion blur effect in Half-Life engine games by taking advantage of the way that the engine behaves when it has nothing to render on a given part of the screen.

How to Make a Sphere in Worldcraft

How to make spheres using the cone slicing technique. This tutorial is basically superceded by the hollow spheres tutorial above, but this one was more influential back in the early days (’99/’00) when only a few mappers knew how to quickly make spheres. Back then people would take weeks doing crazy stuff like vertex-pushing geodesic domes based off engineering schematics (!), etc.

Big Block Method of Error Finding

Maps are complicated projects with tons of pieces that could break. When your map crashes with a vague error message, how do you determine the root of the problem? This tutorial discusses treating your map as a hierarchy of things that can go wrong, and then using educated “guess and check” to systematically narrow the possibilities and find out what is wrong.

Math & Physics

Spheres in a Box

A bizzare example of what happens to spheres and boxes in high dimensions.

Completing the Square

A simple geometric/visual explanation of completing the square.

Angle Between 2 Legs of a Tetrahedron

A geometric explanation of why the angle between two legs of a tetrahedron is 109.47… degrees.

Orthogonal Functions

Intuitive/visual explanation of what it means for functions to be orthogonal.

Legendre Transform

An explanation of the Legendre transform as an encoding of a function’s supporting hyperplanes.

L1 Poincare Inequality

An explanation of the L1 Poincare inequality via application of the isoperimetric inequality to the level sets of a function.

Balancing stuff

Triple coin

Three coins balanced on each other.

Double coin on pencil point

Two coins balanced on the tip of a mechanical pencil.

Coin counterbalance

Three coins “counterbalanced”.

Pencil tip balance

A mechanical pencil balanced upside down on the pointy tip.

Mechanical pencil lead

A piece of 0.7mm mechanical pencil lead balanced on its tip.


Leave a comment


  1. *Chances screwing things up again*

    Hey there Nick ol’man. Nice job bud.

    • Thanks! The other time I was literally in the middle of editing/moving the page right when you posted. Your post didn’t screw anything up this time so it’s all good (-:

  2. Quite diverse content here. :cool:

  3. You know Nick, you are a great listener. Site looks mucho gobs better. I notice many things I mentioned now in use.
    Great job.

  4. Nick, I need to talk to you in real time somehow.. Suggestions?

    And your profile link @ snarkpit has 2 HTTP’s in the link and dies trying to get here.. Check the “website” link.

    • Check your email. I haven’t looked at the island17 vmf since I released the map in 2005, so I may not be of much assistance.

  5. I was wondering if you could remake your lowing VVIS tutorial for Source. Its a dead link

    • I found a copy in the internet archive!

      I think all the tips are still relevant, but it was written in 2005 so I can’t guarantee that things are the same now almost 10 years later (new versions of compile tools, improvements to the engine, etc).

      The main important thing IMO is to think about how surfaces in the map will cut up the volume of empty space, and basically avoid situations where the empty space is chopped into lots of pieces, or pieces with really sharp angles, or really tiny pieces. There used to be this really amazing tutorial about how VIS methods work in principle, explained for the quake engine but applying for half life 2 as well, but I can’t find it anymore.

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>