fuzzy notepad

Tagged: veekun

[dev] Weekly roundup: Chaos

I feel a little bit like life is disintegrating into chaos, but Iā€™m plowing ahead nonetheless.

  • isaac: I finished porting NEON PHASE changes over to the Isaacā€™s Descent codebase, which is great! Now the only major blocker for a little tech demo is redoing the music (argh).

  • games: I finally finished playing through all the games submitted to GAMES MADE QUICK??, which took an incredibly long time, oh no. I dumped thoughts on the games in a Twitter thread, or you can browse through them yourself. Thereā€™s some pretty cool stuff in there, and Iā€™m still amazed that much of it exists just because I said ā€œhey letā€™s make some video gamesā€.

    It was such a smashing success that I also put together Strawberry Jam, a month-long game jam for making horny games, whatever that means. (The concept is NSFW, but the landing page is not.) I have two separate ideas I want to pursue, plus Mel is doing their own game and will need my help to put it together, so I have a very busy month ahead. Weā€™ve both already started on the art for our respective games, and weā€™ve been doing some planning as well.

  • neon: I fixed a bunch of bugs but didnā€™t cut a new release yet, oops. One or two are still lingering, and I donā€™t want to make a ton of releases just for bugfixes.

    I wrote down ā€œfixed %ā€? What does that even mean?

  • art: I tried drawing some things and they did not come out as well as I wanted.

  • veekun: I did some actual work ā€” I have abilities ripped to YAML and a script that successfully loads them into the database, and Iā€™ve taken a stab at items. I have no idea when this is going to get done, though; Iā€™ve got a mountain of work to do in February.

  • blog: I started redesigning and merging my projects page with the landing page for this domain to make a more useful index of work Iā€™ve done. Not happy with it yet, but itā€™s getting somewhere, gradually.

Next month will be, well, video games. A lot of video games. Plus I have other time-critical stuff to do. Plus I have other not-time-critical-but-really-needs-doing stuff to do. Oh boy!

[dev] Weekly roundup: Out of phase

As is tradition, I skipped a week because I was busy making a video game with Mel.

The video game is NEON PHASE and I wrote about it and itā€™s pretty cool.

Between that and our hellcats, Iā€™ve been sleeping terribly again, so things are currently a bit of a slog. I have so much to do. Making slow progress.

Other than that:

  • blog: I wrote the traditional birthday post and the aforementioned post about NEON PHASE.

    Iā€™ve also been putting some effort into re-revamping my list of work, since right now itā€™s largely a wall of text. Now that Iā€™ve finally registered an account on itch.io, Iā€™ve been putting our previous little games on it, which takes a surprising amount of effort to do well.

  • isaac: Iā€™ve been cherry-picking the NEON PHASE work back to the Isaac HD codebase. It isnā€™t particularly difficult, just sort of tedious.

  • other game stuff: Iā€™ve been planning NEON PHASE 2 with Mel, and Iā€™m thinking about doing another game jam for February, and I wrote a little linear Twine under tight time constraints.

Iā€™ve also been running through the games made for my jam, playing a few of them each day, which is surprisingly time-consuming. But several dozen little things exist just because I invited people to make stuff, and thatā€™s incredible, and I want to see what that stuff is.

I still need to get out a demo port of Isaacā€™s Descent (argh) and finish loading SUMO into veekun (ARGH) and then I can get back to theā€¦ three? four?? games I seem to be working on at the moment.

[dev] Weekly roundup: Asymptotically close to finishing

My sleep has been pretty weird, and Iā€™ve had a few drowsy days lately, but Iā€™m mostly keeping the momentum going.

  • art: I made an effort to draw something every day. I drew a January avatar, doodled with some friends, made a weird pixel animation, and whipped up a quick illustration for a game jam Iā€™m accidentally running.

  • music: Sketched out a few phrases and studied Cave Story a little more. I made a pretty decent start on a new remix of the Isaac background music, after some feedback from Mel. I hacked it into the game, too, and hearing it while testing other stuff turns out to be a good way to find what needs improvement.

  • isaac: Mostly implemented the stone doors, drew a credits Eevee, found a way to draw sprites inside text (sorta). I think this just leaves the title/credits, music, and bugfixing. So, so close.

  • veekun: Cleaned up and committed some recent extraction work, but didnā€™t make much new progress.

