Considering that it’s designed specifically for making video games of all kinds, you’d think that it would be easier to make one in Unity than, say, a Web browser environment. Turns out that that’s not necessarily true.
For one thing, remaking CaveBlade is going even slower than I expected. Sure, lack of time contributes to that, but I’m also kind of frustrated by the need to stick to the conventions of GameObjects and MonoBehaviours and such. A lot of things that used to work in a surprisingly simple way… just don’t in Unity.
That’s even more obvious when I try a concept that’s actually designed for Unity! You see, after watching Fantastic Beasts and Where to Find Them for a second time, I couldn’t help thinking how cool the ability to apparate is. (For those not familiar with Harry Potter, that’s a teleporting ability that was used a lot more in the new movie.) So, I downloaded a little playground and tried to see if I could give the player something along the same lines.
The most important aspect, to me, is not that the player can jump instantly across distances, like in the game Dishonored. What I wanted was something that would let the player pass straight through a wall, without getting stuck inside it. That means that I needed the warp to detect if the player’s inside a wall, and keep running until the player gets past it.
Knowing the little I do about Unity, I thought that its collision system would work fine for this. You can set one collider as a “trigger,” which means that it still detects hitting things, but doesn’t actually stop you from going through it. For a warp that needs to go right through objects, that would be a perfect solution, right?
Alas, for some reason, my player can pass inside and still gets stuck in some objects, but gets completely stopped by others. It seems that I haven’t accomplished either of the two pieces of my goal, and I’m left wondering why.
Maybe this is what I get for going back to an engine I’m not really trained in…