there is a small pokédex here

Hey, I am Eevee and this is veekun and it's a Pokédex. You probably want to type into that box in the top right, or maybe just start browsing.

Other stuff of interest:


CoroCoro has revealed a new Mythical Pokémon, Magiana.
This month's issue of CoroCoro Comic will feature the new Pokémon Magiana. A silhouette of the new Pokémon is featured on cover.
Four new dub titles for Pokémon the Series: XYZ have been revealed by a TV guide, while seven have been leaked.
Pokémon Mystery Dungeon: Red Rescue Team and Blue Rescue Team are being released for the Wii U Virtual Console in Europe on Feb. 11 and in Australia on Feb. 12.

February’s theme is writing, and the major project is a book.

  • spline: Styled Mel’s personal site and put it in production. Did a lot of last-second oh-god-we’re-in-production-and-nothing-works fixes, like throwing in Disqus and GA and fixing permissions and whatnot.

  • blog: I made pretzels! Also I wrote about making pretzels. And about writing. And like two-thirds of a post about UI changes.

  • art: The usual. Also hourly comic day.

  • doom: Some more tinkerting. Made a few weapons that are pretty sweet. Also made a little start of a ZDoom editing demo map.

2016-02-01 21:37:00

This month Vladimir brings us:

Er, hmm, maybe do a piece on what your writing process is like (because yay meta).

Indeed. This could only be more meta if I described the process I used for writing this article specifically.

So here’s the process I used for writing this article specifically.

I, uh, can’t imagine this will be particularly useful to anyone else. Remember writing essays and reports for English class in high school? Remember being taught about outlining and notecards and all those important organizational tricks? Yeah, I don’t do any of that. I make a catastrophic mess, pick out the good bits, and stitch them together. Instead of treating any of the following as inspiration (or, even worse, as advice!), consider picking up a copy of Stephen King’s On Writing. It’s been sitting unread on my desk for half a year, but I’m told it’s very good.

But if you insist, I suppose there are three general phases.


This is how an idea gets from an inkling to “maybe I should actually write about this”. It’s like letting the dough rise — an idea has to expand outwards in multiple directions before I can even know what I want to say about it. It’s easy to think “let’s write about making a Doom level”, but what does that involve? What would a complete newcomer need to know? What are the absolute basics to make a function level, or a fun level? How advanced should this get? How do I split this particular post into three parts?

Marination can take a few different forms. Or maybe “speeds” is a better description. Some ideas resonate so strongly that they stick in my head for days and expand so rapidly that I have thoughts coming out my eyeballs. That’s why a lot of posts expand on things I’ve recently been tweeting about — I had so much to say in such a short amount of time that I couldn’t help but make a flurry of tweets, and then I still had so much left over that I filled a post with it.

Other ideas are far more mellow, but happen to resurface every so often over the course of weeks or months. I’ll be reminded of it by something in passing, think about it in the shower, maybe make a single vague tweet, and then forget about it again for a while.

I probably won’t know everything I want to write at this point. The goal is to map out the general shape of the idea and the places it could lead. Landmarks.

A secondary goal is to get myself interested enough that I can write about it. My attention span can be pretty short at times; you might even say I have some kind of deficit of attention. The worst thing that can happen is that I start writing and completely run out of steam halfway through, with no inspiration for where to go next and not enough interest to think about it seriously. That happened with the git post from April 2015: it was actually based on ideas in a draft I started writing in May 2012, but I was never very happy with it, and it didn’t get anywhere until I came back much later and started from scratch. Or take my trip to Japan over the Christmas of 2012, which I’d intended to write about from the very beginning. It never got anywhere at all, and eventually I couldn’t remember the trip in enough detail to be confident about writing it.

This isn’t unique to me, of course. One of the stranger parts of creative work is how much bad groundwork is created and thrown away, never to be seen by the audience. Open source programming goes out of its way to preserve some of this old work in the form of commit history. It’s a stark contrast from writing or drawing, where the original outlines or notes or sketch layers or failed attempts to even get started are quietly left out, and all anyone sees is the final product.


Once I’ve got a general idea of what I want to explore, I need to flesh it out into something more concrete. Usually this means making an outline.

