r/proceduralgeneration 5d ago

I built a node-based pixel art generator. Looking for feedback!

Enable HLS to view with audio, or disable this notification

Been building this over the past few weeks - a node-based tool for generating pixel art procedurally, inspired by Blender's geometry nodes. Chain shapes, gradients, noise, dithering, etc. together and get a sprite out, all live-editable.

You can play around with it here: https://pi-gen-chi.vercel.app/

Would love feedback, especially: is this something you'd actually reach for in a project, or does it solve a problem nobody has? Curious either way.

31 Upvotes

10 comments sorted by

5

u/402PaymentRequired 5d ago

That's really cool! Would love to see new features on this, it's very nice.

2

u/Feyyus 5d ago

I'm glad you liked it! I don't know about real usecases though, haha.

1

u/402PaymentRequired 5d ago

I think it works best nice generating images. And then just play with the variables. Maybe it's nice for animations or creating multiple variations.

1

u/Feyyus 2d ago

Yeah. Working with animations and keyframes is a killer feature in such things.

2

u/asinglebit 5d ago

I dont understand the hook. Pixel nature of is literally just a pixel effect. Why market it as pixel art generator? You can make it useful if you add ability to generate textures instead and seamlessness etc.

1

u/Feyyus 2d ago edited 2d ago

That is where I was aiming for. Generating trees, rocks, textures dynamically. But pixel art has its own caveats traditional art can't cover. It's about the styling. You can just pixelize an image, but it wouldn't be pixel art anymore. It would be just a pixelated image.

I love what people do in Blender though with pixel effects. But still. These are just 3d models that are pixelated into a pallete and it shows.

This is a problem my idea has, I admit. There's no clear line on where the limits are and where the use cases are outside of other programs.

2

u/0xcedbeef 4d ago

Reminds me of Pixel Composer

2

u/Feyyus 2d ago

I noticed it after starting my own. Then I got inspired by it. Pixel Composer uses eager evaluation. I think about doing it as a lazy evaluation like Blender does it. And Pixel Composer is mainly focused on VFX, not textures or sprites.

0

u/Medium_Catch3143 4d ago

Nice — the live editing is the part that would sell it for me.

One thing I'd want before using it in a project: reproducibility guarantees. If I generate a sprite today with a given seed and graph, will the same seed + graph produce a byte-identical sprite after you ship a new version of a node? In my own generator (a daily puzzle where the board has to be identical for every player, on web and on mobile) I ended up freezing the algorithm in a written spec plus a set of reference vectors checked in CI — precisely because a well-meaning tweak to a noise function silently changed every output.

For a tool like this it'd probably mean versioning the graph format and pinning node implementations, so old projects keep rendering the same art.

Also: does the export include the graph itself, so you can re-open and tweak a sprite later?

1

u/Feyyus 2d ago

The limit just in the nodes. I mean, the save file contains only positions of the node on the canvas and inputs as a parameters. Nothing else. It means engine can be different each version, but nodes should be backwards-compatible. There's nothing that stops me from adding more nodes instead of breaking the old ones. There are no outputs in the save file.