It’s my blog!

Artifacts, Tech Jared Flynn Artifacts, Tech Jared Flynn

Early 3D shenanigans.

The exact chronology is fuzzy to say the least, but in no particular order, there were three major events in the late ‘90s that led to my getting into 3D design and animation.

A 3D render from 1998 of a sphere with a blue and brown noise texture, surrounded by three cyan toruses arranged like a Bohr atomic model

MOLECULE.BMP, possibly the first 3D render I ever made outside of a tutorial from a book. 3D Studio MAX r2.5, 1998.

The exact chronology is fuzzy to say the least, but in no particular order, there were three major events in the late ‘90s that led to my getting into 3D design and animation.

First I’d like to credit my dad, Bill. When I was a tween, he started taking night classes in architectural design, and brought home a suite of software for his coursework. He spent most of his time in AutoCAD, but the suite also included 3D Studio MAX r2.5. With his encouragement (and a thicc book of lessons) I had the opportunity to noodle around with this art form on our home computer. Thinking about this now, I’m a little floored by how special this was; we were still a long ways off from creative software becoming particularly affordable, and running 3D design software on a home desktop was only barely viable in the first place!

Around the same time, I discovered 3D artist Neil Blevins. I have a vague memory of some Web 1.0 era website where digital artists were sharing their work, where Neil’s art first came up for me. His work with modeling spaceships, megastructures (long before he published a dope book on the subject) and abstract compositions with dark sci-fi themes resonated deeply with me at the time, and I followed him for years during my sporadic bursts of Internet access. Towards the end of high school, I decided to email Neil and ask him about how to get started making digital art professionally, and, cool dude that he is, he actually responded! His advice was that art is much tougher to learn without support than the use of tools & software. Knowing how to leverage composition, value, and color, not to mention exposure to making stuff in any number of media, was overall rarer in among professional 3D artists, at least at the time, so his vote was for me to attend art school and learn the tech separately. I took that to heart and applied to Maine College of Art, a move that was incredibly formative for my career (even though I didn’t graduate). I’ll always be grateful to Neil for giving me a slice of his time and setting me on the wise path toward a creative career.

The third event was a close encounter with a real working artist, which came through a serendipitous one-off job my [biological] father took on. A friend of his partner’s—I remember his first name, Dana—was a digital artist working with Tufts University. Using a combination of real data and 3D software, he created large-format fine art prints of deep space phenomena, the Milky Way, nebulae, planets, comets, etc. These prints would go on tours with their department’s research team as visual aids. Dana needed a way to safely transport these big ol’ canvases on their cross-country gigs. My father was pretty handy with woodworking, so Dana commissioned him to build a shipping crate. As part of that deal, we got to visit Dana’s studio in Cambridge, and he was kind enough to give me a first-hand tour of how his 3D space scenes were built. I can’t remember the exact chronology of things here but this might have predated my own experiments with 3D Studio, and actually been my first-ever look at how digital art like this was made.

From about 1998 onward, you’d find me noodling around in 3DS MAX on the regular. Looking back at my output from the time, and considering how painful it was for me to reenter 3D design and animation as a professional a decade later (more on that in a future post), I’m kind of surprised by how much skill I managed to develop between my one book of lore and blind experimentation. For the most part I modeled with primitives, and most of my attempts at subdivision modeling (then called NURBS) were exercises in extreme frustration. But I’ll be damned if I didn’t sort out how to manage an animation timeline, parenting, lighting, even a bit of shader work that produced some renders I’m still pretty proud of.

3D was on my toolbelt, at least casually, until 2006, at which point it fell entirely by the wayside and stayed there for the next six years. With no formal training or support to bolster my experiments, and my creative focus organically shifting into video production & post production during college, I found myself opening up 3D Studio less and less often. My last big fun 3D scene of that era was a desktop wallpaper I made while waiting oh so patiently for UPS to deliver my very first flat panel monitor:

I’m grateful for the time I got to spend with 3D software early on, for the bridge it built between my childhood wonder at groundbreaking movies like Toy Story and the freedom to make cool stuff out of my own head with these amazing tools. I’m also grateful that my generation gets to bequeath tools like Blender—orders of magnitude more capable than what I was using at the time, and free—to anyone with even a passing curiosity about the art form. My journey in 3D design was a privileged one, born of an opportunity most kids at the time just never had, so it’s doubly amazing to see how accessible these tools continue to become.

