logo: drawing of an eevee lounging atop the website

fuzzy notepad

Blog

Page 14
Atom feed

[articles] We have always been at war with UI

A familiar story: company makes product, product becomes wildly popular, company royally fucks product up.

The most recent example of this is TimelineGate, but it’s something I’ve had on my mind for a while. Thus I present to you a list of complaints about personally-inconvenient UI changes, carefully disguised as a thoughtful essay.

[dev] Weekly roundup: slow week

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 tinkering. Made a few weapons that are pretty sweet. Also made a little start of a ZDoom editing demo map.

[articles] Writing

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.

[personal] I made pretzels

@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.

[dev] Weekly roundup: second wind

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.

[dev] Weekly roundup: stuff

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.

[personal] Eevee gained 2437 experience points

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

Wow, what a year.

[dev] Weekly roundup: reaccelerating

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.

[updates] Mario Maker: The Works

ACD6-0000-0198-668D
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.

[updates] Mario Maker: Purgatory

BEA5-0000-0192-AF17
Difficulty: fairly easy
Quality: ★★★☆☆
Secrets: 🍄🍄🍄🍄

I had three hours left at the end of a night, and I decided to use them to speed-map a Mario level. Two hours later, I had this. It’s fairly simple and straightforward as a result, but still a fun quick romp.

The theme is fairly shallow: there’s a “heaven” overworld and a “hell” subworld, and you shift back and forth a couple times on your way through the level.

I watched someone try to speedrun it shortly after I uploaded it, and I was delighted to see that they managed to skip the hell area entirely. Seems appropriate.

[process] Heteroglot: #16 in Pascal, #17 in Inform 7

I was thinking about doing a problem for heteroglot — my quest to solve every Project Euler problem in a different programming language. (They’re adding new problems much more quickly than I’m solving them, so so far I’ve made negative progress.) Then I discovered I’d already done two, but never wrote about either of them. Oops! Here’s a twofer, then.

This post necessarily gives away the answers, so don’t read this if you’d like to solve the problems yourself.

[dev] Weekly roundup: speedwatching

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

I spent an embarrassingly large chunk of the week watching AGDQ instead of actually doing anything. Oh well.

  • flora: I slopped together another three “cutscene” updates, all pretty short but a little time-consuming nonetheless. I also put some work into refactoring the guts of the player, with modest success. The eventual goal is to build an editor, so people who aren’t me can make little web VNs without having to cobble together a bunch of undocumented JSON and pray it works.

  • art: Keeping up the daily comics. They’re definitely larger in scope than what I was scrawling in pencil a year ago. Sort of like speedpaints, but the time limit is loosely defined as “I don’t want to spend all day on this”. Trying to vary how I do them, too, though it ultimately comes down to whim.

  • blog: With some reservations, I wrote a thing scoffing at how condescending Paul Graham’s latest masterpiece was.

  • SLADE: Bit of very minor work, fixing a few papercuts and trying to diagnose a couple others.

  • Runed Awakening: Didn’t get very far, but I did manage to spend a couple distracted hours stubbing out a puzzle I really like.

And that’s it! Mostly drawing and dabbling. I (accidentally) woke up early today, so I’m going to try to get a good chunk of something done to get my momentum going again.

[articles] Shut Up, Paul Graham: The Simplified Version

As often happens when you say something controversial, there have been some very adventurous interpretations of the essay I just wrote about economic inequality. I thought it might help clarify matters for the undecided if I tried to write a version so simple that it leaves no room for misinterpretation.

I wrote a LiveJournal post so preposterous that even Hacker News didn’t swallow it. I’m painting this as ‘controversial’, which only makes sense if you accept that I am roughly as important as the entire rest of the Internet. Rather than step back and wonder if I might be wrong, I wrote this patronizing Playskool edition, to give the unwashed masses a second chance at appreciating my brilliance. Please admire my generosity.”

No doubt even this version leaves some room. And in the unlikely event I left no holes, some will say I’m backpedalling or doing “damage control.” But anyone who wants to can test that claim by comparing this to the original.

It is literally unthinkable that my ideas are bad.”

[dev] Weekly roundup: wrapping up

