Quote of the Day: “$10,000!!???!?!?!?!?!!? I thought it would be closer to 3!” -Danh, on Apple licensing software.
Music of the Day: Big Money went around the world. I Flew by Night. And I did indeed Live in the Limelight. Rush. Rush songs those. Some Green Day slipped in there too, but for the most part I was on a Rush streak.
I started today by fixing a few minor issues, chiefly the hitboxes on powerups. During my testing, I had messed with the scale on the powerups to get them looking right (There’s a much longer and more complicated backstory behind this that would take many paragraphs to explain, so we’re going to settle with that for now). Doing so however had not increased the scale of the hitbox, so these normal sized powerup pickups (well, normal in the scale of Minibotz) had a hitbox the size of a seasame seed. Here’s what a powerup looks like by the way:
That’s the super attack one. All I really had to do was bump up the hitbox by the same factor that the scale increased, but it was an important change. The tiny hitbox meant that you had to run right over the very center of the powerup, which in game meat that you had to focus far more on that than on the hordes of enemies bearing down on you. So a good thing to un-break.
Then I began work on a control script for the new game mode (which actually happens to be called “Control”). Basically, if you’ve ever seen League of Legends or Dota 2, or another similar MOBA game (I realize that that will probably be meaningless to most of you), it’s a game mode similar to that. Players can capture one of the enemy spawners to have the enemies spawn allied to them. They can then command their new minions to attack another spawner in hopes of thinning out the enemy forces and taking it themselves, protect them so that they can move around the level without worrying about the other players as much, or defend any points they have captured from other players. You gain points for having the spawners captured every few seconds, and once a player reaches a certain amount of points they win. Hopefully that all made sense.
However, all of those actions, along with the commands for which spawner to target when attacking, have to be bound to buttons on the controller. Here’s a picture of an Xbox controller so that when I explain the bindings, you know what I’m talking about:
The X button will command the minions to defend a chosen point, the Y button will make them escort the player, and the B button will have them attack a chosen target. Those targets are chosen on the D-Pad, with each direction corresponding to one of the 4 spawners. There will be indicators added in and all of that so that the player knows what they just commanded, but for now I just needed to get those Inputs readable. So I went to Unity’s inbuilt input section, and holy cow was it a chore. A necessary one, but a pain nonetheless. The thing that made it so tedious was the fact that I needed one of those commands (keep in mind that there are 7 in total, the 3 buttons plus the 4 d-pad directions) for every possible controller that could be in use, which means doing those 7 inputs for all 4 possible players. It was lessened slightly by the fact that the D-Pad buttons are actually input as an axis rather than a button (for all intents and purposes Unity considers them a joystick), so they ended up only needing 2 binds per player, one for horizontal and one for vertical. But each of those binds has a bunch of fields that need to be filled in, like this:
That’s all 20 inputs. And every single one of them looks just like that expanded one. It was a real fun time filling all of those in. But once it was done, I made sure the system was actually detecting my presses (would have hated to do all that work for nothing. And probably would have broken a controller). I went back to Timmy’s projectile. It’s still being a pain in my butt. I managed to get the shot trajectory back to the way I had originally made it, so I knew it was calculating the correct target location and shooting at the right angle towards the player, but it was still splitting into the two parts instead of moving as one. It really didn’t make a whole lot of sense. After messing with it and becoming increasingly frustrated, I resigned to asking Alex if he had made any small changes that were impacting it tomorrow.
I was about ready to go, but right as I was about to leave Jeremy discovered a potentially game breaking-bug: if timed right, a player could jump infinitely just after picking up a powerup. Now, I was having enough frustration already, and the last thing I needed was to have another thing that I made cause a problem that hadn’t been there when I was testing. Thankfully, the issue seemed not not be with my powerups but rather with the player’s jump code itself. Maybe someone had made a tiny change somewhere and neglected to swap it back, or maybe a file got corrupted, but either way it wasn’t my fault for once. I might end up taking a look at that tomorrow.
If you’ve made it this far, congrats! I’m gonna add a smile personal tidbit in here: I confirmed my intent to enroll at the University of Utah and reserved my dorm room. The realization that I’m actually going to college in a matter of months has really started to hit now. Thanks for reading!