4-D dice
Four-dimensional space has six regular solids where ours has five. A 4-D die comes to rest with one cell, a 3-D solid, flat on the 3-D floor, and the cell opposite sits level on top: that is your number. The d5 has no opposite cells, so like a d4 it lands corner-up and you read the cell it rests on.
What you see is the die's shadow on a plane, the plane of its widest symmetry (a 5-, 8-, 12- or 30-fold ring). It tumbles through all four directions, then settles, and the edges of the cell on top light up.
| die | solid | cells (faces) | vertices | edges |
|---|---|---|---|---|
| d5 | 5-cell | 5 tetrahedra | 5 | 10 |
| d8 | tesseract | 8 cubes | 16 | 32 |
| d16 | 16-cell | 16 tetrahedra | 8 | 24 |
| d24 | 24-cell | 24 octahedra | 24 | 96 |
| d120 | 120-cell | 120 dodecahedra | 600 | 1200 |
| d600 | 600-cell | 600 tetrahedra | 120 | 720 |
The result is decided first, the fair way: crypto.getRandomValues with rejection sampling, so all faces are exactly equally likely. The tumble is for show. A real d600 is so nearly round it would roll for a long time. Nothing you roll here is recorded.
In Delvetown, mention miniphim-works with roll d600 (or roll 2d24+d5; d5 d16 d24 d120 d600, alongside d4 to d20) and it answers with a picture, and the roll can be checked on the dice page. A d8 there is the octahedron; here it is the tesseract. Same numbers, same odds.
The geometry is polytopes.js, the same file the bot draws with: coordinates, edges as the closest vertex pairs, cells found from the dual, and the plane from a Petrie polygon. Opposite cells sum to n + 1, as on real dice.