Lots of distractions, but some decent progress this week. I’ve got the Detail layer editor roughed in now, to the point where I can drag details around and get them where they need to be. It’s not a lot, but considering how distracted I’ve been with other work it’s not too shabby.
In developing this, I needed to do a hit test of the cursor against all the details on each frame (actually just whenever the mouse moves, but that’s each frame often enough). That’s the sort of thing that can add up pretty fast, so I spent a little while thinking about the optimal way to do this, before deciding that before spending a lot of time figuring out something clever I should try doing it in the most obvious way possible and I brute force tested it against every detail in the list…
And it worked fine.
All this is to say, that old programmer adage about premature optimization being the root of all evil? Totally has a point. It’s especially true with an environment like Flash/AIR which is still being actively and aggressively optimized. I’m still operating on the assumption that function calls have a non-trivial overhead, which was very much the case in Flash 9 and 10, but I honestly have no idea if that still holds true. I should spend 15 or 20 minutes testing later this week to find out.
Anyway. For once I’ve actually been playing a lot of different games instead of a few games way too much, and it’s really getting me pumped for putting some more work into the storytelling, gameplay, and aesthetic aspects of this project. I’ve definitely spent way longer locked entirely into the programming side than I’d expected, probably because the expectations of programs are delightfully clear most of the time.
I’ve got one more week of daily distractions to work through, and then I should be able to re-focus on this project. By the end of the year, I’d like to have the entire code side up to where it needs to be for me to make a release-quality demo level.
Next week: I aim to have a detail editor menu which allows loading of image assets and modification of loaded details. If I have extra time, I’d like to make it so the existing level editor save/load functions also store level data files which store detail placement and orientation (and will be used to store other such information as new editor features become available).
Oh, also: At some point here I’m probably going to be switching DevBlog updates to Sundays and doing other blog posts on a MWF schedule. Haven’t decided exactly when I’ll be implementing that change, but probably before or at the end of the year.
Oh, and one other thing. Ludum Dare 25 starts tomorrow. I probably won’t be able to do it the way I did last time, but I may try to bust out a quick one-day project if possible just to get in the spirit. If so, there may be some accompanying bonus updates this weekend chronicling that. So, uh, I guess look forward to that, probably!