UI Controller Support
Finally finished controller support for the UI. All in all, it was not very pleasant to work on. A large part of this had to due with the fact that I knew Unity 4.6 already has controller support, but because I’m stuck with 4.5, I had to solve these problems in a rather tedious way.
Most of it I ended up just hard coding, since I knew I was going to have to rewrite at some point anyway.
Sometimes, good enough really is good enough.
Yesterday, I met up with my friend and fellow Chicago-based game developer Kyle to talk about the status of the game. Kyle is actually the second person I showed the game to (the first being my roommate at the time) back in 2012 when I started working on the game. He has seen the game progress over the course of two years, starting when the mechanic had the world rotating instead of the player rotating.
Anyway, one thing that came up during the conversation was the issue of game feel – specifically the movement of the player rotating to switch walls. My attitude towards this aspect of the game was that it was basically just polish, and what I had was sufficient to convey the idea.
In fact, since getting the basic mechanic to work, I hadn’t touched this code.
However, it became clear in the conversation that this was something I need to work on, because it’s actually an incredibly fundamental part of the game. For so long, I had been focused on puzzle design, pacing, and aesthetics, that I had overlooked the one action that the player performs the most. It feels very clunky to move around and change walls.
I started to look into this, and I think I will spend the next several weeks trying to improve game feel.
One issue that I think contributes to the clunkiness is that after rotation, the player’s speed goes to zero:
This happens even if you’re holding the joystick forward. I think this abrupt drop in speed contributes significantly to the poor game feel. My first task in improving game feel is to fix this, so that right after rotation, you actually keep your momentum, and there’s no unnecessary drop in speed.
Of course, the problem is that I wrote much of this code during the early days of development, back when I was still learning Unity, so it’s really hard to figure out exactly what I did or what I was thinking…