geraldb / help

help & support for Gerald Bauer's open source / data / (pixel) art work
4 stars 0 forks source link

Ordinal Punks experiments #2

Closed ZimmerAllDay closed 8 months ago

ZimmerAllDay commented 1 year ago

Hi Gerald! This is Opunk #66. I've been loving all the variations you've been doing. I've been looking on this site, but I don't know how to use it (I don't code), so I'm not sure how to make a version of 66 for some of them. Or, I don't know if the best way is to just blow up the image of all 100 and crop #66 out - although that doesn't seem like the best way.

Also, I LOVE the neon punks, and I was considering inscribing all 100 and launching them as a collection and sending to Opunk holders, but I would need an image file (small ideally) for all 100. Are you able to help me figure out how to produce a specific punk of one of the variations?

No rush on the reply - thank you for your time and all the awesome creative ideas!!

geraldb commented 1 year ago

Welcome. I have generated (and uploaded) all 100 neon ordinal punks for you (in 1x - 49x49px - the smallest possible format and in 4x) now. See https://github.com/ordinalpunks/ordinalpunks.sandbox/tree/master/neon/i for download. You are welcome to inscribe your own or the collection. I'm back tommorow (Tuesday) on the ordinal punk discord (chat) and I will upload your no. 66 in 4x (but feel free to serve yourself).

For all the other variants you can check the /i directories to see if you can find no. 66 uploaded / pre-generated - I try to check my local build / directories to see if I have some more. tommorrow (Tuesday) and post on the discord (chat).

And, yes, the recommend way is to "crop" your punk from the all-in-one composite image (in 1x) and than use any zoom factor size that you like (use a script or if you are a no-scripter than photo shop or such). If you try the punks command-line tool (see https://github.com/cryptopunksnotdead/cryptopunks/tree/master/cryptopunks ) I can try to help you along on the discord (when I chack back from time-to-time) or post the getting started instructions (command-line sample(s) and so on).

ZimmerAllDay commented 1 year ago

Thanks for the quick reply! No need to post #66 in the Discord, I'll crop myself - just wasn't sure if there was an easier way to get the individual files. And I will nose around here to see if I can get the hang of some of the command line when I have som time. Thanks again!

ZimmerAllDay commented 1 year ago

So I figured out cropping these nicely in GIMP, but now I'm toying with the different colors. I created an html file and css file and got it to work by just changing the HEX code in the css file. However, it seems like the only way to preserve that new altered image is to screenshot it in the browser, which isn't ideal. Is there a better way to capture that altered file for a pretty non-technical person, in a quality worthy of inscription? Also, if you would prefer I pose these questions in the Punk discord, please let me know. Thanks for your input!

geraldb commented 1 year ago

No worries your questions are more than welcome here. Not sure I understand the html file and css file part (e.g. do you use an embedded img? if so how is it possible to change the color in css of a bitmap?) - Good news - I am wrapping up work (if all works out to plan today!) for a first version of the ordinalpunks.server (ordpunkd) - see https://github.com/ordinalpunks/ordinalpunks.server If you run the binary programm locally - you can query in your browser for all ordinal punk variants / derivates one-by-one (by id and zoom etc.) and than "right-click & save" to get a copy. Bonus: If you want to change the colors "by hand" you can change to the .svg format (it's all text) and than change / edit the rgb color codes in hex. Let me if that works for you (or if the ordpunkd program works for you). Cheers. Prost.

ZimmerAllDay commented 1 year ago

Thank you for being so generous with the support! I am very non-technical and have been using GPT 4 to help me along! What I did was create png files of each punk's gold neon image in a folder. Then I put an html file in the folder that referenced a CCS styles sheet in the folder with a HEX background color I could manipulate like this: .image-container { display: inline-block; background-color: #1e52fc; mix-blend-mode: screen; }

img { mix-blend-mode: multiply; } When I paste the html file in a browser, I can change the background color number in this CSS file and it will update in the browser. I was following instructions of the AI to make that happen. I will try to follow your instructions above when I have time and see if I can learn the proper way! Thanks so much, this is fun.

geraldb commented 1 year ago

Thanks for the html update on the neon image - since it's a bitmap (with no transparent background/pixels) you CANNOT change the image background with css (*) - you can change the background of the holding page "frame" surrounding the images if that's what you are trying to do. Anyways, check the new ordinalpunks.server - see https://github.com/ordinalpunks/ordinalpunks.server - in a couple of hours I am updating the readme page (and adding the xcopy download/release) as we speak / as I type ;-).

(*) double checking on the internets - it looks like GPT 4 found a "hack" to make the impossible possible ;-) by blending the page backround with the image resulting in a new image - with all colors changed not only the background I assume - thus, see the point above ;-).

