Week 10
Not a terribly busy week, and no screenshots to show. This week’s work was mostly just continued work on sim regions and other odds and ends.
Day 1
Today’s work was just continuing the conversion process to sim regions. We created a hash function to handle the sim regions in the active region (I’m pretty sure, that whole section was kind of a mess in my brain hole), and we moved some functions around to different files. Terribly boring.
Day 2
We created a new entity file to handle all stuff relating to entities, so that functions are in the file where they make the most sense. We also finished cleaning up the sim region conversion and got things back to (mostly) working. This conversion, while a necessary step, has made the last couple days less than spectacular about which to draw you a word picture.
Day 3
Today we started adding support for non-spatial entities. This change was to allow for ignoring non-spatial entities for collision; I believe it’s also necessary for handling the sim regions outside of the camera bounds.
One other lovely thing happened: http://farginnoob.tumblr.com/post/137406879347/scope
It’s a short read, but the TL;DR is that I didn’t see a secondary variable set in an inner scope and it screwed my game up. I spent a good 3 hours searching for that little bastard.
Day 4
I did a little of my own extra work today. Because we moved the hero into being mostly handled in the sim region, I lost the ability to check her facing direction. So I had to do a little rejiggering to make sure I could keep that and let her continue to shoot in the direction she was facing. Other than that, our odds and ends week continued with minor changes here and little fixes there.
Day 5
Today’s work was all to enforce maximum movement distances. This was primarily (though not exclusively) to handle the sword going the proper distance and despawning. Essentially we had something like this already, but we wanted to rewrite it to properly use the sim region logic and check its remaining distance properly, which wasn’t doing in a good way before.
Day 6
Today was really the most interesting day of this week’s work: creating pairwise collision rules that were stored in a hash table that could be easily accessed, dynamically added and removed, and solves the issue of creating huge switch or if statements to keep track of what can collide with whom.
Each entry simply stores the two entities upon which the rule executes, and whether or not they collide. A simple lookup tells us whether a rule exists for the entities in question or not, and if not, we can create one by default to say it does (or doesn’t). It’s an approach that I would not have considered.
Day 7
We didn’t do much today, just a couple of quick fixes on functions that had small bugs in them. Other than that, we outlined what we plan to do for the next few weeks.
Summary
So that’s it: a very dull, very short week of (almost) no joy and excitement in our programming lives. Hopefully next week is better!