Read More
Artifacts Jared Flynn Artifacts Jared Flynn

1999 in living color.

It used to be that Windows was a DOS program that, like any DOS program, the user could quit. The line began to blur on the release of Windows 95, which inverted the user’s relationship to DOS by introducing “MS-DOS Mode,” a functionally real version of DOS that was actually more of a decoy or a shell. By Windows 98, we began to see the true zombification of DOS into a command prompt for doing Windows things, and our beloved DOS-native applications started to tire under the burden of competing with our fancy new 32-bit lifestyle.

It used to be that Windows was a DOS program that, like any DOS program, the user could quit. The line began to blur on the release of Windows 95, which inverted the user’s relationship to DOS by introducing “MS-DOS Mode,” a functionally real version of DOS that was actually more of a decoy or a shell. By Windows 98, we began to see the true zombification of DOS into a command prompt for doing Windows things, and our beloved DOS-native applications started to tire under the burden of competing with our fancy new 32-bit lifestyle.

So when our family computer was updated to Windows NT 4.0, it just didn’t make sense for me to keep fiddling around in QuickBASIC anymore. Now it was time to jump into the boundless possibilities of object-oriented programming, graphical user interfaces, clickable buttons! So yeah anyway I learned VisualBASIC 3.0.

I think the most useful thing I ever made with VB was a fifteen-minute timer. As I moved up into junior high and high school, my circle of friends quickly expanded beyond our phone service’s local calling area, and so my social existence survived on a lifeline of prepaid calling card credits that my parents re-upped like an allowance. I was allowed to make fifteen minutes’ worth of long distance calls per day on my card, and since the constant judgmental staccato of Mom’s kitchen timer really killed my vibe I decided to make my own little app on the computer.

But “useful” applications were pretty boring. Mostly, I was trying to build full-blown graphic adventures in the spirit of all the Sierra and LucasArts point-and-click games that overflowed my hard drive. Brimming with ideas, I started everything, and finished nothing, because cel animation is wicked hard in MS Paint and also my coding skills were (and continue to be) notoriously tepid.

I remember putting together exactly one screen of a point-and-click adventure game. It had all the bells and whistles—walk cycles for four cardinal directions, items to pick up, an inventory screen … but crucially, I had forgotten to come up with a story. That wasn’t a deal breaker for me; what ended up sinking the effort was my utter failure to code a path-finding function that would let my little avatar guy navigate around obstacles. That project was soon shelved, but I was still determined to make something out of the heavy tomes of game programming books I’d begged my parents for.

The Interactive Cinema is the closest I ever got to telling a branching story with graphics and animation. As with its point-and-click predecessor, I had absolutely no idea where the story was meant to go. The idea of planning the thing out in any way before diving straight into production never entered my mind, echoing nearly beat-for-beat the first few weeks I spent developing this very website. It was all jazz. Even though the thing was never finished, I did manage to save it and carry it with me for the better part of thirty years, and here it is.

The Interactive Cinema spent its first years on a small local hard drive, managed by a tween, with no backup. At some point, it made its way onto a 1.44-megabyte 3.5” floppy disk—again, with no backup—and there it languished for several years. It found a new home after the tween (now a teenager) received an Iomega Zip Drive, which, for readers who don’t remember, had its own proprietary format of 100-megabyte “Zip Disks.” From there, as the Zip Drive fell out of the zeitgeist, it was burned to a DVD-R, placed on a 100-disc spindle with other “backups,” and promptly forgotten for around fifteen years. It wasn’t until just a couple years ago that I, now a real grownup with a grownup offsite backup service for grownups, pulled all of those spindles of burned DVDs up out of my dank-ass basement and dumped their contents onto an eight-terabyte external hard drive that fits in a front pants pocket, because it is now the future.

Of course, now that it is the future, The Interactive Cinema doesn’t run.

Screenshot of Windows 11 error dialog stating "this app can't run on your PC"

