fuzzy notepad

Tagged: gamedev

[dev] Weekly roundup: Business as usual

  • art: I bought a tablet — like, one with a screen, not a graphics tablet. But it’s also a graphics tablet, with Wacom pen pressure and everything. So now I can draw in bed, and have been doing some of that. Results are mixed; drawing on a screen is pretty weird, and undo is not as readily accessible.

    I continued touching up my Lexy sprite from Isaac’s Descent — working on the walk cycle now. Not the most exciting work, but it looks much better.

    I also drew a snake sipping coffee, for reasons.

  • book: I finally got through collision detection and some physics. This thing is really coming along now, and it’s cool to see it develop! I doubt I’ll finish the first chapter this month, alas — turns out there is a whole lot of groundwork to lay even for my tiny baby first game.

  • blog: Finalized a Sitepoint article. Did some more work on a new homepage, which is finally nearing completion, I hope.

  • spline: Wow, haven’t touched this in a while. Started implementing editing things, because glip has needed that for forever. Didn’t finish.

  • lunar depot 38: I participated in Ludum Dare 38! This time I teamed up with glip to do the Jam, so we spent three days scrambling to make a game together. (Spoilers for next week’s roundup: the game is Lunar Depot 38.)

[blog] Why LÖVE?

This month, IndustrialRobot asked my opinion of FOSS game engines — or, more specifically, why I chose LÖVE.

The short version is that it sort of landed in my lap, I tried it, I liked it, and I don’t know of anything I might like better. The long version is


[dev] Weekly roundup: Strawberry jam END

Hi! It’s been a while. Per tradition, I didn’t write roundups while in the middle of frantically working on a video game.

  • fox flux: Mostly, I made a video game for a month-long game jam. It’s an hourish-long puzzle platformer and is somewhat NSFW but you can snag it from itch.io if you like. (If you install it via the itch app, it’ll patch automatically and more quickly in the future. Though I’m not sure how itch will handle the Linux “build”, which is just a LÖVE file.)

    My ever-evolving physics code got some improvements again, but the biggest time constraint by far was the art — I am not very fast, and I had to learn a lot of things as I went. I’ll be writing about some of that in the near future. Still, it’s pretty cool that (with Mel’s indispensable advice) I managed to produce enough art for a competent-looking game.

    I did all the sounds as well, though Mel composed the music, which made the whole thing much better.

    Post-release, I fixed a few critical bugs, and I’ve been working on some little vignettes to make the ending a bit less, er, anticlimactic.

  • bolthaven: I also worked on Mel’s game for the same jam, but the script turned out to be much longer than expected, so it wasn’t finished in time.

  • blog: I’ve started writing both a Patreon post for February and a spontaneous post on some art insights from the past month.

Lots of work, but a short summary. I’m exhausted and moving a bit pokily these last couple days, but I’m more inspired than ever. I’ve got a lot of stuff to catch up on and plenty more gamedev to do; hope you enjoy some of it!

[dev] Weekly roundup: Strawberry jam

Onwards!

  • flora: I wrote another twine for Flora.

  • music: I spent a day with MilkyTracker and managed to produce a remixed title theme for Isaac’s Descent HD! It’s not entirely terrible.

  • isaac: I redid all the sound effects, slapped together a title screen, fixed a ton of bugs, added a trivial ending, and finally released a demo on my $4 Patreon tier! It’s just a port of the original Isaac’s Descent levels, so nothing particularly new or exciting, but I’m happy to see it in a more polished form. And now that everything basically works, I’m free to experiment with puzzle mechanics.

  • neon: I released NEON PHASE 1.2, with a few bugfixes, most notably making the game not be glitchy as all hell when playing under fairly high framerates.

  • patreon: I wrote the monthly prologue, which is just so amazing, you can’t even imagine.

  • games: And then the latter half of the week went towards Strawberry Jam, my month-long horny game jam. I’m churning out art for a puzzle-platformer (surprise), while Mel is doing something more story-driven (surprise), and we’re both helping each other out. Rate of progress seems okay so far, but I do have to put together two games in only a month, and I’ve still got a couple other looming obligations as well. Fingers crossed.

    I’m tweeting bits of progress in a thread on my secret porn account.

Next few weeks will largely be, well, work on video games!

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

[release] NEON PHASE

It all started after last year’s AGDQ, when I lamented having spent the entire week just watching speedruns instead of doing anything, and thus having lost my rhythm for days afterwards.

This year, several friends reminded me of this simultaneously, so I begrudgingly went looking for something to focus on during AGDQ. I’d already been working on Isaac’s Descent HD, so why not keep it up? Work on a video game while watching video games.

