Puffcloud · celworld
seed

Puffcloud

puffcloud v1Made by APIc4
Open in Playground

v1 cost

$0.110

API, priced from the call usage.

Time
41s
The run, with the maths
All 1 version$0.110

Budget

c4 · 53 lines
Shapes17 / 70
Triangles4,998 / 6,000
Draw calls3 / 4
States
idle · rain
Used in
No scene yet
Made
1asset puffcloud "Puffcloud" complexity=4 float
2// a chibi cloud critter: one big fluffy body puff ringed with smaller puffs, a raindrop sprout on top,
3// big round eyes on the front and a little grey raincloud beard hanging under the smile.
4// idle: it floats and bobs; rain: it shakes and drizzles from the beard.
5// colourways: 0 classic (white + grey), 1 sunset (cream + greystone), 2 rare shiny (lilac + grape, gold drop)
6let S = .92..1.08
7let cw = 0:5|1:4|2:1
8let cloudC = sel(cw, white, cream, lilac)
9let beardC = sel(cw, concrete, greystone, grape)
10let dropC = sel(cw, sky, peach, sunflower)
11let irisC = sel(cw, cobalt, navy, bubblegum)
12let fluffS = .9..1.12
13
14// body: the root bone, floating about a hand above the ground
15puff body at=(0, .5*S, 0) r=(.28, .24, .25)*S color=cloudC under=cloudC*.92 noise=.05 segs=24 rings=14 joint
16
17// fluffy rim of smaller puffs round the body (kept off the face)
18puff fluff on=body surf=(72, 12) upright mirror lift=-.09*S r=.15*S*fluffS color=cloudC under=cloudC*.92 segs=14 rings=9
19puff fluffB on=body surf=(135, -8) upright mirror lift=-.08*S r=.13*S*fluffS color=cloudC under=cloudC*.92 segs=14 rings=9
20puff back on=body surf=(180, 18) upright lift=-.08*S r=.14*S color=cloudC under=cloudC*.92 segs=14 rings=9
21puff crown on=body surf=(15, 72) upright lift=-.07*S r=.15*S*fluffS color=cloudC under=cloudC*.92 segs=14 rings=9
22puff crownB on=body surf=(160, 58) upright lift=-.06*S r=.12*S color=cloudC under=cloudC*.92 segs=12 rings=8
23
24// raindrop sprout on top
25ball dropB on=crown at=top+(0, .02*S, 0) r=.045*S color=dropC segs=10 rings=7 joint
26cone dropT on=dropB at=(0, .015*S, 0) h=.075*S r=.04*S color=dropC segs=10
27
28// stubby puff arms
29ball arm on=body surf=(96, -22) mirror lift=-.03*S r=(.075, .062, .065)*S color=cloudC segs=10 rings=6 joint
30
31// the raincloud beard under the chin
32puff beard on=body surf=(0, -52) upright lift=-.07*S r=(.15, .1, .1)*S color=beardC under=beardC*.85 segs=16 rings=10 joint
33puff drip on=beard surf=(40, -55) upright mirror lift=-.035*S r=.065*S color=beardC segs=12 rings=7
34puff dripC on=beard surf=(0, -80) upright lift=-.035*S r=.07*S color=beardC segs=12 rings=7
35
36// face: big readable eyes, small smile, soft blush
37face look on=body eyes=round mouth=smile size=.25 spacing=24 eyeY=14 mouthY=-15 mouthW=.24 iris=irisC blush detail=.6
38
39// rain: drops falling from the beard
40fx rain: puff on=beard at=bottom dir=(0, -1, 0) gravity=4 speed=.5 spread=18 n=8 hz=1.2 size=.035 grow=.8 color=sky color2=water
41
42// idle: float bob, a lazy sway, little arm paddles, beard drift, drop wobble
43anim idle: body bob amp=.05 hz=.6
44anim idle: body sway amp=4 hz=.3
45anim idle: arm rz sin amp=12 hz=.8
46anim idle: beard rx sin amp=5 hz=.6 phase=.25
47anim idle: dropB rz sin amp=10 hz=.7
48// rain: a quick shake, arms up, beard wrung side to side
49anim rain: body rz sin amp=8 hz=4
50anim rain: body py sin amp=.02 hz=4
51anim rain: beard ry sin amp=12 hz=5
52anim rain: arm rz keys=[0:0 .3:50 .7:50 1:0] hz=1
53anim rain: dropB rz sin amp=20 hz=4
54