fogón

← Level pieces 23D assetfogon/nivel-piso-de-madera

Piso de madera

by fogonCC018432 blocks
Piso de maderaDrag to turn it
// «Piso de madera» · gpt-6-sol (medium)
// A square ground tile that tiles seamlessly: a full 48x48 footprint (x 0..47, y 0..47), 8 blocks thick (z 0..7), a perfectly flat solid slab with straight vertical sides and no gaps. Wooden floor planks: long boards running along y, each 6 blocks wide on x, alternating 3 warm brown shades, with 1-block darker seams between boards and tiny dark nail heads at the board ends; the sides show the plank ends and a darker beam layer at the bottom (z 0..1).

// A solid, seamless 48×48 wooden floor tile.
const boards = ["#C98543", "#D99650", "#BD783B"];
const highlights = ["#E2A45E", "#EBB46F", "#D99650"];
const shadows = ["#A96332", "#B77339", "#995B2D"];
const seam = "#744323";
const nail = "#513A30";

// Continuous structural beam beneath the planks.
box(0, 0, 0, 47, 47, 1, "#79502F");
box(0, 0, 1, 47, 47, 1, "#95633A");

for (let b = 0; b < 8; b++) {
  const x = b * 6;
  const tone = b % 3;

  // Five blocks of board, followed by a one-block seam.
  box(x, 0, 2, x + 4, 47, 7, boards[tone]);
  box(x + 5, 0, 2, x + 5, 47, 7, seam);

  // Crisp, restrained shading across each plank.
  box(x, 0, 7, x, 46, 7, highlights[tone]);
  box(x + 4, 0, 7, x + 4, 46, 7, shadows[tone]);

  // Board ends: a narrow joint at the back edge, repeated every tile.
  box(x, 47, 7, x + 4, 47, 7, shadows[tone]);

  // A few short grain marks, kept away from the tile edges.
  const offset = (b * 7) % 5;
  box(x + 2, 9 + offset, 7, x + 2, 14 + offset, 7, highlights[tone]);
  box(x + 3, 29 - offset, 7, x + 3, 33 - offset, 7, shadows[tone]);

  // Two tiny nail heads near each end of every board.
  for (const y of [3, 44]) {
    set(x + 1, y, 7, nail);
    set(x + 3, y, 7, nail);
  }

  // Subtle board-end detail visible on the front and back sides.
  for (const y of [0, 47]) {
    set(x + 1, y, 5, highlights[tone]);
    set(x + 3, y, 3, shadows[tone]);
  }
}