The Path of the Game Dev — Day 18
Just another day slogging through this boss, but I think I’ve gotten through the worst. I worked primarily on getting the boss to actually cycle through its attacks. Yet another thing I thought to be simple but actually computer breaking if you get it wrong.
I made a lot of mistakes early on in the day (and what carried over from yesterday). I had a lot of problems like starting coroutines when they shouldn’t be starting, not using enums when beneficial, and forgetting to put colliders and rigid bodies on some prefabs. When the boss was spawning infinite lasers I freaked out and stopped Unity before it crashed. Then I went to work trying to figure out why.
(Side note: don’t put coroutines in Update, kids)
At first I thought: maybe it’s because I haven’t been writing it all down? But no, that wasn’t right. It was all there in pseudo-code. I rewatched the GameDevHQ videos on enums and that brought some clarity back but, as expected, didn’t solve everything. Trial and error with a handful of Google research it was, then.
A lot of today was running the game, getting to a certain point, and errors popping up. So while debugging is a part of the process, I often found it a challenge to get through when I didn’t know what the cause of the problem was. When there were no squiggly red lines in Visual Studio, what was I supposed to do? As someone completely new to C# who knows the bare minimum of HTML, I still struggle with the terminology and trying to decrypt error codes can take as much time as trying to debug them.
Let’s recap everything from the Phase 2 checklist:
- New Enemy Movement — check
- Player Ammo — check
- Wave System — check
- Negative Pickup — check
- New Enemy Type — check
- Balanced Spawning — check
- Enemy Shields — check
- Aggressive Enemy Type — check
- Smart Enemy — check
- Enemy Pickups — check
- Pickup Collect — check
- Enemy Avoid Shot — check
- Homing Projectile — check
- Boss AI — almost done!
Soon. Soon it shall be done.
Biggest takeaways from the day: Sometimes you don’t get it. Sometimes you don’t get it for a long time. Sometimes you don’t get it and you mess with it and it works out.