PS: Note, you may be able to recreate the neon light effect (from scratch) in css and with your color(s) and blur of choice again in css - see https://css-tricks.com/how-to-create-neon-text-with-css/ the css article that inspired neon punks ;-) - note: as a base you MUST use a black & white (1-bit) punk, that is, the sketch edition - sorry - not sure if it works in css with a black & white image because the css article uses a text block as a base (and for the neon generation script I use(d) image magick for the blur and NOT css).

ZimmerAllDay commented 1 year ago

Thanks again. This is great. I am going to dig into the new server and see if I can figure it out with the help of the AI. I'm sure I'll be back before long with more questions. Also, just so you know, I'm wanting to offer to OPunk holders to choose any color and inscribe a neon punk for them, that's why I'm messing with all this. I'm hoping to do all 100 in unique colors. Once I figure out how to make them, I want to make a tool to people can plug in colors from a selector and see it update their punk in real time - at least that's my plan. As you know, I don't code, but it limits me sometimes, so I'm using this project as a chance to practice working with AI to learn some new skills. So I apologize for the Level 0 questions. Thanks for your patience and insight!...Update! With your instructions and the help of the AI I was able to download, extract and run ordpunkd and easily select all the variations from the local server! Woohoo! That's all for tonight, but next I'll work on the SVG files and changing the colors manually. I really appreciate the detailed instructions!

geraldb commented 1 year ago

I'm wanting to offer to OPunk holders to choose any color.

To state the obvious you can use the (ready-made) neon script to choose any color. No need to code. All you need is to figure out how to run the ruby script (it works with any rgb color in hex) - see https://github.com/ordinalpunks/ordinalpunks.sandbox/blob/master/neon/neon.rb - (and first install ruby & gems & image magick). What is your operating system (OS)?

Alpha Insider Tip - The neon ruby script at core only uses image magick for the neon light effect, thus, the easiest (and fastest) "no-code" way for you might be using magick (the image magick command line tool) itself to generate the new neon image with -blur 21x21 -blur 10x10 -blur 7x7 -blur 2x2or such. Sorry - not really an image magick command line tool expert myself.

If you want generate the neon punks in css/svg "from scratch" than again try < https://css-tricks.com/how-to-create-neon-text-with-css/> and try to replace the text with an image and text-shadow with drop-shadow? best to ask GPT4 ;-) as I am only guessing / speculating myself here.

PS: If you post your samples that you try to github others might help out and it is easier to follow on what you tried or try to do.

ZimmerAllDay commented 1 year ago

Hey Gerald! Alright, dense stuff there. Looking like I'll have a little time to gnaw on this today. I will let you know if I get hung up somewhere, but I'm having a great time learning and experimenting!

So, If I were to 'post my samples' - where would I do that and in what form? I'm totally new to github, so I can nose around more to figure out how it all works, but do you mean to my own profile? Or can I post somewhere in the punks sandbox? Thanks for your patience and continued support!

geraldb commented 1 year ago

If you are new to github - than yes, start / create a new repository e.g. name it opunks or punks or sandbox or whatever - and than you can upload your files and than change "wiki-like" your files - with your changes getting tracked. As a bonus (advanced) - if you do html/css you get free hosting of your pages). Anyways, the main point is if your samples are public / shared it is easier for others to help / comment / etc.

ZimmerAllDay commented 1 year ago

Thank you. Also, I neglected to answer your question from above - Mac OS Ventura 13.3.1

geraldb commented 1 year ago

Mac OS Ventura 13.3.1

Not a Apple user myself - at one time ruby was pre-install (& ready-to-use) on mac os. Not sure if it still valid / true. To check in your shell / terminal try (type):

$ ruby -h
$ gem -h

To see if you have ruby and gem (the ruby package manager) pre-installed (and ready-to-go).

ZimmerAllDay commented 1 year ago

Yep, got it installed! btw - I'm ZimmerAllDay in the discord if you didn't figure that already!

geraldb commented 1 year ago

