What Month Is It?

Well, that’ll teach me to make predictions about when I’ll blog more…

What I actually meant was that I have a pile of posts or kinda-sorta-posts sitting around waiting to be edited (or in some cases finished), and I thought I’d cleared up the things that had kept me tied up and would be able to get back to it. I was obviously wrong, because there were… more things to keep me busy. Continue reading

Status 2015-03-17

Today I learned how to import a Python file from another Python file when they aren’t in the same directory, manipulating the sys.path list before the import (which, really, seems nicer than using some other, possibly deprecated, method to load up the files instead of the essential import approach). I’m not using Python in any of my games at this point, I was just fiddling around with Biicode (a C++ dependency manager — a thing that’s supposed to help make it easier to reuse code libraries in other programs) to see how it compares with my own method of putting my projects in one place and the libraries I use in another so I can direct my IDE (that’s Integrated Development Environment for the non-programmers in the audience — just a glorified text editor and a project manager rolled into one) to the place where the libraries are and use them in any project. You don’t have to know any Python to use Biicode either, for that matter, I was just trying to find out if I could extend it to do something handy. (As far as I can tell I could — but getting it to the point where it was better than doing what I needed manually wasn’t really worth the trouble, especially since I thought of a pretty good alternative approach.) Not sure yet if Biicode’s advantages are relevant to the games either, but at least I have a decent grasp of how it works now and should be able to spot a good reason to use it if one ever comes up.

I have got to review my posts and figure out if I can improve the consistency of the tags… this can’t be the first time I’ve talked about libraries or IDEs, can it?

Learning from Mistakes when Playing

Most videogames or computer games (and to a lesser extent, albeit in quite different ways, many games in general) involve learning from your mistakes as a player, if for no other reason than to provide some challenge or better yet increase the difficulty over the course of the game beyond merely increasing the required level of skill in timing, aiming or reflexes. There are, however, two sorts of things that can be learned from mistakes — or, in a sense, two things the game can give the player to learn from; and they could not be more different in how they shape the game.

Continue reading

Are Graphics Highly Logical and Emotionless?

For the record:

  • I did hear about Vulkan.
  • I am interested to see how it compares.
  • I don’t know what compatibility/support will be like (e.g. will it be supported by graphics cards from five years ago and simply be a more powerful way to use them, or will it require hardware that only comes out next year…).
  • I don’t know how long it will take to update my code once I’m able to and assuming I decide I want to.
  • I don’t know when I’ll be able to upgrade in the first place.

Stay tuned, I guess?

Status 2015-02-25

How you know your impressions of Spring were premature: Niagara Falls freezes over. Funny thing is, where I used to live, this “winter storm” stuff was basically normal Winter weather. One to three feet of snow was on the ground for most of Winter, and my parents say (though I don’t particularly remember — maybe they just kept me indoors when it was an issue) that the windchills were downright dangerous. And then again, now that the storms are over the weather is actually fairly pleasant; this is the sort of Winter I like, really, where you can romp around outside if you want to.

I’ve been dealing with taxes and with more internet trouble lately, digging into some of my non-game-related projects, waiting up late at night to see if any of my friends knows the solution to a programming problem in a specific implementation/vendor, and fighting off disappointment at discovering they don’t even do SQL; so those are my latest excuse for not having had much to say on here.

Tangentially, however, one of those other projects has prompted me to give SQLite a shot, and it turns out it’s a pretty good alternative for merely storing a bunch of data rather than using the filesystem for separate files and some kind of structured data file both to define text-based stuff and to tell the program where to find the other various files. I will probably end up making my settings and data management/loading code modular enough that a player can choose whether to use SQLite or a combination of XML and the filesystem (or other options/formats if I come up with them, although I find it easier to verify the structure of well-organized XML than most other popular text-based structural formats), and so let people have whichever they prefer rather than necessarily tying my stuff down to one or the other. (Modularity is a wonderful thing, isn’t it?) And in that respect I guess I have made a little progress lately in game-related stuff after all, at least on the conceptual level of understanding the tools I can use.

Melting Snow

The weather was pleasantly sunny today and the snow melted. Notice I don’t say “finally”; around here, sadly, snow is rare even in the dead of Winter and melts almost as soon as it happens in the first place. That said, it smells nice — almost like rain, and a bit like something else… Spring, I think. I hope it warms up just enough that I can open the windows and get some fresh air in here.