I hesitate to call them “outlines”, since that conjures the strictly-structured high school thing no one actually does. What I make is more like a… linearized brainstorm? Ideas can extend in many different directions, but writing is generally read linearly from start to finish. One of the tricky parts is arranging those ideas in a sensible one-dimensional order, and an outline is a middle ground where I start to figure this out.

Uh, let me just show you. I just write Markdown-formatted lists in vim. The very early stages of the first Doom post might have looked something like this:

- installation
    - need doom first; steam (anywhere else?)
    - need zdoom (gzdoom?  nightlies?)
        - should try zdoom out with a fresh config to see what sucks on first run
        - need path to iwad!  where does steam install it?  where is zdoom.ini on windows?
    - install slade
        - fresh config here too
- baby steps
    - make a room
    - exit switch
    - need a player 1
    - slade modes, types of objects
    - texturing, 3d mode
    - pegging ugh
        - doors, windows

- monsters and balance
    - ammo and health too
- nonlinearity
    - metroid backtracking vs true

There’s a hierarchy here, but it’s pretty fluid, and haphazard, and intentionally minimal. I write down just barely enough to understand what I was thinking when I come back to it later; otherwise it risks becoming long and dense and difficult to scan. (Occasionally I’m a little too terse and have no idea what the hell I’m trying to tell myself.) The top level of the hierarchy is usually a handful of rough categories, which may end up as headings in a final article, but any further nesting just indicates “(parent) made me think of (child)”.

Sometimes I’ll skip the outline if I already have something that functions as reminders and a linearizer. For that last post about making pretzels, the recipe gave a natural ordering, and the photos were deliberately taken to tell the story of what I’d done.

Observe that the example above actually has two outlines, separated by a blank line. The bottom part isn’t meant to be part of the article structure; rather, it’s a set of “floating” ideas. They may be finished, or they may be waiting further brainstorming, but either way I haven’t figured out where to anchor them within a linear narrative. That can be the hardest part, even with my naturally-meandering writing style — I can end up with a ton of ideas that spread out in many different directions, and it can be a struggle to thread them together in a way that makes sense when read from start to finish. The Doom posts actually started out as nothing but floating nodes, and I only started arranging them once I’d brainstormed enough ideas.

Or… occasionally I go the complete opposite direction for this phase! If an idea has a natural ordered progression and not much hierarchy, then instead of taking notes in the form of an outline, I’ll write scraps of sentences separated by varying amounts of vertical whitespace (to illustrate the “distance” between thoughts). It looks kinda like I’m tweeting at myself. This way, I can get down an extremely rough version of an article while everything’s still in my head.

That’s even the process I used for this post:

