I’m starting to understand, Kirb old buddy, why it took you nearly a year to get 2D physics under control.
This has been a baffling past week in a way that I can only call the Unity equivalent of the unexpected discovery of the accelerated expansion of the universe and the proceeding need to posit and model dark matter as an explanatory hypothesis.
Put more simply: game physics always seem to be just a couple steps shy of operating in the way that one predicts. All the placeholder rocks in this picture—the big ones—have colliders (essentially hitboxes, defined boundaries for collision detection). I’m sure of this: I followed various tutorials multiple times each to make sure I did everything right. The placeholder characters have colliders. I’m sure of this because they can’t move through each other.
But the controllable character can move through mountains. Now, at first I thought this was like the opposite of dark matter: instead of seeing an effect on the universe and inferring the existence of invisible matter with certain properties, I see the absence of an effect and infer the non-existence of my visible matter.* That’s also how a certain scene in the st—oh, wait, spoilers!
Then I discovered something interesting. The controllable character can move through mountains, but the stationary character can’t; I can push her around the map, but not through mountains (or over the water). This means that the colliders always have been working, but somehow I’m unintentionally overriding them with my character movement script.
All of which means that now I’m on the hunt for a pathfinding solution. I need a way to check where I’m about to walk before I walk into it so that I can stop before I move instead of starting to move and then detecting whether I should stop.
The most promising solution I’ve found so far is unfortunately geared toward polygonal games—its own creator says that it’ll slow a tile-based game down quite a bit—so the search continues.
* The above concludes today’s game developer content. Now for a philosophical tangent: You may have heard the saying that “absence of evidence isn’t evidence of absence,” but that’s not a universal truth applicable to all situations at all times. To illustrate: the fact that I’ve never seen a coyote on my way to Las Vegas isn’t evidence that no coyotes live anywhere in that desert area, but the fact that I’ve never seen a coyote in my house is powerful evidence that no coyotes live in my house. This is because of probabilities—there’s no guarantee and not even necessarily a likelihood that I’d see coyotes while driving if they were there, but there’s an extreme likelihood that I’d encounter a coyote in my house.
So it would be reasonable to assume that my visible colliders somehow don’t actually exist if they have no impact. (I was still half-joking, though—it’s more likely that my colliders were broken than non-existent. =P)
Essentially, whenever an unpredictable agent enters the picture, like animal behavior or especially a person’s inner thoughts, then “absence of evidence isn’t evidence of absence” applies at its best. The fact that someone has never expressed interest in skydiving, for example, doesn’t mean that she doesn’t want to try it; it only means that she’s never felt a need to express it at a specific point in spacetime when and where you were within earshot. And so you learn and build relationships on the basis of suboptimal, incomplete knowledge about one another.
Speaking of intense romance, did you know that diamonds are thermodynamically unstable matter that will, over millions of years, eventually transform into graphite? So next time you consider buying a diamond ring, try looking into a box of pencils instead—they’re a more ultimate form of matter, the super saiyan to diamonds’ base form, battle-hardened and time-tested by years of entropy.