This week is AGDQ, which means Iā€™m going to spend an awful lot of time watching people play video games instead of doing anything useful. I was pretty unhappy about that last year, so this time Iā€™m ā€œrunningā€ a non-serious game jam all about trying to make a game during that otherwise-lost time.

[dev] Weekly roundup: Welcome to the future

Finally, 2016 is dead. Good riddance. Iā€™m sure this year will be different, as though time were composed of discrete chunks with different moods.

  • isaac: I set about moving a bit more hardcoded stuff into Tiled, which is better than nothing. Fixed a few oddball physics bugs, like being able to walljump, which Iā€™d somehow never noticed. Made the inventory actually work correctly, and gave it a HUD. Made the book mostly work. Finished up the laser. Spent far too much time drawing rock and brick tiles.

    Itā€™s not quite at the point of playing the original game as Iā€™d hoped, but itā€™s reeeally close.

  • music: Worked a little bit on a remix of the Isaac background music.

  • book: Dicked around with Sphinx and LaTeX for hours instead of actually writing anything. Did a teeny tiny bit of writing.

  • veekun: I figured out how texture animations work, which is incredible and makes my model viewer actually almost correct. It still has some bugs and weirdness, and I havenā€™t actually tried it on every single dang PokĆ©mon yet, but this is looking extremely viable.

    I went a-hunting for more artwork, ended up writing a thing that just dumped every single image it could find in the entire game, and managed to dig up the bigger sprites used in the PokĆ©dex. Alas, naturally, only the PokĆ©mon actually catchable in Sun and Moon have a big PokĆ©dex sprite.

  • art: I did some doodling in a vain attempt to remember how to draw. Not sure if successful. I got a couple scraps of concept art for Isaac HD out of it, though.

Despite how it sounds, Iā€™ve actually had a lazy last few days, which has been a nice change after several solid weeks of plowing ahead at maximum speed. Priorities remain the same as they have been.

[dev] Weekly roundup: Happy Boxing Eve

  • veekun: I worked on extracting and viewing PokĆ©mon models.

    Thatā€™s it. Thatā€™s all I did all week. I got rather into it. (I guess I also worked on some Sun/Moon dumping, but that wasnā€™t very exciting.)

    Iā€™ve put it on hold for now, but after a solid 8 or 9 days of work, the results so far are pretty dang cool. I absorbed a whole lot of stuff about 3D, too.

See you next year!

[dev] Weekly roundup: A model week

A couple solid days each went towards different things, with pretty good progress for all of them.

  • isaac: Did a little bit of cleanup. Added some raycasting to the ā€œphysics engineā€, so the laser eye now actually works correctly ā€” it fires a ray along the laserā€™s path and looks for the first solid obstacle. (In the PICO-8 version, it just checked map tiles straight down until it found something other than empty space.)

  • art: Spent a few days on some inked reward drawings for Melā€™s Kickstarter.

  • music: Studied how Cave Storyā€™s music is put together in exquisite detail. It helps that the music was all written in tracker style, and the whole soundtrack is available in XM format, which trackers are happy to open. The result of this effort was a song thatā€™s not entirely terrible, which isnā€™t bad considering Iā€™ve only spent a week or two combined on learning anything about music.

  • veekun: I, uh, spent a couple days on actually beating the game, so now I donā€™t have to worry about spoilers.

    I also resurrected my ancient WebGL model viewer, taught it to play back animations, improved the outlining, and added a bunch of controls. Work continues on this, but Iā€™d really like to have interactive models available on veekun.

Iā€™m mostly charging ahead on veekun stuff right now, and probably for the next few days.

Isaac plods ever closer to matching the feature set of the PICO-8 game.

[dev] Weekly roundup: Inktober 2: Electric Boogaloo