ZimmerAllDay in the discord

Welcome. I am geraldb in the discord ;-). If I have a new ordinal punk edition I try to check-in / gm and post / upload a sample. I have new ones for tomorrow.

Yep, got it installed!

Using

$ ruby -v   # or
$ ruby --version

You can find out your ruby version (the pixelart gem requires ruby > 2.3) - see https://rubygems.org/gems/pixelart And using

 $ gem list

You can list all your ruby gems / packages and

 $ gem env

tells you more about your ruby gem settings.

PS: I am currently updating the neon.rb script to make it easier to try more colors - as an example I add three more.

ZimmerAllDay commented 1 year ago

Excellent! I was just about to download the neon.rb script, should I wait?

Fyi ruby was installed on mac, I updated it and installed the necessary gems.

The trippy punks are not uploaded to the ordinalpunks.server yet, correct? If you upload new versions to it, am I (or anyone) able to run a command to update ordpunkd on my machine to include the new variation? Or does it need to be reinstalled? Thanks!

geraldb commented 1 year ago

I updated the collections.csv dataset right now - seehttps://github.com/ordinalpunks/ordinalpunks.server/blob/master/collections.csv it now includes apes, sketches-invert, neons-red, neons-green, neon-blue. For now every time you start ordpunkd I fetches / downloads the collections.csv dataset (from github) - no need to (re)install / update.

I am off(line) for today - about the neon.rb script - you picked the hardest one ;-) - it requires a image magick installation - you might first try out another script to check if your setup is working - if you don't have git (git?!) - you can download the ordinalpunks.sandbox (on github) as a zip archive (and than unpack).

ZimmerAllDay commented 1 year ago

Great. Thanks for everything. Enjoy your day!

ZimmerAllDay commented 1 year ago

Hey Gerald! Just wanted to update you. I was able to modify the ruby script to make it run and output 1 neon punk based on the hex color input! I then made a csv file with the inputs of punk id, hex color, and color name, and then if I run the script I can get the appropriate output based on the csv inputs. I'm going to create a repository for it soon. Next, I'm trying to create a basic website that will do the same thing, which I will create a repository for too. It's busy time for my business right now, so not a lot of keyboard time this week, but I will keep chugging along!

geraldb commented 1 year ago

Wow. Thanks for the update and great to hear. Looking forward if you share anything about ordinal punks - a world's first - historic ;-). Keep it up.

ZimmerAllDay commented 1 year ago

Hey Gerald, love the wizards. I'm thinking, maybe when I get a website up that can do the custom neon punks, maybe it can be expanded and make it so all punks can easily access all versions via a website. Even though using the ordpunks server is pretty easy (and to you brainless easy!), for totally non technical people, there is still a really steep curve and they won't do it. My vision is a site connected to the ordinalpunks website that would allow to enter an id and select a version and get a savable image - basically your server but web based! Anyway, just thinking out loud. Made some progress last night, learning. Enjoy your day!

geraldb commented 1 year ago

Yeah sure - you are more than welcome to use the ordpunkd service to put up a website or such - the only reason ordpunkd is "offline" and a download is that I used to use the heroku free tier for experiments BUT heroku has terminated / ended the free (gratis) tier. I have it on my list to find an alternative free web host for go lang services - I heard that fly.io might be a candidate - but I am no machine and thus this will take some weeks until I get time to look into fly.io for hosting ordpunkd as a (free) web service / site. Again you are more than welcome to move ahead and use ordpunkd for your website(s). Anyway, just thinking out loud too. Keep it up and thanks for the update.

ZimmerAllDay commented 1 year ago

Hey Gerald! I've been trying to figure out how to run the punks not dead command line tool, but I am stumped. I cloned what I think is the correct repository to my machine using ~ % git clone https://github.com/cryptopunksnotdead/cryptopunks.git but when I try to run 'punk -h' it tells me 'command not found: punk. I am a bit stumped here, any ideas what I'm missing? Thank you!

geraldb commented 1 year ago

Sorry for the trouble / confusion - no need to clone the git repo - the "magic" command is installation with the gem machinery (ruby package manager). And the punk / cryptopunk command-line tool is bundled / ships with https://rubygems.org/gems/cryptopunks Try:

 $ gem install cryptopunks

That's it. Than try $ punk -h

ZimmerAllDay commented 1 year ago

