More Adventures in 3D Printing

The D&D boardgames come with plastic miniatures. They’re not especially nice, but neither is anything else out there.

So, I started playing the D&D boardgames with my kids. The games are pretty good (I initially bought them as a way of getting a buttload of materials for playing regular D&D, but that went nowhere).

But, my game designer brain won’t shut down… I had already toyed with the idea of a card-based RPG system, but couldn’t quite get it working. My (minor) frustrations with the D&D games gave me an idea. I’ll get to that in another post.

Anyway, in a nutshell, D&D boardgames with miniatures led me to think about custom miniatures which led me (back) to HeroForge which led my to think about 3D printing, and thus I discovered that SLA (stereolithography) printers have suddenly gotten a lot cheaper and by all signs are actually good.

So, I bought a Voxelab (or maybe Voxellab? — they can’t make up their minds) Polaris resin printer for about $160 plus tax, and a couple of 500mL bottles of resin for about $15 apiece.

This all arrived on News Year’s Eve. Woohoo! Champagne and 3D printing!

The printer didn’t come with any resin, and the instructions make reference to items not included: e.g. a container to dip prints in denatured alcohol, denatured alcohol, and a curing box. I made do with old jars, ordinary 70% alcohol (more on this later; a costly mistake I think), and paper napkins and the initial results were amazing.

Setup is amazingly easy. You basically:

  1. Place it somewhere level(ish)
  2. Plug it in
  3. Pull out resin tray
  4. Place a sheet of paper over the spot the resin tray occupied
  5. Loosen two screws on the print head, allowing it to move
  6. Run the print head down until the paper is flattened
  7. Setting this as ZERO
  8. Raise the print head
  9. Replace the tray
  10. Pour in some resin (word of warning: it’s really hard to tell how much transparent resin you’ve poured in).

This would have been quicker if the instructions weren’t in broken English and were decently organized and/or had an index. Even so, not bad at all.