The death march of Inktober continued.

  • art: Another batch of ink drawings of PokĆ©mon. I earned myself a third grey Copic. I also ran the light grey one dry, somehow, so I ordered a refillā€¦ and while I was at it, ordered a fountain pen at Melā€™s behest.

    I painted a couple things, which came out surprisingly less bad than I thought; one to cheer up some pals and one emulating some old art of Melā€™s.

    I also drew some ridiculous nonsense.

    I went through my collection of sketchbooks, many of which were impulse purchases from before I was even trying to draw (just because I like fresh paper) and are completely blank. I found a couple with very old art in them, which was interesting and embarrassing. I found out I can doodle on paper much better than I thought, so Iā€™ll probably be doing that more.

  • blog: I finished and published a post about Doomā€™s weird sense of scale. Halfway through the month and Iā€™m caught up, so now I only have to do the normal amount of work in half the time, while also drawing a lot. Er, whoops.

  • veekun: I got about halfway through matching up ORASā€™s encounters, which is an incredibly tedious manual process. I nudged magical into updating Global Link art and I finally fixed up the new code for grabbing box icons, so veekun finally has icons for every single PokĆ©mon and not a bunch of embarrassing 404s everywhere.

    I also made veekun entirely HTTPS. The upside of Letā€™s Encryptā€™s short expiration time (and my laziness in writing a cronjob to renew all my certs) is that every three months Iā€™m suddenly inclined to go comb through a bunch of nginx configuration and spruce it up a bit.

  • isaac hd: Iā€™d already hacked in some temporary dialogue code, but I spent half a day cleaning it up and turning it into something resembling a real feature. I fixed a lot of limitations that werenā€™t obvious just from looking at my previous example, such as ā€œit canā€™t show more than one line of dialogueā€. The results are encouraging!

  • irl: Some personal stuff consumed a bit of time.

Iā€™ve apparently gotten faster at the ink drawings! Iā€™m still a bit behind on writing, but I have some ideas for shorter posts relevant to stuff Iā€™ve been doing lately. I have so much to do, but actively trying to do it all is gradually making me faster at doing it, which is nice.

Since November is NaNoWriMo, Iā€™m thinking I might use it as a real writing catch-up month, like this has been an art practice month. Iā€™m not working on a novel, of course, but I do have several prosaic things in progress: a book, Runed Awakening, some other fiction ideas, and of course this blog. The usual goal is 50,000 words in 30 days, so maybe Iā€™ll try to write 2000 words every day? ā€œDo a bunch of things simultaneouslyā€ is certainly more my style than ā€œdo a single thing for an entire monthā€.

[dev] Weekly roundup: Back into art

September is continuing the three big things in particularā€¦?

  • music: I tried to reconstitute some of the song I lost last week. It wasnā€™t as good.

  • isaacā€™s descent hd: I implemented death, an inventory, and the staff, cleaning up some stuff as I went. The first room is now playable!

  • blog: I wrote and published a post about the switch statement, made some fixes to a few recent posts, and worked on something about MegaZeux that I hope to finish today.

  • art: I doodled for the first time in kind of a while, including some semi-private streaming, which was nice. I did two daily PokĆ©mon for the first time in a month, and they came out a little better than the previous ones. I drew an Eevee walk cycle as practice for doing the same thing as pixel art for Isaacā€™s Descent, and it turned out surprisingly well! Also worked a bit on a secret thing for someone.

  • veekun: I got 90% of the way to getting ORAS encounters, after hitting quite a few bumps in the road along the way. Itā€™s a shame this has taken so longā€¦ and still isnā€™t quite done.

  • doom: I started on a vanilla Sandy tribute map on a whim.

Last week of the month and I feel preposterously behind on everything, even though my working-to-goofing-off ratio has remained consistently higher than itā€™s been in years. Argh. So it goes, I guess.

[dev] Weekly roundup: Quietly advancing

September is continuing the three big things in particular.

I had a drowsy day, but otherwise it was still an alright week.

  • blog: I published a post about music theory, which I oughta update to factor in all the stuff people have told me in the aftermath. I also wrote half of another post and stubbed out one or two more; just gotta finish some of them.

  • runed awakening: I did, er, the tiniest bit of planning, and then got distracted by music and game things for the rest of the week.

  • isaacā€™s descent hd: Physics is done. For real. I mean it. It works, and it works so good. It also has some tiny hints of gameplay now! Iā€™m close to having the first puzzle room be playable: the switch works, the bridge appears and becomes blocking, and the spikes kill you. Just need to make the staff work and finish up the death handling.

  • music: I toyed with Renoise and LMMS, ultimately deciding I like LMMS more. I managed to make a decent chunk of a song that I actually like and that would work remarkably well as background music for Isaacā€™s Descent.

    And then LMMS crashed.

    I also dug out and cleaned off our keyboard, which had been buried in a closet somewhere for years. I taught myself to play the PokĆ©mon Center theme!

  • veekun: I cleaned up some of the multi-version handling for this harebrained YAML concept. Also dug into ORAS encounters and got 90% of the way to actually extracting them.

