General Update Log No. 15

Posted on 29 November 2023

The season’s changed once again, snow has fallen, temperatures are in the negatives, and Mariah is on every radio station.

And on that note, I’ve once again got to deal with moisture seeping through the wooden window frames. It gets particularly bad in the case of the one window in my bedroom, where usually the entire glass pane gets covered in moisture every morning, but the other windows have at least some on the bottom and sides, too. My mom ended up buying an electric window cleaner for precisely this occasion. It has a squeegee attachment as well as a vacuum specifically for liquids. I wasn’t too impressed with it at first, but after figuring out the trick to it, I found that it’s quite the helpful asset, after all.

Regarding the rest of my life since last month, work has been pretty fulfilling as always. I had an employee interview last Monday where I was pretty much showered with praise and overwhelmingly positive feedback the whole time. It’s still hard to believe that I’ve made this much of a name for myself after only five months, especially after going all my life being told that (or at least feeling like) I’m a failure and that nothing I do is ever good enough. Maybe that’s why I was pushing myself so hard the whole time — simply not wanting to be seen as a dead weight.

The stress I’m putting on myself has been affecting my physical health negatively, though. Just the other week, I ended up having to take a sick day because I was simply too exhausted to go to work. It made me realize just how out-of-shape I’d gotten, and that something would have to change if I wanted to have energy for my hobbies and creative endeavors. As a result, I started doing cardio again, half an hour every other day. I recalled reading that it helps both with relieving stress and improving my stress tolerance. I’m nearly two weeks into my new routine, so we’ll see how it goes.

I’ve started journaling near-daily again, too — even outside of writing these monthly logs. I used to be pretty on-and-off about it, but it’s generally been a great way for me to process my thoughts and provide some much-needed self-organization and accountability, so I’m glad I’m on that again.


Speaking of self-organization, the lack thereof as well as my general lack of energy (prior to restarting my workout routine, at least) has left me with precious little opportunity to work on the things I’d like to work on. Even during my vacation last month, I didn’t actually get that much done in the end. It’s honestly pretty vexing that I can’t seem to bring myself to do much of anything, even when I have all the time in the world.

It got me thinking... What could I do to keep myself motivated, or at least accountable for long enough to get my momentum going again? My first thought ended up being productivity streams, much like the ones JynX has been doing, where I’d just sit there in (mostly) silence for an hour or two working on stuff while viewers could use that time for their own activities. I’m not sure how many people would actually tune in, but then again, it’s really not about the viewer count, anyway. It’s about me getting stuff done.

And then I thought about how to lay out my stream. For various reasons, I’d rather avoid showing my actual screen (not least of all because I might be working on stuff I’d rather not reveal until it’s actually done), so I might leave some kind of footage running instead, like how JynX has his marble game. When I wracked my brain over what I’d have that’d be similar enough to be suitable, I thought back to my old Sokoban clone that I coded way back in 2016 (though I released it in 2018). I figured that, since it’s got at least 100 levels, I could modify it to play itself and then use that as the idle footage. After all, there might be something both relaxing and satisfying about seeing a messy level get gradually cleaned up.

I wasn’t too sure if it’d be worth the effort to port the game over to GMS2, but then I ended up getting started on it literally the next day, anyway. More on that later.

The other question was a matter of how to schedule those streams. Obviously the weekends would be a good time, but it’d be great if I could do them during the work week, too. Ideally in the mornings (so between 6 and 8 AM UTC+1), since that’s the time I’m trying to set aside for productivity, anyway. Evening streams (between, say, 5 and 8 PM UTC+1) would be a viable option, too, but only on non-workout days. Either way, I suppose we’ll see what (if anything) ends up happening.

I’m also planning on streaming primarily on YouTube, simply because I can schedule my streams there in a way that’d allow subscribers to see them coming up in advance. If I can figure out how to dual-stream to both YouTube and Twitch, though, I might do that. Hopefully you’ll look forward to my streams when (or if) they start happening.


Now, about that Sokoban clone... For some reason, I’ve been finding myself extremely motivated to work on it, to the point where I would get out of bed and have breakfast as early as possible just to maximize the amount of time I get to chip away at it before needing to get ready for work. In a way, it’s actually become kind of an addiction — at least for the first few days; it’s kinda tapered off to normal levels again by now.

Progress has been pretty rapid so far, too. After all, it’s just a matter of rewriting the same code (or rather refactoring it, now that I have those extra seven years of experience and I get to make use of features GMS2 has that GMS1 didn’t at the time). The startup sequence, menus, and core gameplay loop are all done, and I’ve even implemented a setting for switching to a double-res set of graphics (even if I’d say that the blocky, lower-res graphics still have a certain charm to them).

Something else I’ve implemented, which I’ve been hinting at in the third of these update logs way back in 2021, is a training mode of sorts. You get infinite attempts and the ability to undo your moves (each undo rewinds to just before you started pushing the last crate you touched, though there’s no limit to how far you can rewind), but your records won’t get saved. However, you’d still be able to unlock new levels in this mode.

And, of course, the aforementioned autoplay feature has been implemented, too. The hardest part about it was the solutions themselves, actually. I grabbed step-by-step solutions from an FAQ for the SG-1000 version, but roughly a dozen of those didn’t work for various reasons: either I made mistakes when copying the levels (and, much to my dismay, all of those mistakes are present in the current v0.50 release of the game, meaning the SG Pack is literally impossible to complete as there’s one level where there are more crates than dots), or the FAQ itself inadvertently provided simplified versions of the levels. I ended up having to download JSoko in order to help me work out solutions for the latter, and its auto-solver wasn’t even all that useful, since in most cases it would simply get stuck forever. Because of that, I had to solve most of the levels myself, looking at the solutions for the incorrect levels from the FAQ step by step, and deviating from there where I needed to in order to account for the actual levels’ more constricted designs.

But at the end of the day, it’s all working now, and the broken levels on my end are all fixed, too. As a matter of fact, letting the autoplay solve all 100 levels back-to-back would take well over six hours. I’d say that’s plenty of time for productivity stream footage.

There isn’t too much stuff left to do, either. The biggest fish are the in-game editors, of course. The rest is fullscreen support, storing records for least steps and pushes on a per-level basis, better input handling (as well as some QoL changes for the menuing), bilinguality, secret levels, secret win animations, and some other stuff I can’t think off the top of my head yet but will probably stumble upon as I do the other things.


And that... might’ve been one of the biggest updates in a while, actually. I know I didn’t say anything about the website relaunch or the album, but that’s because the Sokoban clone has been where all my resources are being put into right now. I want to get it finished up so I can use it for productivity stream footage, and then I can use said productivity streams to work on those other two things (and other stuff later down the line).

Until then, stay warm (or cool, depending on where you live), and you’ll hopefully be hearing from me again one more time before the end of the year.


...Oh, by the way, I meant to mention this a lot sooner, but I’m on Bluesky now. Here’s my profile if you want to give me a follow!