FXHASH

NERDDISCO

nd-genuary32nd-plants-chatgpt3-001

NERDDISCO

nd-genuary32nd-plants-chatgpt3-001



price
3.2 TEZ

1/32 minted


open marketplace

Project #26299

Published on
Params
Animated
Interactive

## Disclaimer

This artwork is partially generated by AI, and I seek to be as transparent as possible about the human and machine contributions.

## From idea to foundation

For GENUARY32nd I wanted to create a generative artwork for the "plants" prompt. As I had no idea on how to get started, I thought about using ChatGPT to help me out. I documented the whole process to create the foundation of this artwork via the video [Create Generative Art with ChatGPT & JavaScript](https://youtu.be/PrEbE7iG2Lc).

You can also read about it on my website https://nerddis.co/nd-genuary32nd-plants-chatgpt3-001 and find even more background information.

## fxhashify

After holding the generated code from ChatGPT in my hands, I switched to my manual process (which involves using my human brain) to convert the foundation into something that can be actually minted on fxhash. I call this "fxhashify", as this process is tailored to the capabilities of fxhash. If you are interested in this process, then please leave a comment on the video. If you just want to know what I changed, then please continue reading:

- Used the Pseudo Random Number Generator from the params-boilerplate instead of `Math.random()`
- Randomized parameters (like `x` / `y` position, `color`, `growthSpeed` and more) to control the plants, ground, sun and sky
- Established the scene to have `plantsAmount` between 1 and 8
- Spread the plants evenly on the ground with consistent spacing, related to the `plantsAmount`
- Made sure that tall plants are in front of small plants
- To prevent the plants from extending outside the scene, smaller-sized plants are placed along the edge whenever more than three plants were generated
- A different `globalCompositeOperation` was used for the petals of the "special plants", distinguishing them from regular plants
- Two different `Time of Day` were included: Sunny Day vs Rainbow Night
- The proportions of the scene were kept, regardless of how it was scaled, using 2048 x 2048 px as the reference size
- A lot of fine-tuning was done to make it look pretty and get the colors right in terms of lightness and saturation... <3 HSL
- Added various helper functions (like `inRange` or `pseudoRandomBetween`) and the possibility to save the scene as an image by pressing "s" on the keyboard
- The characteristic was added to continuously redraw the scene after a random timeout between 0 and 60000 ms, so that you can see the plants growing over and over again. After each redraw, `stemGrowthSpeed`, `centerGrowthSpeed` and `petalGrowthSpeed` are randomized
- Included only a few fxhash features, but went into a rabbit hole for `firstRedraw` and added quotes from my most favorite movies, shows and music. But only the ones that had a connection to time
- My little daughters gave me important feedback during development, so I integrated their favorite show "My Little Pony" into the `Flower Lightness` feature (some ponies look dark, others look very bright)
- Used fxparams for `timeOfDay`, `plantsAmount`, `flowerLightness` and the `backgroundSaturation`, so that minters have an influence on the generated piece
- Comments were added on all functions and everything in between

## Code

Everything is JavaScript + Canvas 2D and open source under AGPLv3: https://github.com/NERDDISCO/nd-genuary32nd-plants-chatgpt3-001

## Interactive

- Press `s` on your keyboard to download a screenshot
- The scene is redrawn every pseudo-random ms

Price3.2 TEZMinting opensTicket Grace Period7 days(2)Royalties25.0%(2)Tags
nd
chatgpt
chatgpt3
plants
flower
sun
midnight
nerddisco
agpl
opensource
aiinfluenced
canvas2d
params

Metadata(0)

open


Filters

Features
Listings


stay ahead with our newsletter

receive news on exclusive drops, releases, product updates, and more