Goblin grunt · celworld
seed

Goblin grunt

goblin_grunt v1Agent-madec5
Open in Playground

v1 cost

$1.94est.

Agent-made: its share of a Claude Code session, priced as API-equivalent Opus 5.5.

Output share
5.4k
Time share
3m 4s
The agent session
All 1 version$1.94

Budget

c5 · 78 lines
Shapes35 / 100
Triangles4,970 / 8,000
Draw calls3 / 4
States
walk · run
Used in
Made
1asset goblin_grunt "Goblin grunt" complexity=5
2// one of the king's rabble: a knee-high goblin with a huge head, long ears, a snaggle tooth, a dented
3// pot for a helmet, a patched leather vest and a loincloth. Seeds give it a job: spear guard, torch
4// bearer, loot hauler with a bulging sack, or the idol thief holding a stolen golden idol overhead.
5// It fidgets at rest, marches on walk, and on run sprints with its arms pumping.
6let S = .92..1.08
7let skinC = lime:2|moss|hedge|mint
8let vestC = walnut:2|redwood|oak
9let clothC = plum:2|tomato|cobalt|moss
10let role = int(0..3)
11let helm = chance(.6)
12
13// hips, legs, bare feet
14ball pelvis at=(0, .36, 0)*S r=(.15, .1, .12)*S color=clothC segs=12 rings=8 joint
15box loin on=pelvis at=(0, -.16, .08)*S rot=(-8, 0, 0) size=(.16, .2, .04)*S round=.02 color=clothC
16limb leg on=pelvis at=(.08, -.04, 0)*S mirror len=.24*S r=(.05, .04)*S color=skinC segs=8 joint
17ball foot on=leg at=end+(0, -.035, .05) r=(.06, .045, .1)*S color=skinC segs=10 rings=6
18ball toe x3 on=foot at=(0, -.005, .09)*S row=(.035, 0, 0)*S r=.022*S color=skinC segs=6 rings=4
19
20// the body in a patched vest
21ball body on=pelvis at=(0, .17, 0)*S r=(.17, .2, .15)*S color=vestC segs=16 rings=12 joint
22box patch on=body surf=(30, 5) lift=-.01 size=(.07, .07, .02)*S color=sel(role, oak, moss, plum, tomato)
23ball stitch x3 on=patch at=(0, .036, .012)*S row=(.025, 0, 0)*S r=.008 color=cream segs=4 rings=3
24torus belt on=body at=(0, -.12*S, 0) R=.155*S r=.025*S color=inkDark*1.5 segs=16 sides=5
25box buckle on=belt at=(0, 0, .155*S) size=(.06, .05, .03)*S round=.01 color=brass
26
27// arms
28limb arm_l on=body at=(.16, .08, 0)*S rot=(0, 0, sel(role, 20, 20, 20, 150)) len=.2*S r=(.045, .035)*S color=skinC segs=8 joint
29ball hand_l on=arm_l at=end r=.05*S color=skinC segs=8 rings=6
30limb arm_r on=body at=(-.16, .08, 0)*S rot=(0, 0, sel(role, -20, -20, -20, -150)) len=.2*S r=(.045, .035)*S color=skinC segs=8 joint
31ball hand_r on=arm_r at=end r=.05*S color=skinC segs=8 rings=6
32
33// the big head, ears, nose, snaggle tooth, a pot helmet
34ball head on=body at=(0, .32, .02)*S r=(.22, .19, .2)*S color=skinC segs=22 rings=16 joint
35face look on=head eyes=round mouth=fang size=.32 spacing=30 eyeY=8 mouthY=-30 mouthW=.5 iris=sunflower brows=inkDark detail=.6
36ball nose on=head at=(0, -.03, .19)*S r=(.05, .06, .06)*S color=skinC*.9 segs=8 rings=6
37cone ear on=head at=(.2, .03, -.01)*S mirror rot=(0, 0, -100) h=.3*S r=.08*S bend=25 scale=(1, 1, .45) color=skinC segs=8 joint
38cone snag on=head at=(-.06, -.12, .16)*S rot=(-10, 0, -8) h=.05*S r=.016 color=white segs=5
39ball pot on=head at=(0, .06, -.01)*S r=(.21, .14, .21)*S half color=iron segs=16 rings=6 if=helm
40torus potRim on=pot at=(0, .005, 0) R=.21*S r=.02 color=iron*1.25 segs=16 sides=5
41box dent on=pot surf=(60, 40) lift=-.01 size=(.06, .03, .01)*S color=iron*.75
42
43// role 0: a spear
44rod spear on=hand_r at=(0, -.25, .02)*S rot=(20, 0, 0) to=(0, .95, 0)*S r=.018*S sides=6 color=walnut if=role==0
45cone spearTip on=spear at=end h=.12*S r=.035*S color=steel segs=6
46// role 1: a torch
47rod torch on=hand_r at=(0, -.06, .02)*S rot=(30, 0, 0) to=(0, .32, 0)*S r=.025*S sides=6 color=walnut if=role==1
48ball rag on=torch at=end r=(.05, .06, .05)*S color=redwood segs=8 rings=5
49ball fire on=rag at=(0, .07, 0)*S r=(.055, .1, .055)*S color=sunflower ink=glow segs=8 rings=6 joint
50// role 2: a bulging loot sack over the shoulder
51ball sack on=body at=(-.12, .16, -.18)*S r=(.17, .2, .15)*S color=birch*.8 noise=.05 segs=12 rings=8 if=role==2
52torus tie on=sack at=(0, .17, 0)*S R=.05*S r=.018 color=walnut segs=10 sides=4
53cyl spill x2 on=sack at=(.04, .2, 0)*S row=(.06, .02, .02)*S rot=(0, 0, 30) h=.02 r=.04*S color=sunflower segs=10
54// role 3: the stolen golden idol held up high
55ball idol on=head at=(0, .3, .02)*S r=(.1, .12, .09)*S color=sunflower segs=12 rings=8 if=role==3 joint
56ball idolHead on=idol at=(0, .14, 0)*S r=(.08, .075, .075)*S color=sunflower segs=10 rings=7
57ball idolEye on=idolHead at=(.03, .01, .065)*S mirror r=.017*S color=cherry ink=glow segs=6 rings=4
58cone idolCrest x3 on=idolHead ring at=(.05, .06, 0)*S h=.06*S r=.02*S color=sunflower segs=4
59
60// idle: fidget and look round, ears twitch
61anim body rz sin amp=3 hz=.5
62anim head ry sin amp=18 hz=.3
63anim ear rz sin amp=8 hz=.8
64anim arm_l rx sin amp=6 hz=.5
65anim fire s sin amp=.2 hz=3
66anim idol py sin amp=.03 hz=1
67// walk: a bandy march
68anim walk: leg gait amp=26 hz=1.8
69anim walk: arm_l rx sin amp=20 hz=1.8 phase=.5
70anim walk: arm_r rx sin amp=10 hz=1.8
71anim walk: pelvis py bounce amp=.02 hz=3.6
72// run: a panicked sprint, leaning forward, arms pumping, ears flapping
73anim run: leg gait amp=42 hz=3
74anim run: body rx sin amp=3 hz=6 phase=.25
75anim run: arm_l rx sin amp=40 hz=3 phase=.5
76anim run: pelvis py bounce amp=.04 hz=6
77anim run: ear rz sin amp=20 hz=6
78anim run: head rx sin amp=6 hz=6
79