The classic game of tic tac toe, but played in any spatial dimension! This was my first WebGL application - it is a 3D representation of a Noughts and Crosses grid in any dimension.
Works best in Chrome.
So, 2D looks normal, 3D looks normal (a cube), but a 4D grid is represented by three 3D grids (three Cubes) and a 5D grid is represented by nine 3D grids (i.e. three 4D grids).
For the 4D grid, each 3D grid represents one layer of the 4D grid. So, in the same way that we can represent a 3D grid (a cube) by using three 2D grids, one to represent each 'layer' of the 3D cube, we can use 3 3D grids to represent
a 4D grid. We can also use three 4D grids to represent a 5D grid, but 4D grids are themselves represented as three 3D grids, so the 5D grid ends up being represented as nine 3D grids.
As for playing the game in dimensions above three, the trick is to realise which positions are adjacent to other ones. You can win by having three in a row horizontally or diagonally across a 2D grid, horizontally, vertically
or diagonally across a 3D grid, or horizontally, vertically, diagonally or '4D-vertically' or '4D diagonally' across a 4D grid (or even higher if you're playing in higher dimensions!). The number of ways that you can win makes
blocking very hard (often impossible), so the game is more of a game with more players (press Q to change the settings (dimensions, players, colours etcetera).
The default game is 4D with gravity acting in one dimension only. This means that gravity will pull your pieces down to the lowest 3D slice of the board if you put them higher up, and is as if the 4D grid is placed 'flat' on the
floor in the 4D world. If you change the settings to have gravity acting in more than one dimension this is as if the 4D grid is placed on an edge, then it is as if it is balanced on a corner etc.
The application works best with WebGL, but it is built to work with HTML5 canvas if you don't have it, and is in beta. It requires a keyboard, and definitely works best on a modern browser such as Chrome. I will try to put a more
detailed explanation with screenshots up at some point. Do not try to render more dimensions than your computer can handle (Stay below ~10)!
Click here for a more detailed explanation...
This site is being heavily redesigned (release planned soon!) with a lot more low poly art and moving parts, because I like making them (and I think they look great!). Here's a procedural tree generation algorithm using WebGL through various stages
of development, some bits of which I hope to have as part of the new site! Feel free to take a look at the trees, trawl through the code, or whatever. Each time you refresh the page the trees should look different - the algorithm
generates them on the fly.
Below is a nice example of a skyscape with some birds.