I said last week that Iā€™d dedicate a few days to writing, and I would still like to do that! Now is probably a good time to start. Iā€™m behind on blog posts for the month, and I desperately want to get some momentum going with Runed Awakening again.

veekun is definitely not on schedule, but Iā€™m getting excited and ambitious about working on it again, which is a really good sign. I donā€™t know how far along itā€™ll be when Sun and Moon come out, but thatā€™s probably okay; veekun has always been a quiet technical resource, not a walkthrough. I think Iā€™m going to try focusing on that idea in the future ā€” for example, Iā€™m probably at the point that I could create orthographic projections of all the maps.

I havenā€™t written anything for the book in a little while now, but itā€™s looking like Isaacā€™s Descent HD will be the final chapter, so working on it still counts as working on the book. Right?

[dev] Weekly roundup: Bashing my head against a wall

September is continuing the three big things in particular.

  • gamedev: I spent far too much time just trying to get collision detection working how I want in LƖVE. Seriously, four or five solid days. I guess I learned some things, which I will probably write about soon, but I also canā€™t help but feel like I wasted a good chunk of time. At least Iā€™ll never have to do this again, right? Ha, ha.

  • music: I found a tracker I kinda like and tinkered with it and LMMS a bit. Iā€™m terribly unconfident about this and donā€™t even know where to start, so itā€™s kinda slow going. On the other hand, I finally grasped the basics of Western music theory, so thatā€™s nice.

  • blog: I started on, uh, four different posts. Iā€™m good for the month on topics, at least.

  • art: I doodled a bunch while catching up on podcasts. Also I drew a new avatar, which I hadnā€™t done sinceā€¦ June? Yikes. This one was painted, too; all the previous ones had separate lineart.

  • veekun: I taught my code to dump all of Gen I at once, cleaned up a bunch of text handling, and successfully extracted flavor text.

Iā€™m not thrilled about the time lost to platformer physics, but oh well. Iā€™m a tad burned out on gamedev after that, so I think Iā€™ll dedicate the next couple days to writing and maybe catching up on veekun.

[dev] Weekly roundup: Ludum Dare

August is loosely about video games, but really itā€™s about three big things in particular.

  • book: Wrangled LaTeX some more. Came up with a new style for admonitions (little set-out boxes) that I really like. Drew some icons for a few of them. Started on another chapter, for reasons; see below.

  • veekun: Regexing machine code for addresses was getting really clumsy, so I went one step further and wrote a disassembling pattern matcher thing. You write some assembly with some variables in it, and it finds occurrences of that code and tells you what the variables are. I can pretty much paste in entire functions, massage them slightly, and find matches. Itā€™s pretty slick.

    The upshot of this is that loading original Japanese Red and Green now works! But Yellow doesnā€™t. So I fixed that, and now Japanese Blue is broken. Or maybe I fixed it and that broke Yellow again? Iā€™m not sure. There were some tiny changes to core code between some of these games, and the pattern-matcher has no way to express alternatives. I donā€™t know if Iā€™m better off inventing one or just fudging it.

    Anyway, pretty close to having all of gen 1 dumping PokĆ©mon reliably. Still need to actually dump other stuff ā€” moves, items, encounters, and the like ā€” but thatā€™s much more straightforward.

  • hax: I was still in a mood to dink around with Game Boy stuff, so I added Python 3 support to some relevant tooling and wrote a proof of concept for storing PokĆ©mon maps in Tiled format.

  • blog: I wrote a thing about writing tests.

  • twitter: I taught @perlin_noise a few new tricks.

  • art: I drew a friendā€™s lizard pal based on a reference photo, which isnā€™t something Iā€™d seriously tried before. Value-only, only one layer, only one brush. It came out surprisingly well.

  • gamedev: I participated in Ludum Dare 36, a 48-hour game jam. Iā€™d never done LD before, and naturally I picked the only one that has no ratings round (for administrative shuffling reasons). Oh, well.

    The result was Isaacā€™s Descent, a short puzzle-platformer for the PICO-8. You can play it via the web (source code included), and I also wrote a post about it.


