Twice now I’ve gotten to work on Pokémon for their annual world championships. Here’s a link to the last round of it! https://www.artstation.com/artwork/yDlgbJ
I’ve mostly been off Facebook for about 2 years now, except when I need to recover some esoteric mote from the old days of spending way too much time there. Here’s some old art of mine that used to be locked away on the Ballard Life Drawing Co-op’s facebook page.
- Grabbed a limited palette off of lospec.com and a reference face off of thispersondoesnotexist.com
- Drew in Blender’s Grease Pencil with vertex colors and max jitter and randomness
- Use smaller and smaller brushes with less and less randomness
- Blur the colors in Vertex Paint, then keep painting
- Throw a bunch of modifiers on it
Grease Pencil is not necessarily the best choice for impressionist painting. The swatch interface means you can’t color pick like other programs, and the vector nature of grease pencil doesn’t lend itself toward blended edges. But there’s a lot of upside for it! Sculpt mode moves stroke points, which means edits work a lot cleaner than something like Photoshop’s liquefy tool. Plus, the footprint left behind with strokes and points mean the painting is great fodder for animation and modifiers. On this here stack I played with the Build, Dot Dash, and Thickness modifiers.
I went to figure drawing for the first time in almost 2 years! Man I missed it. Back in the day, getting practice twice a month while running the Ballard Life Drawing Co-Op was the best.
I really like procedural art direction. Here's one I wrote in Python for my class that generates random texture atlas assignments. I'm new to Trinket, but it's cool to see that you can embed Python in Canvas.
import random
adjectives = [
"acidic",
"aggressive",
"agreeable",
"alive",
"ambitious",
"angry",
"attractive",
"bald",
"beautiful",
"better",
"bewildered",
"big",
"bitter",
"brave",
"breezy",
"bumpy",
"calm",
"careful",
"chilly",
"chubby",
"clean",
"clever",
"clumsy",
"cold",
"colossal",
"cool",
"cool",
"creamy",
"crooked",
"cuddly",
"curved",
"damaged",
"damp",
"dazzling",
"dead",
"delicious",
"delightful",
"dirty",
"disgusting",
"drab",
"dry",
"eager",
"easy",
"elegant",
"faithful",
"famous",
"fancy",
"fat",
"fierce",
"fit",
"flaky",
"flat",
"fluffy",
"freezing",
"fresh",
"gentle",
"gifted",
"gigantic",
"glamorous",
"gorgeous",
"greasy",
"greasy",
"great",
"grumpy",
"hallowed",
"handsome",
"happy",
"helpful",
"high",
"hot",
"hot",
"huge",
"icy",
"immense",
"important",
"inexpensive",
"itchy",
"jolly",
"juicy",
"kind",
"large",
"lazy",
"little",
"lively",
"long",
"loose",
"magnificent",
"mammoth",
"massive",
"melted",
"microscopic",
"miniature",
"muscular",
"mysterious",
"narrow",
"nervous",
"nice",
"nutritious",
"nutty",
"obedient",
"obnoxious",
"odd",
"panicky",
"petite",
"pitiful",
"plain",
"plump",
"polite",
"powerful",
"prickly",
"proud",
"puny",
"quaint",
"rancid",
"refined",
"repulsive",
"rich",
"ripe",
"rotten",
"rough",
"round",
"salty",
"savory",
"scary",
"scrawny",
"scruffy",
"shaggy",
"shallow",
"shapely",
"sharp",
"short",
"short",
"shy",
"silly",
"skinny",
"slimy",
"small",
"sour",
"spicy",
"spoiled",
"square",
"stale",
"steep",
"sticky",
"stocky",
"straight",
"strong",
"sweet",
"tall",
"tangy",
"tart",
"tasteless",
"tasty",
"teeny",
"tender",
"thankful",
"thoughtless",
"tight",
"tiny",
"ugly",
"uneven",
"uptight",
"vast",
"victorious",
"warm",
"weak",
"wet",
"wide",
"witty",
"wonderful",
"wooden"
"worried",
"yummy",
"zealous"
]
subcultures = [
"Artificial",
"Wooden",
"Plant",
"Brick & Mortar",
"Terra Cotta",
"Athlete",
"Stone",
"Contemporary",
"Biker",
"Biological",
"Frontier",
"Biopunk",
"Bird",
"Beach",
"Bodybuilding",
"Bohemianism",
"Bro",
"Dark Age",
"Greco-Roman",
"Bear",
"tea party",
"Wasteland",
"Child",
"Candy-themed",
"Food-themed",
"Crustacean",
"Cryptozoology",
"1950s",
"Cybergoth",
"Slum",
"Superhero",
"Cottagecore",
"Volcanic",
"Academic",
"Underwater",
"Desert",
"Mountain",
"Alchemical",
"Racing",
"Demonic",
"Dieselpunk",
"Ashen",
"Demolished",
"Angelic",
"Nightmare",
"Emo",
"Wealthy",
"Dreamland",
"Urban",
"Arctic",
"Elemental",
"Bird",
"Scientist",
"Animal",
"Futurist",
"Dragon",
"Pirate",
"Sword & Sandal",
"Zombie",
"Gothic",
"Goth",
"Bronze Age",
"Stone Age",
"Wizard",
"Grunge",
"Feminine",
"Masculine",
"Hacker",
"Neolithic",
"Spanish",
"Toddler",
"kid-friendly",
"Dystopian",
"Post-apocalyptic",
"Hard rock",
"Medieval",
"18th century",
"Hip hop",
"Hippie/Hippy",
"Hipster",
"Hobo",
"19th century",
"World War 1",
"World War 2",
"art deco",
"faerie",
"Jedi",
"Juggalo",
"Circus",
"Jock",
"Jungle",
"K-pop",
"Dungeon",
"Sewer",
"Viking",
"machinist",
"Manga screentone",
"Historical French",
"Military",
"Minimalist",
"Modern",
"Victorian",
"Dwarven",
"Elizabethan",
"Woodland",
"Demonic",
"Witch",
"Elven",
"Paranormal",
"Doomsday Prepper",
"Preppy",
"Psychedelic",
"Punk",
"Romantic",
"Rave",
"Redneck",
"industrial",
"Rock and roll",
"Nerd",
"highway",
"Music",
"Science fiction",
"Camping",
"Skater",
"Steampunk",
"Straight edge",
"Surfer",
"Stoner",
"Teenybopper",
"Toddler",
"Outer space"
"Alien",
"Vampire",
"Vegan",
"Vaporwave",
"Vintage",
]
modelBasis = [
"clothing set",
"furniture piece",
"room interior",
"appliance",
"bedroom",
"meeting room",
"kitchen",
"corridor",
"land vehicle",
"water vehicle",
"air vehicle",
"space vehicle",
"Weapon",
"house",
"building",
"landscaping",
"set dressings"
]
textureMethod = [
'hand-painted',
'baked',
'node-generated',
'photobashed',
'photogrammetry']
exampleSentence = "Create a texture atlas for a grungy cyberpunk building "
#culture and mood?
for i in range(100):
print('Create a texture atlas for a {} {} {} textured using a {} workflow'.format(random.choice(adjectives), random.choice(subcultures), random.choice(modelBasis), random.choice(textureMethod)))
Back in 2016 I started using Instagram. I fell off from blogging pretty hard as a result. It was such an easy, accessible place to post content, and gave you that addictive feedback loop of social media likes.
Five years later, I largely regret it. It’s not entirely instagram’s fault; for years, I had a phone with a cracked camera lens, so the photos I took are washed out. Compared to pre-instagram sketch dumps where I took the time to scan things properly, the quality is low.
But a lot of it is Instagram’s fault. It’s a hassle to hack instagram to post from the desktop. Previously I’d use a Chrome extension to cheat, and then my account would require a password change until I removed the extension, resulting in weeks without posting. Instagram’s algorithm also drives me nuts. I don’t see my friends’ art. It’s just ads, recycled memes, and semi-nude clickbait. The semi-nudity certainly is problematic for the well documented body issues of instagram, but it’s also problematic for its censorship, often anti-LGBTQ in its flavor.
I guess the simplest answer is that I don’t feel that old craving for instagram, but I’m still making content regularly, and need to get back in the habit of dumping it on m’blog. But anyhoo, here’s a farewell dump of all my old instagram art. I removed all the nonsequiteur posts. Go find me at @ogbog if you want the details on one of these moldy oldies.
If you’re curious about how to replicate this process, here’s what to do. First, use developer tools in Chrome to pretend you’re on a phone. Second, download all your old instagram content. Third, search the posts folder for .jpg or .mp4 to get all the pics and videos to upload at once on WordPress (use a Gallery block), and select ’em all.
I’m taking a watercolor class at AOEU, and the idea of a random table to generate painting prompts was floated. Whether I was inspired or procrastinating, I’m juuuust good enough at Python to shoot from the hip and try turning such an idea into code.
import random
genre = [
"Still life from imagination",
"Still life from reference",
"Portrait from reference",
"Portrait from imagination",
"Landscape from reference",
"Landscape from imagination",
"Abstract"
]
motherColor = ["red",
"orange",
"yellow",
"Green",
"Blue",
"Violet",
"B&W"]
mainBrush = ["fan brushes",
"flat brushes",
"rigger brushes",
"Watercolor pencils",
"Round brushes",
"Water pens",
"Anti-brushes"]
theme = ["Fantasy",
"Sci-fi",
"Realist",
"Cartoon",
"Food",
"Advertising",
"Horror"]
emotion= ["Happy",
"Sad",
"Calm",
"Excited",
"Fearful",
"Angry",
"Confused"]
technique = ["Wash",
"Line",
"Drybrush",
"Texture",
"Resist",
"Wet-on-wet",
"Ink"]
for i in range(6):
print('Paint a {} {}-hued {} {} using primarily {} with {}'.format(emotion[random.randint(0,6)], motherColor[random.randint(0,6)], theme[random.randint(0,6)], genre[random.randint(0,6)], mainBrush[random.randint(0,6)], technique[random.randint(0,6)]))
A couple edits come to mind, such as skipping all those lists and instead importing from a CSV, maybe using random.choice instead, and if I’m real fancy, maybe learning how to make it a button on wordpress.
So how’d the paintings turn out?