← Back to Gallery

Loading 3D viewer…

Giant Pangolin on a Termite Mound (bare)

by Jorge Barbero

Dimensions
80×32×80
Blocks
13,450
Compute Time
0.2s
Generation Time
3.1s
Model
claude-opus-5
Created
August 19, 2026
pangolincreatureautoevalbare
Prompt

User Prompt

a giant pangolin statue mid-stride on a red-earth savanna termite mound: overlapping bronze-brown armour scales along its arched back and long thick tail, small head with a long snout low to the ground, clawed forelimbs digging into the mound, scattered acacia scrub

Enhanced Prompt

Bare arm: no docs read, naive loops/fill only.

Photos

Pangolin
Pangolinexterior
Profile
Profileexterior
CraftScript Source
// giant pangolin
var x, y, z, i, dx, dy;

// flat ground
fill(0, 0, 0, 79, 0, 79, b('grass_block'));
fill(20, 1, 10, 60, 1, 70, b('coarse_dirt'));

var cx = 40;

// body: rows of circles along z
for (z = 20; z <= 56; z++) {
    var r;
    if (z < 28) r = 3 + (z - 20) * 0.4;
    else if (z < 44) r = 6;
    else r = 6 - (z - 44) * 0.35;
    for (dx = -7; dx <= 7; dx++) {
        for (dy = -7; dy <= 7; dy++) {
            if (dx * dx + dy * dy > r * r) continue;
            y = 8 + dy;
            if (y < 1) continue;
            var m;
            if (dy > 0) m = (z % 2 === 0) ? 'brown_terracotta' : 'orange_terracotta';
            else m = 'terracotta';
            pb(cx + dx, y, z, m);
        }
    }
}

// tail
for (z = 57; z <= 72; z++) {
    var tr = 5 - (z - 57) * 0.3;
    for (dx = -5; dx <= 5; dx++) {
        for (dy = -5; dy <= 5; dy++) {
            if (dx * dx + dy * dy > tr * tr) continue;
            y = 6 + dy;
            if (y < 1) continue;
            pb(cx + dx, y, z, (z % 2 === 0) ? 'brown_terracotta' : 'orange_terracotta');
        }
    }
}

// head + snout
for (z = 12; z <= 20; z++) {
    var hr = 2 + (z - 12) * 0.25;
    for (dx = -3; dx <= 3; dx++) {
        for (dy = -3; dy <= 3; dy++) {
            if (dx * dx + dy * dy > hr * hr) continue;
            y = 5 + dy;
            if (y < 1) continue;
            pb(cx + dx, y, z, 'brown_terracotta');
        }
    }
}
pb(cx - 1, 6, 15, 'black_concrete');
pb(cx + 1, 6, 15, 'black_concrete');

// legs
for (i = 0; i < 4; i++) {
    var lx = (i % 2 === 0) ? cx - 4 : cx + 4;
    var lz = (i < 2) ? 26 : 46;
    for (y = 1; y <= 6; y++) {
        fill(lx - 1, y, lz - 1, lx + 1, y, lz + 1, b('brown_terracotta'));
    }
    pb(lx, 1, lz - 2, 'black_concrete');
    pb(lx - 1, 1, lz - 2, 'black_concrete');
    pb(lx + 1, 1, lz - 2, 'black_concrete');
}

// termite mound
for (y = 1; y <= 14; y++) {
    var mr = (14 - y) * 0.5;
    for (dx = -8; dx <= 8; dx++) {
        for (dy = -8; dy <= 8; dy++) {
            if (dx * dx + dy * dy > mr * mr) continue;
            pb(26 + dx, y, 24 + dy, 'terracotta');
        }
    }
}

// acacia trees
for (i = 0; i < 4; i++) {
    var ax = (i < 2) ? 12 : 68;
    var az = (i % 2 === 0) ? 20 : 60;
    for (y = 1; y <= 6; y++) pb(ax, y, az, 'acacia_log');
    for (dx = -3; dx <= 3; dx++) {
        for (dy = -3; dy <= 3; dy++) {
            if (dx * dx + dy * dy > 9) continue;
            pb(ax + dx, 7, az + dy, 'acacia_leaves');
        }
    }
}

// some grass
for (i = 0; i < 60; i++) {
    var gx = 4 + (i * 7) % 72;
    var gz = 4 + (i * 13) % 72;
    pb(gx, 1, gz, 'short_grass');
}

Static Renders

Giant Pangolin on a Termite Mound (bare) isometric viewisometric
Giant Pangolin on a Termite Mound (bare) front viewfront
Giant Pangolin on a Termite Mound (bare) side viewside
Giant Pangolin on a Termite Mound (bare) back viewback
Giant Pangolin on a Termite Mound (bare) top viewtop