One of the nice things about where I live at the moment is south-facing windows; I’m far enough into the northern hemisphere that in the morning I can see the sunrise out of the left side of said windows and the sunset out of the right side. (It helps that they’re pretty big windows.) Granted, I don’t generally stop to watch them — especially not sunrise, which typically occurs while I’m trying to force myself out the door and onto the bus to my day job through the fog of not being a morning person during the morning. Still, for as cooped up as I am, I just like having sun on my face; sometimes I’ll even endure glare on my computer screen just so I don’t feel like I’m in the dark. I’m out too rarely simply because there are things to do indoors, even setting aside the fact that I am too averse to displeasure to tolerate avoidable lack of comfort due to such things as weather. My desire to be surrounded by the glory of nature cannot simply be squelched; if I need to be indoors to get things done… if I don’t actually like being exposed to the raw elements most of the time, at least let me see them in the background of my life!

Status 2015-01-31

And then there was that digression where I insisted on trying to learn functional programming even though I can’t think of how it would help my projects, just because I wanted to know what other programmers were talking about, and I never did get my head around monads ([endo]functors, yes, what makes monads special even among [endo]functors, no), but I did accidentally end up figuring out what lambda captures are good for and how to use them more easily/helpfully if I ever need what they’re good for.

No wonder I never finish anything.

On the Twelfth Day of Christmas…

…and a Happy New Year?

So, December was a bad month for me personally in a lot of ways. I couldn’t even finish dealing with some things that had come up because other things came up to interfere with them. To top it off, I was sick over the holidays. I’ll spare you the details.

I’ve still got other things I need to work on and/or follow up on, too, so I don’t think I’ll be able to do much game programming or blogging for a while longer… I just wanted to let anyone who cares know that I’m still around, sort of, and should be back “later”.

Unintentional Hiatus

Certain local utility services providers have made some mistakes that may result in my having no internet at home for a couple weeks, give or take. If you don’t hear from me till nearly Christmas, that is the most likely reason why. If you do hear from me sooner, this post may turn out mildly amusing in hindsight.

Status 2014-11-26

During the commute to my day job I was thinking through my settings management design and had a breakthrough on some implementation details I’d been having trouble with. I think I have all the pieces I need now and just have to put them together. I guess we’ll see which happens first: developing the code or blogging about the design… or maybe even blogging about the games as games instead of this technical stuff?

I have plans in real life for the holiday and the weekend, so hold that thought.

Status 2014-11-21

I was working out the design for settings management specifically to thwart a pet peeve of mine that I probably shouldn’t even worry about for games (although, it may extend to moddable data, so maybe it would matter) when I realized it potentially overlapped with a design for something else settings-related I had for one particular game, so I’d have to go back and review my notes for that. While I was trying to sort through a lot of old papers in varying states of outdatedness, my part of the country suddenly became a snowbound land and my family simultaneously if coincidentally came under the weather. It’s been like that all week… although I’ve listened to some very pretty snow-themed music (or at least, it’s the sort of music I’d use for snowy things anyway; I’ll have to see if I can find a version of any of it anywhere that could be embedded in the sidebar). I did eventually get a pretty good grasp of several of my old designs, the extent to which they’re still relevant, and how the ones related to the current settings management project should be updated and would relate to said project; now I just need to map it all out so I don’t lose track of it in programming.

Status 2014-11-13

It smelled like snow today. …Well, actually, I think there may have been a little snow. If any snow came it isn’t sticking around… yet…

Been stepping back to review some of the other components involved in my designs and to work on drafting more interesting posts. I think I procrastinate from development with blogging and procrastinate from blogging with development. Would that be cocrastination or something? Whatever it is, it increases long-term productivity (by keeping me focused on one useful thing or another) instead of decreasing it like normal procrastination.

Status 2014-11-03

Put together the interface for wrapping/limiting text within a specific area, then got sidetracked trying to tweak something I came up with to prevent the behavior from depending on which data type variables or literal values are implicitly converted to. That still could use further research/cleanup, but what I have works for my current purposes, so I decided to press on. Then I realized that simply moving to the next line isn’t right — the whole word needs to be moved, which means either rolling back the loop/list of letters or splitting it up into a list of words. Splitting it up into a list of words could also be helpful for handling text flush right (or text that’s flush left in right-to-left scripts, though I’m not really ready for that in general; the alternative is splitting it up into lines that are handled as units instead of words), or justified text alignments (where the text on each line reaches both the left and right ends, with the spacing adjusted to do so evenly), although I’m not sure whether I’d ever use such things. The long and short of it is that while treating words as units is more complicated to program, it’s more efficient than having to go back and undo some of the letter layout or having to go over each line again and adjust every letter, so I should probably do it in case it comes in handy. I guess adding per-word layout and changing the current per-letter layouts to be within their respective words will be the next step, then line wrapping and handling multiple lines.