I tried everything. Compatibility Mode. Safe Mode. I found a dusty old copy of vbrun300.dll and pasted that into a half-dozen important-looking places within my Windows 11 installation. No dice! Was I defeated? Had obsolescence slammed the door on all the cool junk I made before the world moved on from 32-bit operating systems? Nay! While today’s technology does its dangedest to coddle us and tell us never to tinker, this nerd still remembers the glory days when changing random values in autoexec.bat and jamming CTRL-ALT-DEL with a prayer could mean the difference between getting Warcraft 2 to start and having to play outside instead. I just had to pull out the big guns.

Armed with a very tall brewski and possessed of a couple late nights, I discovered a supercool emulation platform called VirtualBox, and an archived ISO for Windows 98 Second Edition. Before too long, I had an honest-to-goodness virtual machine booting into real Windows 98. The Windows Start sound made the hair on the nape of my neck stand up. From there, I just had to make a folder on my “real” computer, fool the Windows 98 VM into thinking it was a CD-ROM drive, and then use that flimsy hack to move cinema.exe over into its new 32-bit home.

It was only there, manipulating the past in a glass box through insulated gloves like an infectious disease researcher, that I managed to get cinema.exe running again. It was glorious! Unlike CARTOONZ!, my DOS-based first foray into digital animation, I was honestly shocked by what I managed to accomplish with straight-ahead animation drawn in MS Paint. I mean, just look at that weird green alien blob thing!

The Interactive Cinema was, without a doubt, the first crucial success in my journey as an animator. Sixteen colors, 650 kilobytes, and the validation I needed to keep on truckin’.

Read More
Artifacts Jared Flynn Artifacts Jared Flynn

I learned to code in 1996.

First it was a branching choose-your-own-adventure situation built with Automenu, but when that wasn’t enough, my father gave me a two inch thick book on programming in QuickBASIC and I got to work.

First it was a branching choose-your-own-adventure situation built with Automenu, but when that wasn’t enough, my father gave me a two inch thick book on programming in QuickBASIC and I got to work. At the time, my best friend had already started coding in QB thanks to his own dad’s urging. I can’t remember what kind of programs he was writing at the time—games, I assume, probably text adventures— but, not to be outdone, I resolved to start making digital animation, even though coding graphics was way over my head. Undeterred, I created four installments of CARTOONZ.BAS, a series of little vignettes made of what could be generously referred to as ASCII art. The animation ran at one frame per second because 1 was the lowest value QuickBASIC v4.5’s SLEEP keyword would accept, and now we all need to suffer through that together.

I credit the ASCII-based dungeon crawler NetHack, which I witnessed with pure wonder at another friend’s house long ago, for showing me how complex ideas could be expressed through quick, accessible symbols. A pipe ( | ) could be a hero; aliens could be pound signs (this predated the concept of a “hashtag,” natch); shapes could be made from hyphens, underscores, and slashes. The possibilities were nearly endless, and of course I never even scratched the surface of the truly amazing ways an artist with enough patience could leverage extended character sets.

Unfortunately the uncompiled code no longer exists, but these little programs were so hacked-together that I can still remember how they were built. Behold, the code for a single frame of BUNGEE:

CLS
PRINT
PRINT ^^^^^^^^^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^
PRINT         ^   SPLAT!!!!!
PRINT         ^   __
PRINT ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PRINT
SLEEP 1

It’s funny, when I first rediscovered these old compiled BAS files, I was first struck with a memory of some kind of super cool animation that I’d managed to pull off. Surely, even at just one frame per second, there was something, some tiny nugget, that foreshadowed the skills and instincts I’d go on to cobble into my rewarding career? Not so much. It turns out, what I was remembering was merely the satisfaction of completing an overwhelming effort. It was hard work forcing my will upon poor, unsuspecting QuickBASIC. And with my vision fogged by the sheer toil of it all, I had no idea how simplistic the results actually were.