Working on a game for a week sounded an awful lot like a game jam, so I jokingly tweeted about a game jam whose express purpose was to not completely waste the week staring at a Twitch stream. Then someone suggested I make it an actual jam on itch.io. Then Mel asked to do a game with me.

And so, thanks to an almost comical sequence of events, we made NEON PHASE — a half-hour explorey platformer.

[blog] Embedding Lua in ZDoom

I’ve spent a little time trying to embed a Lua interpreter in ZDoom. I didn’t get too far yet; it’s just an experimental thing I poke at every once and a while. The existing pile of constraints makes it an interesting problem, though.

[blog] Accessible games

I’ve now made a few small games. One of the trickiest and most interesting parts of designing them has been making them accessible.

I mean that in a very general and literal sense. I want as many people as possible to experience as much of my games as possible. Finding and clearing out unnecessary hurdles can be hard, but every one I leave risks losing a bunch of players who can’t or won’t clear it.

I’ve noticed three major categories of hurdle, all of them full of tradeoffs. Difficulty is what makes a game challenging, but if a player can’t get past a certain point, they can never see the rest of the game. Depth is great, but not everyone has 80 hours to pour into a game, and it’s tough to spend weeks of dev time on stuff most people won’t see. Distribution is a question of who can even get your game in the first place.

Here are some thoughts.

[blog] Word-wrapping dialogue

I have a teeny tiny pet peeve with dialogue boxes. Er, not dialog boxes — dialogue boxes, the ones in video games with scrolling lines of dialogue.

A fake dialogue box, with scrolling text that jumps when it wraps

I recently wrote a dialogue box, and I saw a game that made this mistake, so here’s a post about it.

[blog] Doom scale

I’ve been dipping my toes into Doom mapping again recently. Obviously I’ve done it successfully once before, but I’m having trouble doing it a second time.

I have three major problems: drawing everything too small, drawing everything too rectangular, and completely blanking on what to do next. Those last two are a bit tricky, but struggling with scale? That sounds like a problem I can easily solve with charts and diagrams and math.

[blog] Succeeding MegaZeux

In the beginning, there was ZZT. ZZT was a set of little shareware games for DOS that used VGA text mode for all the graphics, leading to such whimsical Rogue-like choices as Ă€ for ammo pickups, Ω for lions, and ♀ for keys. It also came with an editor, including a small programming language for creating totally custom objects, which gave it the status of “game creation system” and a legacy that survives even today.

A little later on, there was MegaZeux. MegaZeux was something of a spiritual successor to ZZT, created by (as I understand it) someone well-known for her creative abuse of ZZT’s limitations. It added quite a few bells and whistles, most significantly a built-in font editor, which let aspiring developers draw simple sprites rather than rely on whatever they could scrounge from the DOS font.

And then


And then, nothing. MegaZeux was updated for quite a while, and (unlike ZZT) has even been ported to SDL so it can actually run on modern operating systems. But there was never a third entry in this series, another engine worthy of calling these its predecessors.

I think that’s a shame.

[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: HD Remix

September is continuing the three big things in particular.

I spoiled most of this last week.

  • gamedev: I did Ludum Dare 36! I made a little PICO-8 game called Isaac’s Descent in 48 hours.

    Also, I started working on Isaac’s Descent HD Remix, a fancier port in LÖVE. In fact that’s pretty much all I did all week, including pixeling a new walk sequence for Isaac and porting all the maps to Tiled and some other stuff. The last couple days in particular went down the collision drain, ugh. Good book fodder, though.

  • blog: I published a timeline of my progress on my Ludum Dare game.

  • book: Oh, yeah, I’m writing a book. I wrote a ton of notes for a LÖVE chapter, based on what I did so far for Isaac HD.

  • music: Fought with a few trackers, with limited success, in an effort to find a grown-up equivalent to the PICO-8’s music tools. Renoise looks interesting and I’ll play with it more, but I don’t know if I want to plop down any real cash for something I’m only just starting to do. I might end up just using LMMS.

No big surprises. I still need to get back to work on veekun, but I’m a bit distracted with LÖVE at the moment, oops. And of course I have another four posts to write this month, somehow…

[release] I entered Ludum Dare 36

Short story: I made a video game again! This time it was for Ludum Dare, a game jam with some tight rules: solo only, 48 hours to make the game and all its (non-code) assets.

(This is called the “Compo”; there’s also a 72-hour “Jam” which is much more chill, but I did hard mode. Usually there’s a ratings round, but not this time, for reasons.)

I used the PICO-8 again, so you can play it on the web as long as you have a keyboard. It’s also on Ludum Dare, and in splore, and here’s the cartridge too.

Isaac's Descent

But wait! Read on a bit first.