Procedural Orb Generator
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.
About
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.
Attribution
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:
https://github.com/jnordberg/gif.js
The graphical user interface is created using dat.GUI:
https://github.com/dataarts/dat.gui
The perlin noise for clouds is created using the noisejs library:
https://github.com/josephg/noisejs
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
Development log
- Procedural Orb Generator Version 2 - New featuresJul 23, 2023
- Added separate shape and color mutationJul 21, 2023
- Improved mutationApr 27, 2022
- New feature: MutateApr 26, 2022
- Added features: Color palettesApr 22, 2022
- Added more features: Gradient clamp, curvatureApr 22, 2022
- Added: Gradient over timeApr 21, 2022
- Fixed gradient arcApr 21, 2022
Comments
Log in with itch.io to leave a comment.
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.
Well,
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.
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
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.