I think that’s actually my favorite part about CARTOONZ!. They suck. They are an order of magnitude more lame than every subsequent effort I’d go on to make, both as an animator and as a coder. Beyond sucking, though, they were, unapologetically, what creativity accomplishes under constraints. It was a labor I committed to, with no acknowledgement before or after of the cavernous gap that existed between the art I was consuming and the art I was making. Of course now, both due to decades of experience and just being a jaded old guy, I live almost constantly on the bummer-side of the Gap, working feverishly to force even a rickety old rope bridge to span to the other side. But in re-watching CARTOONZ!, I sincerely hope that every young creative mind gets to have that period of unexamined abandon. At the time, I made CARTOONZ! because I wanted to do what my friend was doing, and I wanted to make animation. Now, I’m glad that I made CARTOONZ! because it can remind me that the Making part is allowed to be valuable even if the thing that is made truly sucks.

Read More
Artifacts Jared Flynn Artifacts Jared Flynn

In 1991, a world of anthropomorphic cats needed a hero.

… So I made dozens. What started with an innocent second-grade assignment, to think about two different animals and draw what it might look like if they were combined, became a years-long, nigh-pathological worldbuilding exercise.

… So I made dozens. What started with an innocent second-grade assignment, to think about two different animals and draw what it might look like if they were combined, became a years-long, nigh-pathological worldbuilding exercise. Batcat came first, followed by Catman, Cybocat, Scratch-Off, Ninjacat, Slapcat, and, of course, Supercat. It didn’t end with cats in costumes; soon Scratch-Off was sharing his love of gardening, Cybocat starred in a sprawling (by third-grader standards) plan for a cinematic video game, and Kitty Katt (certified genius in the mold of Peter Parker) was the subject of a somehow yet-to-be-produced stage play.

Said one fifth grader in 1994, “Jared’s going to grow up and marry cats.” Which was a silly thing to claim, as the milieu did not contemplate interspecies relationships even once; it was cats all the way down. I hope that through the great rear-view mirror of time and experience, that now-fortysomething understands how ridiculous they sounded.

Insofar as I can actually remember my “process” as an artist from ages 7-12, I believe I was certain all of these concepts were completely original. And yet with a fresh eye, almost every character, and even some compositions, were lovingly lifted from media influences. Scratch-Off was definitely a response to Bubsy; Cybocat was a G-rated Robocop; Slapcat was Mr. Fantastic; and I’m pretty sure that Kitty and his ripped-denim-clad band The Cats were an amalgam of any of the hair bands my parents played on the local classic rock radio station. Stories were mirrored almost beat-for-beat from Power Rangers and VR Troopers. Whole drawings responded to key art from Wolfenstein 3D and any number of Sierra’s point-and-click adventures.

There was a period, long after all this art was made but way before today, when I felt embarrassed or regretful about how imitative my artwork was. But revisiting these characters through the lens of being a dad to an eminently creative kiddo has brought all these old drawings into a new kind of focus. Good artists copy; great artists steal is a fun adage that’s often attributed to Pablo Picasso, and was subsequently copied and stolen by any number of people from T.S. Eliot to Steve Jobs, and there’s a wisdom there worth stealing.

As I watch my son build worlds in his supercharged imagination, a pattern emerges: new details almost always mirror stories and media he’s recently experienced. He created a race of hyper-intelligent birds, born after our family invested in a big full-color bird reference book and we started using Merlin to identify all the songs in our backyard. We find out how his birds teach their young in a big college, and descriptions of the school’s faculty map suspiciously over characters from Monsters University. The birds become militarized against the tide of human colonialism after conversations about the European colonization of North America. Following a trip to the Boston Tea Party Museum, they mount an ongoing conflict to claim their independence following the American Revolution’s playbook. Most recently, we got to see the first fully-rendered map of the civilization the birds built for themselves in the age before the human invasion, and it looks suspiciously like the maps I’ve shown him from The Lord of the Rings and the hexcrawl I’m developing in my Shadowdark campaign.

This seamless and shameless folding-in of new inspiration into the kiddo’s imagination-continuum is a great illustration of how we all work together to push art forward. For as long as a kid’s drive to create outpaces their context and experience, every doodle and story becomes a window into their journey of synthesizing new information. It’s no different for us grownups, and it was my son who called me out on precisely that fact: while sharing the fiction from my Shadowdark campaign with him recently, he pointed out that the writing sounded just like what he was used to hearing in Lord of the Rings. Without realizing it, my practice of reading LotR aloud to our family started to flavor my writing style. Guilty as charged!

Read More