The Do-It-Yourself (DIY) Factory of Modern Originals (FoMO) Presents
Moonbirds & Lil' Moonbirdies (Pixel Owls 'n' Friends)
Yes, you can! Generate your own 42×42 (or lil' 24×24) pixel owl images (off-blockchain) from text attributes (via built-in spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
Usage
42×42px
Let's generate some super-rare never-before-seen
moonbirds (pixel owls):
require 'moonbirds'
bird = Moonbird::Image.generate( "Tabby Brown",
"Small Orange",
"Open White" )
bird.save( "moonbird1.png" )
bird.zoom( 4 ).save( "moonbird1@4x.png" )
bird = Moonbird::Image.generate( "Tabby Brown",
"Small Orange",
"Open White",
"3D Glasses" )
bird.save( "moonbird1b.png" )
bird.zoom( 4 ).save( "moonbird1b@4x.png" )
bird = Moonbird::Image.generate( "Tabby Brown",
"Small Orange",
"Open White",
"McDonald's Red" )
bird.zoom( 4 ).save( "moonbird1c@4x.png" )
bird = Moonbird::Image.generate( "Tabby Brown",
"Small Orange",
"Open White",
"McDonald's Red",
"Drive-Thru On Duty" )
bird.zoom( 4 ).save( "moonbird1d@4x.png" )
bird = Moonbird::Image.generate( "Tabby Brown",
"Small Orange",
"Open White",
"McDonald's Red",
"Drive-Thru On Duty",
"McDonald's Shirt (Old Skool)" )
bird.zoom( 4 ).save( "moonbird1e@4x.png" )
Voila!
In 4x:
bird = Moonbird::Image.generate( "Professor Golden",
"Small Golden",
"Open Golden" )
bird.zoom( 4 ).save( "moonbird2@4x.png" )
bird = Moonbird::Image.generate( "Crescent Golden",
"Small Golden",
"Open Golden",
"Beanie" )
bird.zoom( 4 ).save( "moonbird2b@4x.png" )
Voila!
In 4x:
bird = Moonbird::Image.generate( "Brave Glitch" )
bird.zoom( 4 ).save( "moonbird3@4x.png" )
bird = bird.background( 'red' )
bird.zoom( 4 ).save( "moonbird3b@4x.png" )
Voila!
In 4x:
And so on.
42×42px (V1 / Official)
For some background - see
Breaking News: Proof's Moonbirds Token Images Officialy Declared Public Domain (No Rights Reserved) under Creative Commons Zero (CC0) Dedication by Kevin Rose (Chief of Proof) - Thank You!
Let's generate some super-rare never-before-seen
moonbirds (pixel owls) using the official (also known as V1) attributes:
require 'moonbirds'
bird = MoonbirdV1::Image.generate( "Tabby Brown",
"Small Orange",
"Open White" )
bird.save( "moonbird1.png" )
bird.zoom( 4 ).save( "moonbird1@4x.png" )
bird = MoonbirdV1::Image.generate( "Tabby Brown",
"Small Orange",
"Open White",
"3D Glasses" )
bird.save( "moonbird1b.png" )
bird.zoom( 4 ).save( "moonbird1b@4x.png" )
bird = MoonbirdV1::Image.generate( "Golden Legendary Professor",
"Small Golden",
"Open Golden" )
bird.zoom( 4 ).save( "moonbird2@4x.png" )
bird = MoonbirdV1::Image.generate( "Golden Legendary Crescent",
"Small Golden",
"Open Golden",
"Beanie" )
bird.zoom( 4 ).save( "moonbird2b@4x.png" )
bird = MoonbirdV1::Image.generate( "Glitch Legendary Brave",
"Glitch 6" )
bird.zoom( 4 ).save( "moonbird3@4x.png" )
bird = bird.background( 'red' )
bird.zoom( 4 ).save( "moonbird3b@4x.png" )
Aside - What's the difference?
Note: The body attributes use the "official" naming
e.g. Golden Legendary Crescent
instead of Cresent Golden or Golden Cresent;
Glitch Legendary Brave instead of
Brave Glitch or Glitch Brave and so on.
All legendary body attributes
are WITHOUT beak and eyes and the spritesheet
includes "stand-alone" beak and eyes to mix'n'match.
The legendary bodies with gradient background,
that is, cosmic, enlightened and jade, are "pre-made"
include the 1/1 gradient background "out-of-the-box/spritesheet".
Easter eggs - The official
attributes
include super-rare never-before-seen (& used)
legendary attributes (eyes, eyewear, headwear) for cosmic, enlightened, & jade moonbirds (incl. a unicorn horn!).
24×24px
Let's generate some super-rare never-before-seen
lil' moonbirdies (pixel owls):
birdie = Moonbirdie::Image.generate( "Tabby Brown",
"Small Orange",
"Open White" )
birdie.save( "moonbirdie1.png" )
birdie.zoom( 4 ).save( "moonbirdie1@4x.png" )
birdie = Moonbirdie::Image.generate( "Tabby Brown",
"Small Orange",
"Open White",
"3D Glasses" )
birdie.save( "moonbirdie1b.png" )
birdie.zoom( 4 ).save( "moonbirdie1b@4x.png" )
Voila!
In 4x:
birdie = Moonbirdie::Image.generate( "Professor Golden",
"Small Golden",
"Open Golden" )
birdie.zoom( 4 ).save( "moonbirdie2@4x.png" )
birdie = Moonbirdie::Image.generate( "Crescent Golden",
"Small Golden",
"Open Golden",
"Beanie" )
birdie.zoom( 4 ).save( "moonbirdie2b@4x.png" )
Voila!
In 4x:
birdie = Moonbirdie::Image.generate( "Ruby Skeleton", "Small Ruby", "Moon", "Lincoln" )
birdie.zoom( 4 ).save( "moonbirdie@4x.png" )
birdie = birdie.background( 'ukraine' )
birdie.zoom( 4 ).save( "moonbirdie3b@4x.png" )
Voila!
In 4x:
And so on.
Bonus - Look-Up Attributes (Via Built-In Spritesheet)
Let's look-up some attributes:
_3d_glasses = Moonbird::Sheet.find_by( name: '3D Glasses' )
beanie = Moonbird::Sheet.find_by( name: 'Beanie' )
chromie = Moonbird::Sheet.find_by( name: 'Chromie' )
mcdonalds_red = Moonbird::Sheet.find_by( name: "McDonald's Red" )
_3d_glasses.save( "3d_glasses.png" )
beanie.save( "beanie.png" )
chromie.save( "chromie.png" )
mcdonalds_red.save( "mcdonalds_red.png" )
_3d_glasses.zoom( 4 ).save( "3d_glasses@4x.png" )
beanie.zoom( 4 ).save( "beanie@4x.png" )
chromie.zoom( 4 ).save( "chromie@4x.png" )
mcdonalds_red.zoom( 4 ).save( "mcdonalds_red@4x.png" )
Voila!
In 4x:
And so on.
Appendix - All Built-In Spritesheet Attributes
42×42px
See the spritesheet-42x42.csv dataset for all attribute names (w/ categories).
(Source: moonbirds/spritesheet-42x42.png)
42×42px (V1 / Official)
See the spritesheet_v1-42x42.csv dataset for all attribute names (w/ categories).
(Source: moonbirds/spritesheet_v1-42x42.png)
Lil' 24×24px
See the spritesheet-24x24.csv dataset for all attribute names (w/ categories).
(Source: moonbirds/spritesheet-24x24.png)
Post them on the D.I.Y. Punk (Pixel) Art reddit. Thanks.