I've been thinking of making my own Mario fangame someday and it's gotten me thinking, what makes for a good or challenging boss fight in a Mario game? I've noticed that in a lot of cases, Mario can't harm the bosses he fights unless he either A) waits for the boss to do a specific attack or B) Jumps on a switch to reveal a bosses weakness. So are Mario bosses a bit like endurance tests, so is there a little more too them than that, and if they are how would I go about making a good challenge around that? If any of you could also include some examples of what good Mario bosses should be like, that would also be really helpful in my case. Thanks.