This month’s theme was game dev, and the major project was my text adventure, Runed Awakening.

  • art: More than half the week went, pretty solidly, towards my magnum opus, which was a gigantic Christmas card I wanted to finish by the end of the year so I could stick it in this art improvement grid which I should probably put here on my own gosh-darn website. I spent the last two days of the week just doodling, to kind of de-stress from finishing this and the blog posts. Also started doing daily comics again, which is how I got started drawing one year ago. Now they’re a little more ambitious though.

  • blog: I finished both part 2 and part 3 of the Doom series, the last with only minutes to spare!

  • SLADE: Fixed a couple issues I ran across while writing the posts: some drawing errors I caused, a very obscure drawing error I didn’t cause, and some helpful configuration of arg specials. I also spruced up some less-than-helpful stuff on the ZDoom wiki.

Thus ends my first attempt at a theme month. I sort of sabotaged myself twice here by biting off a bit too much: a huge 4096×4096 painting that took a solid week to finish, and a series of articles that ended up preposterously long and also took a solid week.

So the major project, Runed Awakening, did not get quite as far as I would’ve liked. It did get much further than it would’ve if I hadn’t decided to prioritize it, and I’m still jazzed to keep working on it, so I’ll still call this a success. This month will have a different theme and major project, but I’ll keep chugging away on my game as well. Wish me luck!

[articles] You should make a Doom level, part 3: cheating

Tens of thousands of words later, you’ve watched me build a little world, and hopefully tried building your own. All the way we’ve had to deal with Doom’s limitations. Flat surfaces. No room over room. The world can only move vertically. The only tool we’ve found so far that can get around those restrictions is the sky hack, and even that’s fairly limited.

I’ve saved this for last because it’s more complicated than anything else, by far. It also finally, utterly, breaks compatibility with vanilla Doom. You could apply everything I’ve said so far to vanilla with some tweaking — use line types instead of specials, make a Doom-format map, skip the separate light levels and other tricks. But, this, all of this, is very much ZDoom only.

Finally, the time has come.

It’s time to annihilate all of those restrictions.

Mostly.

[articles] You should make a Doom level, part 2: design

I assume you’ve read the introduction, which tells you the basics of putting a world together.

This post is more narrative than mechanical; it’s a tour of my thought process as I try to turn my previous map into something a little more fun to play. I still touch on new editing things I do, but honestly, you already know the bulk of how to use an editor. Poke through SLADE’s keybindings (Edit → Preferences → Input) to see what hidden gems it has, click that “Show All” checkbox in the prop panel, and go wild. But please do comment if I blatantly forgot to explain something new.

(Fair warning: NVidia’s recent Linux drivers seem to have a bug that spontaneously crashes programs using OpenGL. SLADE is one such program. So if any of the screenshots seem to be slightly inconsistent, it’s probably because the editor crashed and I had to redo some work and it didn’t come out exactly the same.)

[dev] Weekly roundup: magnum opus

This month’s theme is game dev, and the major project is my text adventure, Runed Awakening.

I may have ended up drawing for like half the week, by accident.

  • SLADE: After having used it intensely for a while to write my Doom post, I spent most of a day fixing a bunch of little papercuts, plus (I hope) a crash someone experienced on OS X. I also cobbled together some preliminary support for 3D floors, which will be awesome.

  • Flora: Threw together a quick cutscene. I should really make an editor for these things so I don’t have to keep doing it. Maybe next month.

  • art: Oh wow. I spent the last three days of the week, pretty solidly, working on a single picture. I have a collage of the best thing I drew every two weeks for the whole year, and it only has one final slot left, and I wanted it to be the best I could possibly muster, and I may have been a little ambitious. It’s still not done. Almost.

  • Runed Awakening: Made a couple breakthroughs, implemented some more Main Plot stuff, hurrah. I don’t think I’ll have time this week to do any serious work on it, so it seems I didn’t get mostly-done this month as I’d hoped. I’ve cleared a lot of hurdles and laid a lot of groundwork, though, so I hope I can keep up the progress and have something worth showing by the end of January?

  • blog: Workin’ on parts 2 and 3 simultaneously. Fixing SLADE stuff kind of got in the way. I’m also having some kind of irritating driver problem that crashes SLADE at inopportune times, argh.