Warning: Some combinations of parameters can create large flashing animations which may trigger photosensitive epilepsy in certain people. Please be aware that pulsating or flashing images flashing in a significant portion of your field of view may be harmful to some. Use the tool responsibly.


I'm making a bullet hell game for the bullet hell jam 2022, and I needed some projectiles using a custom palette. I figured it would be easier to just animate the bullets in Javascript rather than drawing them in GIMP. So I did that, then I added another feature... and another... and like 10 more.

Anyway, here's a tool for generating orbs, bullets, particles, explosions, portals, dust and all kinds of other effects. It has a ton of different parameters you can set, and all of them have little tooltips which vaguely describe what they do. You can then export the orb as a spritesheet or as an animated PNG (APNG) file. Those work in most modern browsers.

How to use

You can either configure the orbs from scratch, loading your own horizontal palette image and fine-tuning all the parameters, or you can just click the RANDOMIZE EVERYTHING button and see what comes out.


The tool uses a few open-source libraries.

For PNG exporting and importing, UPNG is used with the pako dependency:
https://github.com/photopea/UPNG.js/ https://github.com/nodeca/pako

For GIF exporting, Gif.js is used:

The graphical user interface is created using dat.GUI:

The perlin noise for clouds is created using the noisejs library:

For doing conversions between the RGB and CIELAB color space, code from color-convert is used: https://github.com/Qix-/color-convert

For comparing colors, the Delta-E 1984 algorithm is used, through code adapted from https://github.com/zschuessler/DeltaE 

Once again, I hope you find this tool useful for your game development. Suggestions and critical feedback are welcome. I'm a bit slow to respond but I do read your comments.

(PS: If you want to share some good looking orbs, I'll put them in the sidebar)

These are the palettes used from lospec:
sweetie-16 pear36 endesga-32 pico-8 dawnbringers-8-color steam-lords commodore64 microsoft-windows zx-spectrum color-graphics-adapter cga-palette-0-high ammo-8 slso8 2bit-demichrome titanstone 1bit-monitor-glow

Rated 4.8 out of 5 stars
(30 total ratings)
Tagsanimated, art, gamedev, Generator, Pixel Art, Procedural Generation, Simple, Sprites, spritesheet, tool

Development log


Log in with itch.io to leave a comment.

(2 edits)

does anyone have any advice on how to create a custom orb?

I cant seem to get anything right.

Try randomizing the orb shape, color and cluster separately until you get something close to what you want, and then fine-tune it.

Any chance for a desktop release?

PEANUT CORE and its cohorts attacked!

this is very enigmatic.


Where does one share the cool orbs they made?

I haven't created a website like for the tilesets, but you can share them in the comments and I can upload them in the sidebar. If there is a high demand I can also make a website for them.


Very nice! I added to the sidebar.


how do i change gradient color?

You create and load an image where the colors are laid out in a horizontal row.

I really love all your games and how its all playable on browser.

Now I can play on my Chromebook!


This is amazing! is there a version I can download onto my computer for offline use?

I would need to package the app using electron or tauri for it to work offline. I'm not really comfortable recommending people to install a local webserver to run it.

Hey, Donitz! I really wanted to interview you about the games you make. What’s the best place to contact you?

How do I export these as gifs? like I see in the sidebar 

Using the Save animated PNG button.

(2 edits) (+1)

Thank you for this very useful program.


This is such a wonderful tool and can add so much variety to our games.  This is great for bullet hells but I can also see these designs being utilized in other cases, like portals, trippy backgrounds, etc.

very cool


wow im, hooked

(7 edits)

Love your work!

Any chance we could get a store and reload on the parameters as a whole? it would be handy to revert back after using the mutate button.

Excited to see what you come up with next.

Thank you!

Done, now the mutate button only mutates the last orb until you decide to apply the mutation.


Works great!


Very nice! Looks like unity.


Nice! I love using procgen stuff cause I am not very creative myself and sometimes I just like looking at the wacky outcomes.