Oh my goodness. Learning is so hard. I did not realize it was just the gem. Thank you Gerald!! I can't wait to have some more time to experiment!

geraldb commented 1 year ago

No worries - keep it up. Cheers..

ZimmerAllDay commented 1 year ago

I've been following your instructions and generating the punks on my own. However, using the command line tool, when I try to generate my own punk, 66, I get an error that it doesn't recognize the command 'female_ape'. I've tried it as 'femaleape' as well. I've had not trouble generating the others i've tried.

Also, each one seems to save the png file to a directory 'ffset=3' or something like that. To open the png, I need to go to that directory and open the file. It seems like there must be another way. Am I missing something to simplify viewing the resulting images?

Thanks as always, I've learned so much recently!

geraldb commented 1 year ago

using

 $ punk ls

will list all attributes from the spritesheet available (built-in) or see https://github.com/cryptopunksnotdead/cryptopunks/blob/master/punks/config/punks-24x24.csv - so the magic name / prompt is ape_female or apefemale.

Not sure what you excactly mean by:

each one seems to save the png file to a directory 'ffset=3' or something like that.

maybe you can show one or two example using the punk command-line.

About:

To open the png, I need to go to that directory and open the file. It seems like there must be another way. Am I missing something to simplify viewing the resulting images?

again not sure what you mean - you can use any image viewer or file browser to view / open the images. what am I missing? on windows you can change the file explorer / viewer to show directories, for example, as "large icons" (instead of "list view") and than all images get displayed "automagically".

ZimmerAllDay commented 1 year ago

Thank you for the replies. When I use punk ls (from home (~ on mac) directory) it lists a bunch of files like this: webclient/0.2.2 on Ruby 2.6.10 (2022-04-12) [universal.x86_64-darwin22] in (/Library/Ruby/Gems/2.6.0/gems/webclient-0.2.2) cocos/0.2.1 on Ruby 2.6.10 (2022-04-12) [universal.x86_64-darwin22] in (/Library/Ruby/Gems/2.6.0/gems/cocos-0.2.1/lib) pixelart-colors/0.1.0 on Ruby 2.6.10 (2022-04-12) [universal.x86_64-darwin22] in (/Library/Ruby/Gems/2.6.0/gems/pixelart-colors-0.1.0)" etc...

then I get an error:

*** error: undefined method meta' for #<Pixelart::GeneratorEx:0x00007fc03dbb8708> error: undefined methodmeta' for #

I'm not sure why this is. I am trying to learn too many things at once - so there is a lot of overlap to my misunderstanding! I'll re-post my question about the command line outputs in a separate comment.

ZimmerAllDay commented 1 year ago

When I generate a punk file using the cli, you'll see the last operation is it saves the file. The only way I know to open it is to cd ffset=3 - then 'open punk-0000@8x.png' - it works, and opens in preview, but there is obviously a better way to view these.

Screenshot 2023-05-20 at 11 16 43 AM

Is there a way to just create a new directory and have them saved there? Thank you! And you can tell me to go away any time!

geraldb commented 1 year ago

then I get an error:

*** error: undefined method meta' for #

ok. sorry. looks like the $ punk ls command is broken / dead - that is a crash - thanks for reporting. As a workaround you can look up the names "by hand" in the spritesheet.csv dataset - see above.

geraldb commented 1 year ago

When I generate a punk file using the cli, you'll see the last operation is it saves the file. The only way I know to open it is to cd ffset=3 - then 'open punk-0000@8x.png' - it works, and opens in preview, but there is obviously a better way to view these.

ok - there's a user error in here some where ;-) - can you post the complete $ punk command-line that you type / issue - i assume you are mixing short/long options - if you use offset - you MUST use double dash e.g. --offset and than the offset should be in the name NOT creating a directory... than all should start to make more sense.

ZimmerAllDay commented 1 year ago

Awesome - gotta do other things for now but will circle back.

My default position is to assume it's ALWAYS user error!!

geraldb commented 1 year ago

humans make errors - no worries - looks like a missing dash (-) messed up everything again try (--offset) e.g.:

$ punk --offset=8 gen apefemale

resulting in:

==> saving punk #8 to >./punk-0008.png<...

that is, saving in your working folder / dir and the offset is the number in the filename.

ZimmerAllDay commented 1 year ago

