KWEEBz! An immersive, interactive transmogrification experience. An infinite audio-visual artwork

KWEEBz iz an immersive, interactive transmogrification art experience based upon actual events. It is an infinite audio-visual artwork that is ever-evolving. An avant-garde physics game.

KWEEBz are yr face as dream-mirror. Angular/pliable, floating/floored. A KWEEB is a dream that’s fell from the sky, where dreams live. Like all dreams, they’re borne in mid-air.

But KWEEBz r heavy lil thins, and a KWEEB’z destiny is to fall, y’see. To go sploosh! Tumble apart. Sucked into the floor below :sweat_drops: (sry lil kweeby!) But the world of KWEEBz is a world of infinite renewal! For every KWEEb laus, anoth s borne in itz IMG!

The game is to adjust your perspective, and capture a moment. Your gaze is a force, and contains gravity. Be mindful that sometimes, looking closer pushes things further away.

This piece is based upon a dream I had a while back, and I’ve spent all my free time since then bringing it to life and experimenting with the both the audio and visual composition to articulate these ideas, as well as the mechanics of the interaction. It should work well on both desktop and (reasonably current) mobile devices, but please let me know if you have any issues.

Double-click or press four fingers (mobile) to take a screenshot and share your KWEEB :slightly_smiling_face:

Here is a gameplay trailer: KWEEBz - immersive physics art infinity gameplay trailer on Vimeo

This is my first deep solo experience creating with ThreeJS (well especially ammo.js and soft-body physics), and admittedly began with tweaking demos and assembling different elements (i.e. the fantastic afterimage and halftone shaders, which I am very grateful for). Definitely hit some steep learning curves along the way, but the great documentation here and demos elsewhere helped me carve this into something I’m proud of. So thank you all! And it’d be an honor to be featured on the demo page! I will be making many more of these in the future.

Shout out also to ToneJS and Teoria – fantastic libraries that I couldn’t have made this without.


I’m getting less than 1fps on my Moto G6 which is a fairly recent mid range device. I like the sound of this though so I’ll try it again later on my laptop.

Interesting. How’s your phone’s FPS on the soft body volume demo?

I tried optimizing everything I (reasonably) could on this – simplifying geometry, removing shaders, being super intentional with memory allocation, etc etc. – but what I found was that it’s the ammo/soft body physics that just kills certain devices. For example, it works pretty well (~15 FPS) on my Sony Xperia X Compact (a now three-year-old mid-range device). But on my partner’s phone (a newer Nokia 6.1, with more RAM but otherwise a very similar chipset), it’s more like 1 FPS.

Ultimately I was making this for an installation, and saw the mobile as a bonus, but when it does work on mobile (and it seems to work well on most iPhones, fortunately) I really like the interaction. FWIW my desktop has a pretty weak GPU (GeForce GT 635) yet surprisingly I had to actually put in code to limit the framerate to ~28 FPS because I was getting over 60 FPS on desktop and I wasn’t liking how those high framerates looked.

Thank you for your feedback, and I hope you enjoyed it on desktop!