The software is provided on a USB stick, which is big enough to serve as a file transfer device (this printer doesn’t do WiFi, so you save models (in *.fdb format) using the included Chitubox (free) software.

Chitubox is a semi-nice program. The buttons are all non-standard, tiny, nearly indistinguishable, and have no tooltips. So that’s nice.

My single biggest frustration was figuring out how to import the profile (on the USB stick) into Chitubox (once installed). Turns out there’s a video that more-or-less explains the process on the stick.

To print a 3D model (or several):

  1. Export models as OBJ files. (Ideally a model should be “water-tight” and clean, but it’s very forgiving.)
  2. Import one or more obj files into Chitubox.
  3. Scale, rotate, position the models to taste.
  4. Go to the supports tab and click Add All.
  5. Go back to the first tab and click Slice. This may take a while
  6. Drag the slice slider (not to be confused with the view slider) up-and-down to look at the cross sections and check they seem correct. (The view slider shows you a quickly calculated cross-section of your model, the slice slider shows you the actual rendered cross-section that will be used to print a layer.)
  7. Save the model (as FDG) to a memory stick.
  8. Put the stick in the printer.
  9. On the front panel pick your model (a correctly saved file should display your model; ignore weird Mac hidden files and such) and press Play.
It’s definitely worth scanning through the layers after slicing to sanity check before spending hours printing something that makes no sense. One annoying mistake I’ve made is making hollows with no place for the fluid to drain (or rather making them in the wrong place).

Printing

Here’s the printer in action. The curved thing is the print platform—a solid hunk of aluminum—and it is bathing in transparent resin (you can see bubbles in the resin towards the top-left). After each layer is exposed, the head is pulled up 5mm (this is adjustable) which draws more resin under the print, and then lowered 0.5mm above its previous exposure position, and so on.

Printing is slow (but it’s dictated by the height of the print, not the volume, so you can print a bunch of miniatures in parallel just as quickly as you can print one). It’s printing your model 0.5mm (?) at a time (with antialiased voxels!—or maybe just pixels) and each for each layer, the model is lowered to 0.5mm above the glass plate (at the bottom of the resin chamber), exposed, then raised to allow fluid to seep in. Lather, rinse, repeat.

Each layer is being printed by shining a UV lamp through an LCD displaying the bitmap cross-section for that layer (as seen in step 6, above). That’s it! (The printer displays the layer being printed on its color touch screen.) Mechanically, this is much simpler than an FDM printer, and the quality of the output is dictated by the resolution of the LCD screen and the quality of the resin.

The printer is quiet compared to FDM (still, a pretty loud fan) and it doesn’t cause noticeable vibration (it’s only moving the head up and down with a screw drive).

When it’s done, it beeps and raises the print clear of the resin basin.

  1. Rinse it in alcohol
  2. Pull it out of the alcohol and let the alcohol drain
  3. Leave it to cure somewhere well-ventilated

So, how good are the results?

Fresh out of the printer, transparent prints look amazing. This is all covered in liquid resin—goop Gwyneth Powell might be proud of—probably not. Below the toroid you can see the support platform (from which the model hangs during printing.

It’s hard for me not to be hyperbolic and create unreasonable expectations, given my previous frustrations with FDM (fusion deposit modeling, or “robot glue guns” as I call them), but here goes.

This is the first inexpensive 3d printer that I have found not to be disappointing.

This is the first 3d printer I have used that produced a good model the first time I used it. (And, no, it wasn’t the demo model that came with the USB stick.)

This is my first print, 36h after it emerged from the resin. It is perfect. (The support platform looks nicer than anything I’ve seen out of an FSM printer). If you pixel peep you can see “sedimentary” layers in the print surface, but this is not reflected by the surface feeling rough. The only blemishes are tiny nubs where the supports were broken off.

I compare this to the first time I saw printed output from a laser printer, or the first time I used a good color flatbed scanner, or the first time I captured video from a broadcast quality camera with a broadcast quality capture card. In terms of output quality, this shit has arrived.

In a nutshell, the output is smooth (wet, transparent output almost looks like glass, but it becomes cloudy as it cures) and the prints feel rigid but a little flexible. The way I describe it is “somewhere between plastic army men and lego”. Prints feel about as durable as a nice plastic manufactured item of the same form (perhaps slightly nicer than the plastic D&D miniatures that sent me off on this tangent).

I should add that the printer estimates the cost of each print based on the volume of resin to be used and the cost of the resin. So far, my models have “cost” less than $0.25. But they’ve all been quite small. (But wait to find out about other consumable costs…)

Flies in the ointment

New printing method, new failure modes. This print of my omnidude model mid-run looks great at first glance, but turns out to have a defect—partially visible here (most of the right leg is missing, as is the back of the base. I believe the cause is deposits on the PEP film blocking uniform exposure or possibly the a portion of the print base failing to adhere to the head.

Let me begin by saying that most of this is a result of user error. I couldn’t get pure isopropyl alcohol on New Year’s Eve at 10pm and I wanted to play with my toy!

Let’s start with nasty chemicals—the resin smells bad, and is viscous, sticky, slimy, hard to clean off, and probably bad for you. One bottle of resin arrived having leaked a bit inside its container. The prints—perhaps because I’m not using pure alcohol and/or don’t have a proper “curing box”—are slightly tacky for hours after printing. Nevertheless, my first print has lost almost all its tackiness 36h or so since printing.

Recovering unused resin using the provided paper filter is horrible, and cleaning the tray is painful. But then there’s some really gnarly issues…

First, my second print had some odd, minor flaws in it, which I ascribed to my modeling, but turned out to be much nastier.

Next, we had a power failure while a print was in progress and the printer lost track of where it was. I tried to recalibrate by just moving the print head down and fiddling (rather than draining all the resin and cleaning everything and recalibrating properly, and so on, but it didn’t work.

My weasel character was one of the two figures in progress when the power failed. (Shown here atop a quarter and an old two pound coin for scale—this thing is tiny.) It shed a few layers from the back of its tail, and there’s that small blemish on the front of his abdomen (which I don’t see with my eyes). I added some very fine detail to the eyes (an indentation on his right (cyborg) eye, and a pupil on his left eye. The latter isn’t visible.
This profile shows the flawed fail, several layers of which sloughed off at a touch.

My first print after the power outage and my dodgy recalibration was a disaster. The model fell from its supports and became a nasty blob, lightly stuck to the PEP film at the bottom of the tray.

After draining and filtering as much resin as I could (and spilling a fair bit and cleaning that up—ugh!) I cleaned the tray and found little bits of solid resin stuck to the film all over. It looked to me like one stuck deposit had been the cause of missing volume in two of my prints.

One of the stubborn spots left over after my initial attempts at cleaning the resin tray screen.

“Fixing” this involved alcohol and careful scraping with the—included—plastic scraping tool, and then wiping away the alcohol and detritus and allowing it to air dry. The results looked pretty good, but on inspection the PEP screen is quite scratched up now.

So, with this in mind, I decided to track down a decent amount of pure isopropyl alcohol, replacement PEP film, and more and—I hope—better filter cones, and then I will try it again.

(These links are not an endorsement. I provide them because I found identifying suitable items on Amazon to be quite tricky—and getting them from China was going to be slow and quite exensive.)

To be continued…

Voldemort vs. Casmir vs. Every Asshat in the Seven Kingdoms — The Villain Problem

Here’s the tl;dr:

Please, HBO, don’t make a bunch of Game of Thrones spinoffs. I’m virtually certain they’ll suck. How about an adaptation of the Lyonesse trilogy? I’m guessing it would be dirt cheap to get the rights.

At its heart, Game of Thrones is vapid

As I watched a collection of “moments” compiled by HBO for prospective viewers of the final season of Game of Thrones it struck me how few of these “moments” had anything to do with characters anyone cares about, vs. the “white walkers” who have no discernible motivations and appear as little more than teasers and shock-vignettes. If you subtract the zombie army and Bran’s entire storyline, what’s really left?

In a nut, Game of Thrones is a story about a bunch of people viciously squabbling over who gets to preside over famine and death in an inevitable mini-ice-age — “whose skeleton sits on the Iron Throne”, as Ser Davos puts it — instead of, say, stacking firewood and salting meat. When Jon finally points this out, he is met with disbelief, despite the fact that this has all happened before and is well-documented. Heck, there’s even a standing army devoted to defending against it — of which Jon was commander — but it apparently misplaced its instruction manual.

There are lots of unpleasant people doing horrible things, but in the end none of that matters because there’s an army of zombie boogeymen to contend with, and the fact that none of the interesting (but pointless) squabbling that has filled the last six seasons actually matters much, and HBO wants us to know that we need to remember a few tantalizing glimpses of “white walkers” who have said almost nothing and whose motives have never been explored (nor would they likely stand up to any scrutiny).

I started this piece before the premiere of season 7. As I revise this post before posting it, I’ve just watched the third episode of the final season, The Queen’s Justice. So far, there has been little of consequence in the first three episodes of the final season beyond the use of plot devices to tie off loose ends and weaken Daenerys’s hand for purposes of evening her odds against Circe. In essence, so far Season 7 has been The Euron Show. Euron, a leeringly obvious plot device, who since usurping his niece’s throne perhaps a year ago has assembled the “largest fleet in the world” — on desolate islands with no obvious source of timber, which just goes to show how resourceful he is — and then with stunning intelligence (and we assume favorable winds) fights and wins two massive engagements against Daenerys’s navies (and held a victory procession in King’s Landing) in the space of about two weeks.

Wait a second: shall we pause a moment to recollect that Daenerys is served by Tyrion and “The Spider” — the latter commanding a global spy network — 2/3 of the brains in the Seven Kingdoms (the missing third being Littlefinger) — and yet she seems to have no clue what her enemies are up to nor how to avoid tipping her hand to them (apparently the mysteriously empty castle she walked into with no thought to security is full of spies).

Outside of The Euron Show, Sam discovers a mountain of “dragon glass” and cures Mormont, allowing him back in the game. And Jon finally meets Daenerys and discovers that she’s an idiot. (By the way, do you find it a bit annoying that Jon can sail a single ship from the far north to the far south between episodes, but Daenerys sends two fleets which arrive two weeks apart?) And horrible things are done to minor characters to show how mean various mean people are.

Where’s Tom Riddle when we need him?

Perhaps the best major villain in a fantasy blockbuster is Tom Riddle, a.k.a. Voldemort, a.k.a. “he who must not be named”, if solely because he has two qualities utterly lacking in most major villains these days, i.e. a driving motivation (fear of death), and a goal that at least makes some sense both to him and his followers (run the world, put wizards in charge and enslave everyone else).

It all makes me think fondly of Spike, in Buffy the Vampire Slayer, who switches sides from Evil to Good because the Evil team wants to destroy the world, and he “quite likes the world”.

I recently finished reading the entire Harry Potter series to my twins, and it was wonderful. As a child I was so proud to read silently “in my head”; to rediscover the joy of reading as a performance later in life has been a revelation. I think that books are actually better read aloud, but it’s quite an effort to do all that reading.

Also, it’s hard to come up with voices and keep them straight (so I usually don’t bother, but the girls prefer it when I do).

Reading aloud also exposes a lot of weaknesses in a writer that reading quietly in one’s head conceals — e.g. I find Rowling to write dialog very poorly. I often paraphrase her characters for various reasons, but worse I find that she provides the wrong information in the wrong order. E.g. I’m often fooled into thinking person A is speaking when it’s person C (so I find myself having read in the wrong voice), or being told a character is speaking in a particular way too late to do any good (Hermione speaks “shrilly” all the time, a clumsy word and a dubious adverb for a feminist to constantly apply to her best female character).

Even so, my admiration for J.K. Rowling is considerably greater for having read these books aloud. For me, to read aloud as a performance is to pay much closer attention to each word than I ever do when reading to myself, and to feel the rhythm of dialog, and have to actively imagine the emotional takes of each character all the time. I notice and remember many things I missed on previous readings (or reading in this case, since I only ever read each book once before). It’s clear to me that Rowling planned the series carefully and well. I do have a lot of issues with it, but I have a lot of issues with everything. After all, I’m writing a critique of the current holy of holies, Game of Thrones.

Voldemort is, basically, Hitler

Voldemort doesn’t get to kill that many people, but in principle he is a ruthless race supremacist who plans to kill and/or enslave the “inferior” races, and he gathers about him fellow race-supremacists and opportunists. It’s not a subtle construct, but Hitler has about him a great deal more plausibility than most fantasy villains since, well, he actually existed. To understand why people might follow someone like Hitler, one can look at history books, or psychological research such as Milgram’s famous experiment. Hitler didn’t need to use mind control, he followed a well-established despotic populist playbook — presiding over a large scale criminal enterprise with all the usual systems of loyalty and reward. He offered a carrot and a stick. Ordinary German businessmen profited from slave labor (as do businessmen in the South, who use prison labor today, and as does the private prison industry from Trump’s war on immigration).

Even so, Voldemort exhibits some classic villainous behavior that is quite childish. E.g. I know of no evidence that Hitler was personally sadistic. He hired sadists. He created an environment where sadists were able to thrive. He didn’t go around gleefully torturing and murdering people. Indeed, Hitler portrayed himself and saw himself as a good-natured family man (odd though his family was). He understood the value of PR.

My single biggest disappointment with the Harry Potter books is that the resolution depends on only the least of Voldemort’s core failings (he doesn’t understand “love” — awwww) and not his others (e.g. he’s a sociopathic race-supremacist). Indeed, even in the final battle when the House Elves join the fray, it is as comic relief (stabbing people in the ankles with kitchen knives) and ignores their vastly superior magical powers (how about apparating Death Eaters into volcanoes?)

All through the seventh book I couldn’t stop thinking of the climax of Ralph Bakshi’s Wizards where the gnome-like hero faces down his magically overwhelming brother and shows him “a trick mom taught me when you weren’t around”. Harry and Hermione were both raised as muggles, and yet never use their knowledge of the muggle world to significant advantage, despite the fact that muggles have powers superior in most ways to wizard magic (e.g. cell phones, night vision goggles, 9mm handguns). Indeed, zero attention is made to “Muggle Studies” beyond its teacher being one of Voldemort’s gratuitous victims.

Scouring the countryside for evil deeds to commit

There are many wonderful and unique things about Lyonesse as a fantasy epic, but perhaps the single greatest is the central villain, Casmir. (Note that Lyonesse has quite a few antagonists, and of them Casmir is hardly the most “evil”, but none of the villains is as cartoonishly implausible as pretty much every bad guy in Game of Thrones.)

Casmir is an ambitious, calculating, and ruthless medieval monarch. That’s basically it. He’s not a sadist. He’s not a racist. He’s definitely not a religious fanatic. When he does do nasty things, he does it on the down-low because he wants to be loved and feared. Like Voldemort, he’s not a touchy-feely kind of guy, but he’s not even devoid of conscience (e.g. he only carries out unjust sentences to avoid being seen as weak, and he recognizes the truth of accusations against him for his mistreatment of his daughter, Suldrun). He is a competent and diligent ruler (because he thinks it’s important to have the good opinion of his subjects). Indeed, as a ruler he’s distinctly preferable to virtually all of his rivals.

Casmir seems a villain chiefly because of his relationship with his daughter, Suldrun, and to a lesser extent because he has a tendency to quietly murder his former spies (both to save money and avoid risk). He has many admirable traits and a dry sense of humor. In essence, to simply be a competent medieval monarch you need to do a lot of things that seem pretty evil by today’s standards, and he does them with no great gusto. (Aillas, the main protagonist, executes a lot of people, and Shimrod, one of his friends, tortures a man to death.) If we knew nothing of Suldrun, and nothing behind the scenes of Casmir’s reign, we might consider him a capable and ambitious man who had a lot of bad luck. Similarly, if we were to judge him by the people he surrounds himself with, he is not a terrible person.

Furthermore, we can fully understand why people would choose to support Casmir and risk their lives on his behalf, we can picture a world in which he is victorious, we can see why the common people might not care whether he wins or loses, and yet he is an entirely satisfying villain. Not only is this more morally sophisticated than most fantasy novels, it’s more morally sophisticated than most contemporary dramas.

Let’s do a great epic fantasy with a great villain

There are many reasons I prefer the Lyonesse Trilogy to the Song of Fire and Ice. To start with, it’s shorter and much faster-paced. The Elder Isles seem like a place people would generally enjoy living in. The plot is clever but not incomprehensible and the cast of characters large but not unmanageable. The military strategizing does not dominate the story, but the handling of strategy and tactics is both deft and on point. (The competent generals actually care about lines of supply and reconnaissance. Their navies, for example, are not constantly taken unawares.) It also manages to blend historical allusion (it’s set on an archipelago in the Atlantic that has sunk beneath the ocean) with fairytale qualities and brutally plausible pagan practices.

And, not infrequently, it’s also very funny.

Lyonesse is not without flaws — the third book feels rushed (Vance clearly wanted it done with and had worked out the plot arc well in advance), There’s casual and unnecessary homophobia, and there’s no warrior queen in the first book (Ehirme and Glyneth would need to be beefed up, Glyneth could be made a couple of years older, Yane could just as easily be a woman). Vance’s dialog is often hilarious, but over-stylized for some tastes. Nothing a good TV adaptation can’t fix.

But the reliance on faceless, inexplicably and implacably evil major villains who just want to destroy the world, and a motley supporting cast of pointlessly sadistic lesser villains, is the single catastrophic failing of Game of Thrones. I’ll watch it to the end, but seriously. Let’s have a story with actual sides.