If I had to point out one thing I enjoyed learning them ost while developing this project it would definitely be learning how to create a finite state machine. it answered A LOT of questions I remembered having about game bosses when i was a kid but also was one of the first extra curricular applications of something I learned in class.
The boss's function is very simple every time he bumps into a wall a counter increments by one, once the counter reaches 3 the boss leaves its original state ( inside tank) and transitions to its new state ( open hatch) . if he is hit while in the open Hatch state he then transitions to the third state ( Damaged) which itself increments a counter. once he is hit 3 times and he enters the damaged state 3 times we go into the fourth state ( Death by explosion).
The grenades the boss is dropping also work utilizing the concepts of a finite state machine of course once they are dropped they decrement instead and then explode once the counter reaches 0.
It was a lot of fun making this to be completely honest and it showed me that while Game maker may have the ability to be a lazy psuedo-developement tool if you put time into and dig into the scripting even a little bit you can come away with some pretty impressive results.