89 lines
3.9 KiB
Markdown
89 lines
3.9 KiB
Markdown
# Hako Dice
|
|
|
|

|
|
|
|
A printable set of dice for **Hako**, the two-player dice game documented at
|
|
[wiki.xxiivv.com/site/hako.html](https://wiki.xxiivv.com/site/hako.html).
|
|
|
|
Each Hako die is a cube whose six faces are each split by their two diagonals
|
|
into four triangles, painted in two contrasting colors. A complete die carries
|
|
all six distinct triangle patterns, named after the time of day by how many of
|
|
the four triangles are painted:
|
|
|
|
| Face | Painted triangles |
|
|
|------|-------------------|
|
|
| **day** | 0 — the bright face |
|
|
| **dusk** | 1 |
|
|
| **half (split)** | 2, adjacent pair |
|
|
| **half (cross)** | 2, opposite pair |
|
|
| **dawn** | 3 |
|
|
| **night** | 4 — the dark face |
|
|
|
|
A player owns four identical dice. Since they're all the same, this model
|
|
renders a single die by default — raise `dice_count` to batch-print a whole
|
|
set, and print two sets in different accent colors for a full game.
|
|
|
|
## Fair rolling (balance)
|
|
|
|
A die only rolls fairly if its center of mass sits at its geometric center.
|
|
Marking the faces unevenly biases the roll, so two measures keep these dice
|
|
fair:
|
|
|
|
1. **Opposite faces are balanced by painted-triangle count.** The two
|
|
2-triangle faces sit opposite each other (0 difference), `day` (0) opposes
|
|
`dusk` (1), and `dawn` (3) opposes `night` (4) — no axis differs by more
|
|
than a single triangle of shallow material.
|
|
2. **The triangles are a separate part seated in the face pockets.** In plain
|
|
mode they sit flush, so a second material of similar density restores the
|
|
removed mass and the die stays balanced. In recess mode they sit below the
|
|
surface; prefer a shallow `recess_depth` (or plain mode) for the fairest
|
|
single-material dice.
|
|
|
|
When the Sonozai cord hole is enabled, `day` and `night` move opposite each
|
|
other so the cord can pass straight through. The centered hole is symmetric and
|
|
does not itself unbalance the die.
|
|
|
|
## Printing in two colors
|
|
|
|
The body and the triangle markings are emitted as separate parts so you can
|
|
assign each its own filament:
|
|
|
|
```sh
|
|
# Primary (die body)
|
|
openscad -o hako-bodies.stl -D 'render_part="bodies"' hako-dice.scad
|
|
# Accent (triangle fill, flush)
|
|
openscad -o hako-markings.stl -D 'render_part="markings"' hako-dice.scad
|
|
```
|
|
|
|
Load both STLs into your slicer and assign a filament to each, or print
|
|
`bodies` alone and paint the triangles by hand. The default
|
|
`render_part = "preview"` shows both parts together for the customizer.
|
|
|
|
In **recess mode** (`recessed_triangles = true`, the default) the triangles are
|
|
sunk `recess_depth` below the face — a visible, tactile recess (also handy for
|
|
low-light or accessible play). In **plain mode** (`recessed_triangles = false`)
|
|
the faces stay flat and the colored polygons sit flush, distinguished by color
|
|
only.
|
|
|
|
## Parameters
|
|
|
|
| Parameter | Default | Description |
|
|
|-----------|---------|-------------|
|
|
| `die_size` | 16 mm | Edge length of each die |
|
|
| `corner_radius` | 1.6 mm | Edge/corner rounding |
|
|
| `dice_count` | 1 | Dice to lay out (all identical; 4 = one player's set) |
|
|
| `columns` | 4 | Dice per row when laying out more than one |
|
|
| `recessed_triangles` | true | Sink the triangles below the face; `false` = flat faces with flush color polygons |
|
|
| `recess_depth` | 1.2 mm | How far below the surface the colored triangle sits (recess mode) |
|
|
| `marking_thickness` | 0.5 mm | Thickness of the colored triangle layer |
|
|
| `triangle_margin` | 1.0 mm | Inset of the pattern from the face edge |
|
|
| `triangle_gap` | 0.7 mm | Gap between triangles and around the pattern |
|
|
| `sonozai_hole` | false | Bore a centered cord hole through the day & night faces |
|
|
| `sonozai_diameter` | 3 mm | Cord hole diameter |
|
|
| `render_part` | `"preview"` | `preview` \| `bodies` \| `markings` |
|
|
|
|
## Triangle index convention
|
|
|
|
Per face, the four triangles are numbered `0 = N` (top), `1 = E` (right),
|
|
`2 = S` (bottom), `3 = W` (left) — each the triangle between one face edge and
|
|
the face center.
|