3d-printing/hako-dice
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-10 10:23:33 +02:00
..
hako-dice.scad Add Hako dice model 2026-06-10 10:23:33 +02:00
preview.png Add Hako dice model 2026-06-10 10:23:33 +02:00
README.md Add Hako dice model 2026-06-10 10:23:33 +02:00

Hako Dice

Preview

A printable set of dice for Hako, the two-player dice game documented at 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:

# 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.