Cast a Shadow

A carved block hangs between a lamp and a wall, and every piece of it casts its own small shadow.
This picture is a cloud of paint. You can , , , , , , and .
Paint with your finger. It stays on these splats, wherever they go next.
Your paint is on this cloud. to see the sharp picture.
- Shelf
- Arcade
- Kind
- Built from a recipe
- Sound
- Yes
- Licenses
- Apache-2.0, MIT, BSD
How to play
Drag or use the arrow keys to turn the block until its shadow fills the outline. Q and E roll it.
Its controls
| Control | Kind | Range | Start |
|---|---|---|---|
| Play or pause | Tap | ||
| Play | Button | ||
| View | List | 2 choices | 2D |
About it
A carved block hangs between a lamp and a wall, and every piece of it casts its own small shadow. Each block is carved so that from one way its shadow is a picture, a heart, a fish, a key, a house, a star, a tree or a bird, and from the side it is another; from most turns it is a jumble. Turn it until its shadow fills the outline drawn on the wall; the Match chip says how close you are. In 2D you see only the wall, as if you stood at the lamp, and turn the block by its shadow alone; the 3D button steps to the side so the lamp and the block show.
Sources and credits
Made in Splashery. Its code is MIT.
Libraries
- Apache-2.0
- Basic Pitch, ONNX (lane Audio piano, October 21, 2026)
- MIT
- omggif 1.0.10
- MIT
- ONNX Runtime Web 1.30.0 (its modules)
- MIT, Apache-2.0, BSD
- PDF.js 6.3.289
Share it
This link opens it in the Playground. To put it on your own page, add the element and one script tag. Every option.
https://splashery.app/play/?toy=cast-a-shadow
<script type="module" src="https://splashery.app/play/src/element.js"></script> <splashery-toy toy="cast-a-shadow"></splashery-toy>
Nearby
StrataStones of our own shapes fall down a well between stone walls, ten wide and twenty deep.
ShardballA ball, a dish and a dome of bricks.
LongtailA string of glass beads crawls from tile to tile, one tile a beat.
Grain GardenEvery grain here is one splat, moved by a simple rule sixty times a second.