another process, which i'm using for this one and used for some of the doom posts, is to just write out sentences and fragments
lowercase, no ending punctuation, like i'm tweeting, so it's obvious that it's not done
kind of a halfway point between an outline and a post, and i can put headings and whatnot to make it more outlineish
in my head i jump around a lot between things i want to say (which may be obvious if you've read much of my writing) and this lets me get some of that out very...  naturally?  in a way that gels with me i guess
it's easy to hop around when i don't have to worry about making it fit with what's already there

and then when i've run dry on new things to say i start to stitch them together, and often find more stuff in the gaps

sometimes stuff gets rearranged on the fly, or i'll just start writing from scratch and cut+paste from the bits i've written already

Er, I guess I just gave away the next couple paragraphs. But yes, that’s another advantage of the rough approach. I follow ideas in a… nonlinear way, and it’s much easier to fit new thoughts into existing prose if I only have to worry about the location, not the formatting or connective tissue.

I did this for the first Doom post too, after I’d written an outline. (Well. Not so much “written an outline” as produced dozens of scraps of floating ideas and become overwhelmed enough by them that I didn’t want to deal with them any more.) It was too massive to deal with on its own, so I just started writing rough sentences, figuring out what the initial section should look like. In that case, the rough sentences were fleshed-out enough that I was able to run through and lightly edit them into being finished text. In the case of this article, I’m rewriting from scratch, but using the scrawl as a guide.


And then I write the article.

Sorry. I know that’s about as helpful as “draw the rest of the fucking owl“, but that’s how it works. (It’s also how art works!) Once I’ve exhausted myself of bullet points (or just become exhausted with writing down bullet points), I start writing from the beginning and keep going until I reach the end. Or give up, I suppose.

I don’t usually do all that much editing, either, at least not in the form of rearranging sentences and whatnot. That was all supposed to be done by now. If I change anything, chances are I’m going to just completely rewrite several paragraphs. Making minor edits to text after the fact always feels like a huge slog. I have to reattach the new text to the surrounding old text, but the old text was a single flowing thought. Unless I’m very careful, jamming something new in reads like scar tissue.

It’s kind of funny, because Jayson just sits down and writes pages upon pages of fiction in one sitting, and I’m always flabbergasted. Like me, he doesn’t do much editing (he actually does this in a physical notebook), and if anything needs more than some cosmetic touches then he’ll probably throw it out and rewrite it. I’ve only tried writing fiction a few times, but I absolutely cannot do that yet. I just don’t know all the details I’ll want to express ahead of time, and I’ll only think of some of them much later. I suppose that’s where experience comes in — I don’t yet know how to think about writing fiction, and I can’t do it in a natural flowing way until I figure that out.

So if you’re hoping for some insightful advice, that’s all I’ve really got: write stuff until you learn how to think about writing. It’s the same way you learn anything. No one can tell you how to write, any more than you can be told how to ride a bike. It’s a new way to use your body, and you just have to keep doing it until you’ve developed a mapping between the way you think and the results you want.

The most important part for me is really passion about what I’m writing, which is why so many ideas die at the marination stage. Writing takes effort, and there’s a tangible friction when trying to stretch some half-baked cloud of thoughts into a single strand of human language. If I’m just not feeling it, it’s probably not going to happen.

Yeah, uh, that’s all I’ve got, really. Hope that was… interesting?

2016-01-31 20:04:00

@amazingant has bought a day of my time, and requested that I spend it on:

Cook something! Don’t make one of those meal-in-a-box (or can) things (e.g. hamburger helper, “manwich” sandwiches, etc.), no frozen dinners, and heating something with the stove or oven must be involved.

Don’t worry, I do know what “cook” means! It includes baking, right? I’m going to say it includes baking.

I should mention that I’m not a complete stranger to cooking. I’ve converted a few things from cold to hot. I wouldn’t claim to be particularly good at it, but I can at least fumble my way through a kitchen. Plus I’ve watched a bunch of Food Network while out of town and trapped in a hotel room by myself.

I also have a secret weapon in the form of Mel’s husband, Jayson, who actually knows how to cook. Conveniently, that means we also have a moderately well-stocked kitchen.

Picking a thing

The obvious place to look for inspiration was Alton Brown, a food nerd I would trust with my life, if for some reason I were in a life-or-death situation that could only be escaped by making crepes with a coathanger.

I pretty easily found this list of the most popular recipes from Good Eats, and glanced through for some baked goods. That still left a lot of options: french toast, sugar cookies, chewy chocolate chip cookies, soft pretzels, granola, tres leche cake, cinnamon rolls, pumpkin bread, cocoa brownies, …

I’ve made his cookies before. Actually, I think cookies and cake are the only things I’ve baked before, and they’re both pretty easy. You put stuff in a bowl, stir it, and put it in the oven. Given that someone’s paying me to do this, that seems a little too easy. So I filtered those options down to those listed as “intermediate” difficulty: soft pretzels, tres leche cake, and cinnamon rolls.

Soft pretzels or cinnamon rolls? I love you both so much. How can I possibly choose?

Okay well the cinnamon rolls involve waiting overnight, and I don’t have that kind of time, so let’s do the pretzels. If I could have only one baked-goods-related superpower, I would be pretty okay with the ability to summon soft pretzels whenever I please.

Making dough

Per the recipe:

Combine the water, sugar and kosher salt in the bowl of a stand mixer and sprinkle the yeast on top. Allow to sit for 5 minutes or until the mixture begins to foam. Add the flour and butter and, using the dough hook attachment, mix on low speed until well combined.

The butter needs melting first. I threw a measuring cup with the 1½ cups of water and a smaller measuring cup with half a stick of butter in the microwave, and nuked them for a minute on high, a time I completely pulled out of my ass.

Jayson informed me that putting yeast on top of warm water and waiting for it to foam is called “proofing“, and that I could skip that step, because we have magical instant yeast that doesn’t need to be proofed. Nice. I’m kind of sad that I had to ruin this amazing vacuum-sealed brick of yeast, though.

We've had this for ages, and I destroyed it.

I measured out 22 oz of flour with our teeny scale, like a boss. Weighing flour is great and I love it. Atop that went the kosher salt, sugar, water, and butter.

Here are some exciting photos of this process. In the background you can see a box of Hamburger Helper™, plotting its revenge for being explicitly disqualified from this quest.

I love our comically massive bag of flour. Kosher salt, so named because it doesn't contain any bacon. This sugar looks slightly suspicious because it's organic, I guess? How appetizing.

At this point, it already smelled like pretzels!

So, ah. Now I ran into a slight problem. Alton Brown assumes I have a stand mixer. I do not have a stand mixer. I’m not sure I’ve ever known anyone who has a stand mixer. Those things are surprisingly expensive for what boils down to a whisk attached to a little motor.

What I do have is a wooden spoon. And legs. So I became the stand mixer.

Stirring... More stirring...

Eventually I hit the point where the spoon could stand in the dough under its own power, so I had to put my phone down for a bit and finish mixing with my bare hands.

Starting to look like something... Hey, there we go.

The hard part

Cool! Let’s see what’s up next.

Change to medium speed and knead until the dough is smooth and pulls away from the side of the bowl, approximately 4 to 5 minutes.

Ah, fuck. Guess I have to knead by hand as well. Jayson tells me manual kneading works as follows:

  1. Get a big lump of dough.
  2. Flatten it out.
  3. Fold it in half.
  4. Repeat. Forever.

Big ol' lump of dough. Flattened out. Folding it over. Mashing it back down. About halfway there, I think?  It's so hard to tell.

The object of this exercise is, I believe, something like a taffy pull: you break some of the bonds in the dough to make it softer and stretchier.

This was so hard. Jayson estimated it would take ten to fifteen minutes; I ended up spending twenty. At five minutes I was feeling a bit warm; at fifteen minutes I was starting to sweat; at twenty minutes I just had to stop, and found out my wrists were incredibly sore.

I’m still not even sure if I did it for long enough; it’s hard to gauge how smooth the dough is when the texture is changing so gradually over that stretch of time. Around twelve minutes, Jayson pointed out that it was still breaking when bent, so I guess that’s a thing to watch out for. Or, you know, just go until you physically can’t go any more.

Also, Anise came to help.

Unheard: Sorry, babe, but you can't come up here right now.

With that done:

Remove the dough from the bowl, clean the bowl and then oil it well with vegetable oil. Return the dough to the bowl, cover with plastic wrap and sit in a warm place for approximately 50 to 55 minutes or until the dough has doubled in size.

Phew, a breather.

Goodnight, sweet prince.

A curious quirk of Food Network’s Good Eats-based recipes is that they tend to be completely stripped of Alton’s cute kitchen tricks. You can watch the actual clip on the recipe page, if you’re willing to stomach a twenty-second ad for fish sticks or whatever. Alton covers the bowl with a damp towel, but the recipe says to use plastic wrap.

I mention this only because I liked the towel idea better, but I forgot the “damp” part, and just left my dough covered with a dry towel. Apparently you’re not supposed to do that, because it dries the dough out. Oops. It wasn’t too bad — just the top surface was a little dry rather than moist and sticky. I mixed it back together and it seemed to be fine.

After the break

Preheat the oven to 450 degrees F. Line 2 half-sheet pans with parchment paper and lightly brush with the vegetable oil. Set aside.

Sure thing. We have two sheet pans that have, er, been through a lot. But hey, that’s what the parchment paper is for, right?

They've seen better days.

Bring the 10 cups of water and the baking soda to a rolling boil in an 8-quart saucepan or roasting pan.

This is for giving the pretzels a basic bath, to… do some science… to their outer surface. The baking soda isn’t even a real ingredient, so it doesn’t matter exactly how much you have, but I measured it obsessively anyway. And the water too.

Look, okay, when Alton Brown tells you to use ten cups of water, you use ten cups of water. (Admittedly, I’m the kind of person who sees “6 to 8 minutes” and always goes for exactly 7 minutes.)

Also, I will need a spatula later, for recovering the pretzels from their bath. I couldn’t find a big pretzel-sized spatula, but I did find this sweet griddle spatula, so we’ll go with that.

I wish I knew how to measure anything without making a mess. Armed and dangerous.

It works pretty well as a dough… cutter… thing, too.

I feel that this is in the spirit of Good Eats.

Alright, so, now I have to actually make some pretzels.

In the meantime, turn the dough out onto a slightly oiled work surface and divide into 8 equal pieces. Roll out each piece of dough into a 24-inch rope. Make a U-shape with the rope, holding the ends of the rope, cross them over each other and press onto the bottom of the U in order to form the shape of a pretzel. Place onto the parchment-lined half sheet pan.

This sounds easy, and Alton Brown makes it look easy, but it took me a few pretzels to figure out how to do the rolling. It’s actually deceptively hard! You have to keep pressure applied at the right angle to squash the dough out the whole time without making it slide across the countertop, and you have to move your hands gradually outwards to get that excess dough to form a rope. This is much harder if your wrists are still sore from pounding dough by hand an hour earlier, too.

The first rope drove me up the wall for a while because it just would not get any longer than 18 or so inches. Several of the others ended up with big lumps in the middle or at one end that I had to roll out. I can’t believe none of my Silly Putty skills transferred over.

Eventually I succeeded in producing eight pretzel shapes.

Risen dough. Weighing out one-eighth of the dough. Using a paper towel as a length reference — it's eleven inches long. A fully-formed pretzel! Eight fully-formed pretzels!

Final stretch

Place the pretzels into the boiling water, 1 by 1, for 30 seconds. Remove them from the water using a large flat spatula.

This was, shockingly, the most difficult part — as measured by the number of ways I screwed it up.

The first problem I had, which is only obvious in retrospect by comparing the photos, is that I set the water boiling before I started rolling the dough. That would’ve been fine, but rolling the dough took ages, and a lot of the water boiled away. Oops.

That still wouldn’t have been a problem, except that the water level was so low that I had trouble getting the pretzels submerged on the spatula, and they were sticky enough that they wouldn’t come off of it on their own! As a result, the first couple pretzels lingered in the bath for much longer than thirty seconds while I strugged to get them to let go. After those, it finally occurred to me to add more water. But I also added more baking soda to match, not realizing just how much of the original water had boiled away, which is probably why several pretzels ended up with a lot of tiny baking soda pebbles stuck to them.

Oh, well. I don’t think any of this had any impact on the pretzels.

Dunking one pretzel. Pretzel in the bathtub. What a difference the bath makes! All bathed.

So, so close…

Return to the half sheet pan, brush the top of each pretzel with the beaten egg yolk and water mixture and sprinkle with the pretzel salt.

We don’t have pretzel salt, and our grocery store doesn’t have pretzel salt, and I don’t know where the hell you find pretzel salt. I just used some more kosher salt instead. You can’t see it very well in the photo, but whatever, salt is salt.

Egged and salted.

Now they’re ready for the oven!


They came out beautifully. The salt was much more visible after they baked, too.


One teensy error: I put them a little too close together in the oven, and the pretzels in the lower tray were (of course) a little pale on top. I left them in for an extra minute or two, and they ended up a touch dark on the bottom.

But they are still absolutely fucking delicious.

Yes. I don't believe in tainting pretzels with dips or other such nonsense.

This is a pretty cool thing to have done. In all it took three and a half hours from start to finish, almost twice the time the recipe claims. Worth the effort, I think, but I miiight keep an eye out for a stand mixer before trying this again.

I got paid to make and eat my own pretzels, though, and that’s pretty cool! Please pay me to make myself a cheesecake next.

January’s theme is web dev, and the major project is spline, the thing that runs Floraverse.

I had a lot of stuff to do that I sort of left to the very last minute, as I am wont to do, so I’ve been rushing to actually do some of it.

  • art: The usual. Bit lazier with them this week, since I’ve been busy with not-art, but now I miss it!

  • spline: Got image embedding working in the blog editor. Cleaned up a few places I was writing values into JavaScript in templates. Vendored archetype into a submodule, rather than hardcoding (!) a relative path to it. Migrated the clumsy generated Pyramid script to a CLI you can just run with -m, and added a command for creating a new user manually. Added front-page support to the blog.

  • SLADE: Submitted a pull request full of some old papercuts. Finished a branch that fixes and extends the Boom generalized labels for most specials’ speed args. Fixed one or two new papercuts.

  • doom: Sifted through a bunch of Realm 667 resources looking for some neat gems. Toyed with weapons and powerups and monsters, with a few interesting results. Eventually I’d like to sit down and actually make a map, but this is the kind of thing I can do for an hour or two, and it’s interesting to try balancing extensions to the vanilla gameplay.

  • quixe: I read about Lectrote, Andrew Plotkin’s IF interpreter that just bundles Quixe with a Chrome renderer, the same way Atom works. I’m not a huge fan of this approach usually, but IF requires support for a few layout tricks that are most easily accomplished with an HTML renderer anyway, so it makes some sense. Anyway, the post mentions that one of the concerns is speed, so I was inspired to go optimization-hunting, and I found an improvement of about 10% across the board. My benchmark story (Counterfeit Monkey by Emily Short, which is absolutely massive and does a ton of work at startup) still takes more than ten seconds just to load, but this is a vast improvement over the thirty seconds it took when I first started hacking on Quixe.

  • twitter: I improved my bot @flareon_favbots a little — it now reports offenders for spam, and makes an effort to tweet more than just when it’s first run. It’s blocked another hundred or so fav-spammers in the last few days!

  • veekun: Ported the CLI to argparse; previously it was optparse plus a lot of manual mucking about. Also started on a stub of a search interface built right into the pokedex library.

  • book: Started taking serious notes on a book about computer stuff.

  • blog: Started writing a post about, ah, writing.

  • flora: Created a stub of a repo for Mel’s personal site.

Hey, that’s not a bad haul. Still more to do, as always, but I’m making a dent and finally have some momentum back.

January’s theme is web dev, and the major project is spline, the thing that runs Floraverse.

I’m rapidly discovering that I’m just tired of web dev.

  • art: The usual. Also drew a new avatar, which I will probably be redrawing after some feedback.

  • Mario Maker: Finished and published The Works.

  • spline: Made some tiny inroads on getting CKEditor to work with reStructuredText instead of HTML, then realized what a mountain of work it was going to be to make anything non-trivial work, and totally gave up. Settled on storing HTML for now, and got the basic stub of a blog working for Mel.

  • meatspace: Spent a whole day rearranging furniture — Mel’s desk is now in the spare room, and my desk has a lot more breathing room.

  • blog: Wrote a birthday post.

  • tech support: Helped a friend with some tech stuff and inadvertently discovered the most infamously ornery project owner I have ever seen.

  • Runed Awakening: Updated to work with the latest Inform 7 release, including hacking around a segfault with some bundled extensions (!). Drew another experimental item illustration, but this time with pixels. Not sure what I prefer yet.

Eevee grew to level 29! Like a week and a half ago.

Wow, what a year.

  • I finally, seriously, started learning to draw. I went from this on Jan 1 to this on Dec 31. A lot of people have told me this is amazing progress, and I believe them, but it’s sure weird to hear. I spent 28 years not thinking I was terribly good at anything artistic, and while I know a lot of amazing artists, pretty much all of them started before high school. Our mythos is full of that kind of thing too — here’s Mozart, isn’t he amazing, he was playing the piano far better than you can ever dream to when he was six years old. There aren’t too many inspiring tales of people who abruptly picked up a new and completely different skill around age 30. Maybe I can be one?

  • I left my job at Yelp seven months ago, intending not to work in the tech industry again. So far, so good! I thought by the end of the year I’d have come up with something I could actually sell, but I haven’t yet. I’m still afloat, though, and meanwhile trying to get a book and/or game actually finished.

  • I paid off our house? That’s pretty cool? Damn?

  • I started a Patreon — at first experimentally, but now as a serious income source. It’s definitely forced me to write a lot more, since, that’s the whole idea. I’ve gone from a mere 6 posts in 2014 to 25 last year, not even counting the dev log. Some of them were even kind of popular! Sometimes not for good reasons.

    I put a good bit of effort into sprucing up this site, too, and it’s gradually turning into an actual little personal site. Two years ago it was just a veekun subdomain and had nothing but a blog. How far we’ve come!

  • I dipped a toe a little more seriously into game development. Only a little. I tried out Godot and had fun making a stub of a tiny platformer. My incredible text adventure, Runed Awakening, has gotten some serious revamping and is coming along steadily. I made a bunch of Mario levels, partly to experiment with design concepts and how to make spaces that feel like something, and partly to actually finish and release some small things. I wrote about design some in the second part of my Doom mapping series. I worked on some Doom mapping of my own, but kept getting distracted by fixing a bunch of SLADE papercuts.

  • I released camel, a better serialization library for Python. I have absolutely no idea how many people are using it. But it doesn’t really matter — the real goal there was just to have something to show for my efforts for once, since I put a disproportionate amount of time into patches and experiments. Still feels good to think about now.

  • Spline has made steady progress; it’s not ready for (other people’s) primetime yet, but it’s getting less hardcoded and more understandable all the time. I don’t have any strong goals for it beyond “do the stuff Mel needs”, but it’s nice to see it drifting in the general direction of becoming a solid project. The Floraverse site is definitely much nicer than it was a year ago, and the visual novel engine it uses was basically written all this past year.

  • I wrote an article for Vox, which was cool, except that without the context it kind of made me sound like a huge asshole, which was less cool.

  • veekun got some attention, but not too much to actually show for it. I’m still tinkering with the next generation of the site from time to time, and I’m moving in the direction of having scripts that parse everything from each game individually into a known canonical format. I wrote most of such a script for OR/AS, and added the resulting data to current veekun, but I never finished the output format bit and it’s languished a bit since then.

Let’s see what I said I wanted to do last year

  • Write more. Success!

  • Do a bit more with this domain. Success! Could probably do more, but hey.

  • Finish a game. Not so much. Half done?

  • Write a book. I started on a couple, but not really anywhere near publishable yet.

  • Make money. Ahem, well. I do have Patreon, but half of it is coming from three very generous individuals. I’m eternally grateful to them, of course, but that’s a lot of reliance on not so many people. Actually finishing either of the two things above will hopefully help.

Well! Those last three are pretty good goals for this year as well. I should be able to actually finish and publish a book and a game within a year, surely. If I get started, like, now.

January’s theme is web dev, and the major project is spline, the thing that runs Floraverse.

Getting momentum back after completely blowing it all on AGDQ was surprisingly difficult. I felt like I’d forgotten that I’d ever done anything and would never be able to do anything again. After just a week! Brains are weird.

  • art: The daily comics continue.

  • Runed Awakening: Web dev seemed particularly imposing with no momentum, so I turned back to my game to get going again. I actually made some really solid progress! Implemented three or four new puzzles, added a way to see which alternative solutions you’ve found even across playthroughs, and fixed a bunch of obscure bugs. Still a long way to go, but it’ll get there if I can keep it moving along.

  • flora: Yet another cutscene.

  • blog: I dug up and finished an old heteroglot post about Pascal, and threw in an Inform 7 problem I’d done in the meantime. It was also 🎂 my birthday 🎂 this week, which called for the age-old tradition of putting confetti all over veekun. I’d always used some ancient snowflake “DHTML” script because I’m lazy, but this year I rewrote it from scratch to use CSS animations and only the slightest iavascript to generate the markup. Now it animates much more smoothly and is much less of a resource hog. For a joke that appears one day a year. Oh well.

  • spline: Less than I would have hoped for halfway through the month, but I did clean up the (minimal) docs a little bit and replace a bunch of code with a third-party module.

  • Mario Maker: Made Purgatory.

Difficulty: fairly easy
Quality: ★★★★★
Secrets: 🍄🍄🍄🍄🍄🍄

This is great. I put a lot of effort into polishing it. I even set it aside for a while because I wasn’t happy with it, then came back and fixed it.

It’s fairly long, but doesn’t have any particularly tricky parts. Pretty atmospheric, I hope. Not all of the 1-ups are hidden, and not all of the hidden details are 1-ups.

I don’t even want to say anything more about it; I feel like I’ll ruin it. Just play it.


Forum activity

The forums are dead quiet. No one is posting. A lone tumbleweed rolls by.

Maybe you should do something about this.