So! There are a few days left, but itā€™s pretty much the end of August. Letā€™s see how I did.

  • Draft three chapters of this book, August: one chapter

    Well, I didnā€™t get a chapter done. I did make huge progress on the chapter I started, though ā€” plus I began a second chapter, and generated enough notes for the entirety of a third. I spent a decent amount of time wrangling Sphinx and LaTeX, too, which I wouldā€™ve had to do sooner or later regardless.

    So I didnā€™t do quite what I wanted, but I did do far more than Iā€™ve put into any previous harebrained book idea, and it was a pretty decent chunk of work. Iā€™m okay with that.

    Just what is this damn book, you ask? Ah, perhaps you should read that Ludum Dare post.

  • Get veekun beta-worthy, August: basics of the new schema committed; basics of gen 1 and gen 6 games dumped; skeleton cli and site

    Haha, no. I got gen 1 almost working for PokĆ©mon only. It turns out that while gen 1 has the simplest data, it probably has the most convoluted storage.

    On the other hand, the detours taught me a lot about Game Boy architecture, which was interesting and helpful for making the dumper fairly robust thusfar. I also made some breakthroughs on architecture that had been haunting me for a while. Iā€™ll have to move my ass in the next week or two to catch up ā€” hopefully finish gen 1 and get a few other generations dumped real soon ā€” but I think this is still doable.

  • Finish Runed Awakening, August: working ending; at least one solution to each puzzle; private beta

    Whoops! I did basically squat on Runed Awakening. I figured out most of the ending, which had been my major roadblock, but I didnā€™t touch the code or run the game a single time. Dang. Itā€™s not like I was goofing off all month, either; I just didnā€™t have a big block of time to devote to the weird mishmash of writing and planning and programming that IF requires.

    I really want to finish this game, but end of October is not looking too great. I donā€™t know why itā€™s proving so difficult; itā€™s not that complicated, and I started on it almost two years ago now. Iā€™ve made multiple other games just so far this year! Argh.

    If itā€™s any consolation (to me): I picked November as a target because Mel wanted to embed Runed Awakening on Floraverse as an update around that time. But Isaacā€™s Descent takes place in the same universe, so it works just as well. Goal accomplished!

Onwards to September. The only thing on the list with a real solid deadline is veekun, since the new games will be coming out. Itā€™s a bit behind, but Iā€™m pretty sure I can catch up. Gen 2 shouldnā€™t be too different from gen 1, and Iā€™ve done gen 4 and onwards before.

[dev] Weekly roundup: slow but steady