Alright, whew! With your hand holding I am generating ordinal punks and they are being saved to my home directory. B-A-B-Y S-T-E-P-S. Now I am going to keep experimenting and see if I can learn to generate customs.

I don't know how you have the patience, but I appreciate it!

ZimmerAllDay commented 1 year ago

Ok, so, when I'm running this generate command, I am essentially creating my own new collection? The examples you've shown are for recreating the existing original 100 o punks. But I can assign my own offset to 100 new punks with new attributes and make a composite and have my own collection? This is how the tool works, correct?

geraldb commented 1 year ago

But I can assign my own offset to 100 new punks with new attributes and make a composite and have my own collection? This is how the tool works, correct?

yes, you can pick any offset (number) and any available attribute(s) - see the spritesheet.csv dataset - ... one punk command-line call gets you one new punk image ... one-by-one a new never-before-seen collection is born / generated / curated / or whatever ;-). yes, you can that's all the magic.

geraldb commented 1 year ago

I don't know how you have the patience, but I appreciate it!

No worries. Looks like you are the very first punk comand-line user asking - for now I am not yet overwhelmend by the interest in the punk (image generation) tool - it's still the early days... ;-)

ZimmerAllDay commented 1 year ago

Awesome. Continuing on in your starter lesson - I tried to run the 'fab' examples, but the 'fab' command wasn't found. Is that a separate gem? And is that just another way to generate them?

I'm really interested in learning to use the script to generate them, so that's where I go next!

geraldb commented 1 year ago

I tried to run the 'fab' examples, but the 'fab' command wasn't found. Is that a separate gem?

yes, sorry for the confusion - time to put together an all-in-one bundle ;-) - for now its the originals gem- see https://rubygems.org/gems/originals - and try:

 $ gem install originals     # i know an original name ;-). 

learning to use the script to generate them, so that's where I go next!

yes, you can. if you change the tabular dataset in csv that you can batch generate your own collection... and so on.

ZimmerAllDay commented 1 year ago

Very cool. I am getting the hang of this. I don't understand all the detail in the ruby script but I am learning a piece at a time - at least I grasp what each section is doing thanks to your notes. 2 questions: 1) why is there a blurry .png image and then the 'finished' zoom image of each punk? how does the blurry image factor in? 2) when FlowStay, for example, created the 100 ordinal punks, would he have hand selected/created each one? or are you able to select the amount of each gender/type and each attribute then randomize the assignment of them all? how does that typically work in these collections? Then I will leave you alone for today!

geraldb commented 1 year ago

why is there a blurry .png image and then the 'finished' zoom image of each punk? how does the blurry image factor in?

sorry not sure what you mean - where do you see a blurry .png image? or what do mean "how does the blurry image factor in?"

when FlowStay, for example, created the 100 ordinal punks, would he have hand selected/created each one? or are you able to select the amount of each gender/type and each attribute then randomize the assignment of them all? how does that typically work in these collections?

all good questions ;-) you have to ask Flow Stay how he came up with the selection - by hand? I'd say possible with a hundred or by script or dice? - if he considered the distribution of gender etc. and that mystery will keep the art critiques busy for millenia - of course - I am curious and happy to learn more - let's ask Flow Stay!

