031 // Not Yet Dead
Before anything, an image, because it has been a very long time without one:
Seedbird, in Nigran Cavern's Depths. The ripple effects are new; I created and implemented them just yesterday!
Hello! Sorry for the long delay; I had been called out of town for all of June and July on family business, and, I suppose, for a long road trip of several thousand kilometers (each way!) with one of my beloved girlfriends. During this time, I was unable to post meaningfully, or work meaningfully, or I suppose really deal with life in general, which, for me, is something of an ordeal, meaningfully.
Kind of a few things happened, and this post is rather long, so I will break it here and you can read it at your leisure~
While I was out of town, I found my old laptop had developed some additional bluescreen-style problems, and I sought to retire it before it died entirely, which I did. Through the help of a friend, I was able to procure for myself a new laptop at a price I could afford, which, for various reasons, actually turned out to be more machine than I need-- a bit of fortune for me on a throughly-mixed-results 'vacation'. The adjustment to Windows Ten has been fairly smooth, although it still does a few things I do not entirely appreciate. Nothing truly problematic; mostly "Who thought this was a good idea and what could their rationale have possibly been?" moments and a bit of wonder why the default photo viewer becomes less and less capable with each new iteration. Reinstalling all of my favourite software took almost no time at all, though I discover things I am missing on a weekly basis. Completely resolvable problems, all.
This situation also allowed me to update my version of Python (a thing I ought to be doing more diligently anyway) and to update my version of Pygame from version 1.9.1 (released August, 2009) to 1.9.3 (released January of this year). There was a version 1.9.2 that I tried to download last year, but which created a number of strange problems for me so I rolled it back. I am pleased with this new version, though; there was a little retooling and a few mysteriousities, but they seem to have been mostly corrected. Being up-to-date is nice, and not just for practical reasons, but for self-satisfaction ones, too.
In any case, I am returned now and I hope to get things back on the rails with this project. The first challenge was settling a number of reasonable, less-reasonable, and outright-idiotic file structure issues I had casually created on my previous workstation, mostly to do with file paths being mapped to absolute, rather than relative, locations. In layman's terms, I had told my engine exactly where each file was on the hard drive, rather than where the files were relative to itself. The significance is that in the first case, for the program to work, each file must be in exactly the right folder, starting at "C:", and every file from the previous laptop must be replaced in that exact location. This, I tell you now, is stupid, and not a thing you should do if you ever plan on taking your programs off of the hardware you create them on. I recall the thought that it was a bad move at the time, even those years ago, but went and did it anyway. It took one or two days to reconfigure my map files so that they were able to draw assets from subfolders (directories contained by whatever folder the program itself is running from); I spent some of that time retooling the loader and editor to handle these new relative locations (directories 'visible' from the one the program is running from) as well. It was all dramatically less work than expected, and finally settling this bit of juvenilia* let me put at least that one element of shame to rest: a piss is removed from the ocean! >:D
Moving on, I returned to the matter of Matan Village, permanent address to many several. Originally, I had planned to draw the entire settlement, buildings, flora, citizens, and all. This, I have determined, is actually neither necessary nor even useful to the game: the town would be enormous by comparison to the other maps, the plot does not focus so heavily on the place, and the player would spend a lot of time walking through an area just to get to another, rather than to see the sights (though I would be flattered if they did) or to meaningfully advance the plot (though I could find a lot of ways to do this, it would not be the 'purest' solution). Instead, I have elected to change the structure of the town somewhat, hopefully in a way that is convenient to the player, practical to develop, consistent with the style of the game, and structurally not-jarring. I have a solution that I am confident can accomplish at least two and a half of these things, which I regard as "pretty good" and please look forward to it! <3
Besides all that, there have been several other modernizations of my old code, including some optimizations and restructuring of old methods and mathematics. One of the somewhat discreet and worrisome issues I have found with this new hardware is that it so broadly outperforms my old machine that I can no longer tell easily when my code is badly inefficient, because this new hardware is perfectly capable of powering through my shitty programming, even with Python's relative (perhaps "objectively") weak performance in graphics processing taken as a handicap. Granted, my old machine was substantially below-average in terms of its processing power: it was an old model when I got it in 2013, and by the time it retired, its thermal problems had become so severe that I was only able to run it comfortably in 'Battery Saving' mode. I was able to maintain thirty(ish) frames-per-second most of the time, though occasionally there were functions it struggled with. No longer is this the case: old hill-climby, chuggy-struggling effects are taken as nothing. With an unlimited framerate, the game slows from 145fps to 102 (a steep decline but not one which would effect normal operation). Previously, this area would slow from 66fps to maybe 22 or 25. Be assured that this module is at the top of my "Do It Better" checklist-- it has to do with realtime image processing and possibly I will just learn how to do it in C and write an extension..? That stuff is entirely new ground for me, though, and I have plenty of things in front of me to do first. Just regaining my momentum is hard enough. :s
Anyway, that is about all I have to report for now. I hope to have more images and information to share soon; I shall try to get back on the wagon with my weekly updates as well and I do apologize for missing so many of them.
Thanks for reading all the way to the end! See you next week! :D
* Fun fact! I had originally typed this word as ‘juvenalia’, which looks correct but is not. The true word I was after was ‘juvenilia’, which refers to the (often embarrassing) work one does in their youth, rather than the former, with an ‘a’: a holiday in classical Rome.