August is loosely about video games, but really itā€™s about three big things in particular.

  • book: Lots of progress! Iā€™m definitely getting a feel for the writing style I want to use, Iā€™ve wrangled Sphinx into a basically usable state, Iā€™ve written a lot of tentative preface stuff and much of the intro part of the chapter, and Iā€™ve written a ton of scratchy prose (like notes, but full sentences that just need some editing and cleanup later). Also worked around some frequent crashes with, ah, a thing Iā€™m writing about.

  • veekun: I did a serious cleanup of the gen 1 extraction code; added some zany heuristics for detecting data that should work even in fan hacks (if there even are any for gen 1); and hacked multi-language extraction into working well enough for starters.

    Finally, and I do mean finally, I built some groundwork for versioning support in the Python API. This has been hanging over my head for probably a year and was one of the biggest reasons I kept putting off working on this whole concept. I just didnā€™t quite know how I wanted to do it, and I was terrified of doing it ā€œwrongā€. At long last, yesterday I pushed through, and now I can see the light at the end of the tunnel.

    I also committed what I had so far, which is a complete mess but also a working mess, and that makes me feel better about the state of things. You can have a look if you want.

  • runed awakening: I didnā€™t get any tangible work done, but after some months of agonizing, I finally figured out how to make the ending sensible. Mostly. Like 80%. Iā€™m much closer than I used to be. Once I nail down a couple minor details, I should be able to go actually build it.


  • blog: I finally fixed veekunā€™s front page ā€” the entire contents of blog posts will no longer appear there. (The actual problem was that Pelican, the blog generator I use, puts the entirety of blog posts in Atomā€™s <summary> field and wow is that wrong. Iā€™ve submitted a PR and patched my local install.)

    I wrote about half a post on testing, which Iā€™d really like to finish today.

  • zdoom: My Lua branch can now list out an actorā€™s entire inventory ā€” the first capability thatā€™s actually impossible using the existing modding tools. (You can check how many of a particular item an actor is carrying, but thereā€™s no way to iterate over a list of strings from a mod.)

  • doom: Almost finished my anachrony demo map, but stopped because I wasnā€™t sure how to show off the last couple things. Fixed a couple items that had apparently been broken the entire time, whoops.

  • slade: I added the most half-assed stub of a list of all the things in the current map and how many there are on each difficulty. I vaguely intend to make a whole map info panel, and I still need to finish 3D floors; I just havenā€™t felt too inclined to pour much time into SLADE lately. Both C++ and GUI apps are a bit of a slog to work with.

  • art: I scribbled Latias with a backpack and some other things.

    I did two daily PokĆ©mon, which is, at least, better than one. I think theyā€™re getting better, but I also think Iā€™m just trying to draw more than I know how to do in an hour.

    I hit a skill wall this week, where my own expectations greatly outpaced my ability. It happens every so often and itā€™s always maddening. I spent a lot of time sketching and looking up refs (for once) and eventually managed to pierce through it ā€” somehow I came out with a markedly improved understanding of general anatomy, hands, color, perspective, and lighting? I donā€™t know how this works. The best thing I drew is not something Iā€™ll link here, but you can enjoy this which is pretty good too. Oh, I guess I did a semi-public art stream for the first time this week, too.

    Now my arm is tired and the callus where I grip the pen too hard is a bit sore.

  • irl: Oh boy I got my oil changed? Also I closed a whole bunch of tabs and went through some old email again, in a vain attempt to make my thinkinā€™ space a bit less chaotic.

Wow! A lot of things again. Thatā€™s awesome. I really donā€™t know where I even found the time to do quite so much drawing, but Iā€™m not complaining.

Iā€™m a little panicked, since weā€™re halfway through the month and I donā€™t think any of the things Iā€™m working on are half done yet. I did try to give myself a lot of wiggle room in the October scheduling, and itā€™s still early, so weā€™ll see how it goes. I canā€™t remember the last time I was quite this productive for this long continuously, so Iā€™m happy to call this a success so far either way.

[dev] Weekly roundup: three big things

August is about video games. Actually, the next three months are about video games. Primary goals and their rough stages:

  1. Draft three chapters of this book
    • August: one chapter (at which point I might start talking about what the book is)
    • September: another chapter
    • October: yet another chapter
  2. Get veekun beta-worthy
    • August: basics of the new schema committed; basics of gen 1 and gen 6 games dumped; skeleton cli and site
    • September: most games dumped; lookup; core pages working; new site in publicly-available beta
    • October: all games dumped; new site design work; extras like search and calculators
  3. Finish Runed Awakening
    • August: working ending; at least one solution to each puzzle; private beta
    • September: alternate solutions; huge wave of prose editing; patreon beta
    • October: fix the mountains of issues people find; finish any remaining illustrations

Yeah, weā€™ll see how all that goes. I also have some vague secondary goals like ā€œdo artā€ and ā€œrelease tiny gamesā€ and ā€œdo Doom stuffā€ but those are extremely subject to change. Hopefully I can stick to the above three big things for three months.