PS: In the starter guide I use on purpose a tabular dataset (in .csv) and a"two step generation process" - how you put together the tabular dataset that is the mystery / magic formula up-to-you (or in this case see above let's ask Flow Stay for his magic formula).

PPS: If you want to generate a random tabular dataset with a script, see https://github.com/ordinalpunks/ordinalpunks.sandbox/blob/master/1000more/generate_meta.rb for one way / formula.

ZimmerAllDay commented 1 year ago

Thanks Gerald! Busy few days and no time to work on this. When I use the ruby script to generate Ordinal Punks, the tmp directory is left with 2 files for each, one called, for example '1.png' and another called '1@8x.png' - I think it has to do with the 2 step process you referred to. I added a screen shot, not sure if those work here. Let's find out...

Screenshot 2023-05-23 at 8 04 13 AM
ZimmerAllDay commented 1 year ago

It did work. So, the 1.png file, for example, is blurry

Screenshot 2023-05-23 at 8 06 31 AM

It's not a problem per se, I was just wondering about it as part of understanding the process.

Thanks for the feedback on collection generation. Good to know. I will definitely check out the script for generating a random tabular dataset.

One question - I was experimenting with making doge punks, but the 'attributes.csv' file is very limited - ie. not many attributes. What is the process for creating/adding more?

Thanks as always!

geraldb commented 1 year ago

Busy few days and no time to work on this. When I use the ruby script to generate Ordinal Punks, the tmp directory is left with 2 files for each, one called, for example 1.png and another called 1@8x.png - I think it has to do with the 2 step process you referred to.

You can pick any filename(s) - my personal convention is to add @8x or @4x or such to the filename to make the zoom factor (8x, 4x, etc) explicit. So in your case or in the starter example you get an ordinal punk 1.png in 24x24px and 1@8x.png in the original "flow stay size" - 24*8 = 196, that is, 196x196px - if the both use the same name the would overwrite each other...

geraldb commented 1 year ago

So, the 1.png file, for example, is blurry

How did you make 1.png "bigger"?

Note. If you use the Image#zoom in your script you always get a sharp looking punk. If you use a image program (make sure when you upsize to use / select the "near neighbor" algorithm or such best for pixel art but a "distaster" for photos, and thus usually NOT the standard / default option).

What is the process for creating/adding more?

Sorry not trying to be a wise-crack. You have many (unlimited?) options - one option is to add one attribute at a time "by hand" ;-).

ZimmerAllDay commented 1 year ago

Thanks! - I get it now, the first png is 'blurry' b/c it is being zoomed but it is only 24px. Got it.

You are not being a wise ass as we say in the US! Impossible questions deserve impossible answers. I am suffering from circular thinking as there are many ways to do things and I'm struggling to create linear thought processes. Let's see - so there are many pixelated png files compiled into a 'spritesheet.png':

a) how do these get compiled in the correct format so they are readable by the script? b) I assume you can use existing attributes from other collections, such as cryptopunks? c) to generate originals one must use a graphic editor to create pixel images like GIMP or Photoshop?

I'm slowly understanding the different ways to use scripts to reference the attributes, so now I'm wondering, I suppose, how the attributes get there in the first place so I can see the whole process.

Speaking of attributes - your patience and generosity with your time are two admirable ones!

geraldb commented 1 year ago

Speaking of attributes

ok I see - you are talking / asking about adding new attribute images (building blocks) to the spritesheet ...

yes, your are right - no magic here - it is all done "by hand" - you can paint new ones or get inspired by other collections and try to "reconstruct" ones already seen-before for (re)use ...

and yes, the idea is to "collect" more and add more to the spritesheet - unfortunatley for now basically I am talking to myself and there is no (punk art) community so to speak of that might contribute...

ZimmerAllDay commented 1 year ago

yes, that is what I'm talking about. Is it possible to take an existing spritesheet and add to it? Or use images from it? Or do they all need to be created. There is another ordinal punk holder who is interested in doing a shibainu (doge) collection, and since I'm learning, I thought it would be fun to toy with it. If it's not too complicated, and you're able to offer any tips for going about it, I'd be up for trying to create an expanded sprite sheet for the shibas.

I'm also still thinking about the NEO Punks (my term for Neon Electric Ordinal Punks), and my brain is working on how I could make that collection more simply by using all of the black and white punk sketches as base images, then using a csv to assign hex colors to each id. Currently, I have the ability to do one offs (custom id, custom color), but I could basically load up all of the colors at once and run a script that makes all 100 and then a composite.

Actually, check this idea out - instead of 1 composite, it could make two - the first in order of the existing punk ids, the second in order of the hex number codes ROY G BIV style... ooooh, that would look cool.

ZimmerAllDay commented 1 year ago

doge1@4x zombie, capforward, classicshades

geraldb commented 1 year ago

if you want to add new types or attributes you can "patch" the spritesheet / generator - see the ordinalpunks.sandbox scripts for many real-world examples - look for / search for patch in the script (only some use patches).

if you want to generate a new spritesheet (from scratch) - yes, you can - use any tool you like it's just a .png in a grid ;-) or use the spritesheet ruby gem - see https://github.com/generativeartfactory/artfactory/tree/master/spritesheet

on all your ideas of yours or your friends - sure - that's what it's here for - go nuts ;-).

about doge / shiba-inus - they are way easier because unisex - only one format (no male/female) - you may use the (generative) artfactory machinery / script - see https://github.com/generativeartfactory/artfactory.starter for many examples (with "unisex" spritesheets).