Salem Al Shamsi – Assignment 9

Habub — هبوب

Concept

I wanted to simulate a desert sandstorm, specifically a haboob, which comes from the Arabic word هبوب meaning “blasting wind.” The idea was simple: start calm, build slowly, hit a peak, then fade back to silence and repeat.

I looked into how sandstorms actually work. Turns out there are three types of particles in a real storm. Heavy grains that barely move on the ground, medium grains that bounce and leap, and fine dust that the wind just carries completely. That’s exactly what the three particle types in this sketch are based on.

For inspiration I looked at Ryoichi Kurokawa, he makes audiovisual pieces that build tension slowly and let silence do the work. And Robert Hodgin who has been making flocking simulations for over 20 years and finds something new in them every time.

Code I’m proud of

The part I like most is how new particles are born from existing ones. A sand grain on the ground gets knocked loose and becomes a bouncing grain. A bouncing grain kicks up dust. The storm builds itself, I didn’t script it, it just emerges.

let source = random(creeps);
flock.addBoid(new Boid(source.pos.x, source.pos.y, 'saltation'));

A new particle appears at the exact position of an existing one. That one line is basically the whole storm.

Embedded sketch
Milestones

Milestone 1 — Stillness

Dark canvas, 28 tiny sand specks near the bottom barely moving.

Milestone 2 — Wind starts
Wind builds, first bouncing amber grains appear born from the sand grains below.

Milestone 3 — Three layers

Fine dust forms from bouncing grains and fills the entire canvas. Three layers, three speeds, that’s the haboob.

Milestone 4 — Peak and settling

Everything turns orange-red at the peak, wind stops, dust disappears first, then the bouncing grains slow down.

Milestone 5 — The loop
Screen fades to black, new grains fall from the top, storm restarts with grains in different positions. See the embedded sketch above.
Reflection
The arc feels right, calm, tension, peak, silence, reset. It reads like a real storm. If I were to push it further I’d add sound. Wind building, a deep rumble at the peak, then silence. I’d also experiment with a horizon line and different times of day; a golden hour haboob looks completely different from a midday one.

One thought on “Salem Al Shamsi – Assignment 9”

Leave a Reply to Haroon Cancel reply

Your email address will not be published. Required fields are marked *