Anyway, this week:

  • blog: Finished and published posts on why to use Python 3 and how to port to it, plus made numerous suggested edits. Wrote a brief thing about my frustrations with PokĆ©mon Go. And wrote about veekunā€™s schema woes, which helped me reason through a few lingering thorny problems.

    That might be a record for most things Iā€™ve published within a calendar week.

  • art: I tried an hour of timed (real-life) figure drawings, which was kinda weird. Iā€™ve really lapsed on the daily PokĆ©mon, possibly because I changed up the rules to be an hour for a single painting, and that feels like a huge amount of time (ā€¦for something I donā€™t think will come out very well). Iā€™ll either make a better effort to do them every day, or change the rules again so I stop putting them off.

    I drew Griffinā€™s Nuzlocke team kind of on a whim? A day-long whim?

  • book: I wrote some preface, which youā€™re probably supposed to do last, but it helped me figure out the tone of the writing. Iā€™ve mentioned this before regarding previous failed attempts, but writing a book is surprisingly harder than writing a blog post ā€” I canā€™t quite put my finger on why, but the medium feels completely different and alien, and Iā€™m much more self-conscious about how I write.

    I did get a bit of a chapter written, though. I probably spent much more time wrangling authoring tools into producing something acceptable.

  • doom: I somehow drifted into doing stuff to anachrony again. Apparently I left it in near-shambles, with at least a dozen half-finished things all over the place and few comments about what on Earth I was thinking. Iā€™ve cleaned a lot of them up, figured out how to fix some long-standing irritations, and excised some bad ideas. Itā€™s almost presentable now, and I started building a little contrived demo map that tries to show how some of the things work. Someday I might even use all this for a real map, wow.

  • zdoom: Oops, I also picked up my Lua-in-ZDoom experiment again. After doing some things to C++ that made me feel like a witch, someone recommended Sol, a single-file (10k lineā€¦) C++ library for interacting with Lua. It is fucking incredible and makes everything so much easier and the author is on Twitter and fixes things faster than I can bring them up.

    I donā€™t know how much time I want to devote to this ā€” it is just an experiment ā€” but Sol will make it go preposterously faster. Itā€™s single-handedly made a proof of concept look feasible.

  • ops: I spent half a day fixing microscopic IPv6 problems that have been getting on my nerves for ages.

  • veekun: After publishing the schema post, I went to have a look at where Iā€™d left the new dumper code. I spent a few hours writing rock-solid(-ish) version and language detection, which doesnā€™t have much to do with the schema but is really important to have.

I just about filled a page in my notebook with all this, which I havenā€™t done in a while. Feels pretty good! Iā€™m also a quarter through the month already, so Iā€™d better get moving on those three big things.

[blog] Storing PokƩmon without SQL

I run veekun, a little niche PokĆ©dex website that mostly focuses on (a) very accurate data for every version, derived directly from the games and (b) a bunch of nerdy nerd tools.

Itā€™s been languishing for a few years. (Sorry.) Part of it is that the team has never been very big, and all of us have either drifted away or gotten tied up in other things.

And part of it is that the schema absolutely sucks to work with. Iā€™ve been planning to fix it for a year or two now, and with Sun/Moon on the horizon, itā€™s time I actually got around to doing that.

Alas! Iā€™m still unsure on some of the details. Iā€™m hoping if I talk them out, a clear best answer will present itself. Itā€™s like advanced rubber duck debugging, with the added bonus that maybe a bunch of strangers will validate my thinking.

(Spoilers: I think I figured some stuff out by the end, so you donā€™t actually need to read any of this.)

[dev] Weekly roundup: sleepover

Juneā€™s theme is clearing my plate, a concept that becomes increasingly nebulous as time goes by.

I accidentally went nocturnal over the past week, which always leaves me completely fried for a few days due to losing a day. So not the best week, but not the worst either.

  • art: I drew a very quick happy Minccino to try to cheer everyone up last weekend. Their tail fluffs are upside-down. Sorry.

    I drew and colored two old friends on a whim, trying to apply some things Mel had told me about color harmony. I think it came out as possibly one of the nicest things Iā€™ve ever drawn, so, thatā€™s nice, whoa.

    I started drawing daily PokĆ©mon (in a predetermined random order), where the only rule is a time limit of 30 minutes. Here are Wobbuffet and western Shellos; Iā€™ll be dumping them all in a Tumblr tag too.

    While I was out at lunch, I drew on paper for the first time in a while. I should probably do it more, but the results arenā€™t too bad.

  • Runed Awakening: Aha! I pixelled an NPC or two, possibly marking the first real character design Iā€™ve ever done, as well as an item and an attempt at a room illustration.

    A couple friends played through the current state of the game, which led to a couple days of chasing down extremely obtuse minor bugs. Itā€™s a little frustrating to have spent a lot of time and have so little to show for it, but one of the bugs was something thatā€™s plauged me for over a year, so I guess it at least fits with the theme of getting rid of looming things. From here I should be able to get back to building things.

  • spline: I finally granted Mel the ability to create a new folder by themselves. So far Iā€™ve always done it manually, which has gotten increasingly painful since the folders use the nested set model. Thereā€™s still no UI for rearranging them, but this removes a huge source ofā€¦ requests for manual intervention.

  • veekun: I started reabsorbing the current state of the new YAML schema and thinking about how to get it where I want. Didnā€™t make any actual progress, though.

    Working on getting the remaining images veekun is missing, too.

Probably more of the same this next week. I want to make huge inroads on Runed Awakening, fix the other category of things I have to do manually for spline, and get some work done on veekun one way or another.

[dev] Biweekly roundup: doubling down

Marchā€™s theme is video games, I guess?

Itā€™s actually been two weeks since the last roundup, but thereā€™s an excellent reason for that!

  • doom: As previously mentioned, someone started a ā€œjust get something doneā€ ZDoom mapping project, so I made a map! I spent a solid seven days doing virtually nothing but working on it. And it came out pretty fantastically, I think. The final project is still in a bug-fixing phase, but Iā€™ll link it when itā€™s done.

  • blog: I wrote about how maybe we could tone down the JavaScript, and it was phenomenally popular. People are still linking it anew on Twitter. Thatā€™s pretty cool. I also wrote a ton of developer commentary for my Doom map, which Iā€™ll finish in the next few days and publish once the mapset is actually released. And I combed through my Doom series to edit a few things that are fixed in recent ZDoom and SLADE releases.

  • veekun: I managed to generate a YAML-based data file for PokĆ©mon Red directly from game data. Thereā€™s still a lot of work to do to capture moves and places and other data, but this is a great start.

  • SLADE: In my 3D floor preview branch, the sides of simple 3D floors now render. There is so much work left to do here but the basics are finally there. Also fixed about nine papercuts I encountered while making my map, though some others remain.

  • mario maker: I made a level but have neglected to write about it here yet. Oops.

  • art: I drew most of the next part of PokĆ©mon Yellow but then got kinda distracted by Doom stuff. I redrew last yearā€™s Pi Day comic for the sake of comparison. I also started on Melā€™s birthday present, which involves something astoundingly difficult that Iā€™ve never tried before.

  • irl: I replaced my case fans, and it was a nightmare. ā€œToollessā€ fasteners are awful.

Pouring a solid week into one thing is weird; I feel like I havenā€™t drawn or touched Runed Awakening in ages, now. Iā€™d like to get back to those.

I also still want to rig a category for posts about stuff Iā€™m releasing, and also do something with that terrible ā€œprojectsā€ page, so hopefully Iā€™ll get to those soon.

[dev] Weekly roundup: video james

Marchā€™s theme isā€¦ isā€¦ I donā€™t know yet.

  • blog: I made a cheesecake. (By the way, it turns out I had enough leftover filling to make an entire second one! Wow.) And wrote about Valentineā€™s Day. And wrote about this eerie clone of tech Twitter. Iā€™m actually kind of ahead of the game this month!

  • art: I started documenting my adventures playing PokĆ©mon Yellow. Veryā€¦ slowly.

  • veekun: I came up with a rough YAML schema for PokĆ©mon data and faked a Red dump. The idea is to try replacing the relational database with just in-memory data, stored separately per-game and in a way that can be reproduced easily. There isnā€™t very much data anyway, in the grand scheme of things, and trying to keep it relational is getting to be a huge headache. Iā€™d really like to have a simple proof-of-concept of this sometime soon; Sun and Moon come out towards the end of the year, and Iā€™d like to have a redesigned site ready to go.

    Iā€™m using camel for this, so Iā€™ve found reason to hack a few more features into it already. Iā€™ll clean them up and release them, ah, sometime.

  • floraverse: Yahoo is rejecting the store mail for some reason, which led to my discovering that Google Apps ā€œaliasesā€ are totally different from GMail ā€œaliasesā€, and you need to have an address aliased in both places for it to actually appear in the ā€œFromā€ field.

  • doom: Someone has started a ā€œjust get something doneā€ ZDoom mapping project, so Iā€™m going to do that. The actual mapping time hasnā€™t started yet, but I went looking for inspiration in the form of textures and background music.

  • irl: Yardwork. Exciting.

I donā€™t know what to have as a theme. Runed Awakening still needs a lot of work; veekun needs an overhaul with a time limit; thereā€™s this ZDoom mapping thing; and Iā€™m drawing PokĆ©mon Yellow as I play it. So maybe the theme is justā€¦ video games? Sure, we can do that.