DemoProductions / shmup

3 stars 2 forks source link

Multiple Boss Stages and States #102

Closed flip40 closed 7 years ago

flip40 commented 7 years ago

How should we handle multiple boss stages? One thought I had is to create a Stage script that, depending on whatever lambda condition we give it (we could make this a nice editor thing probably), it will swap states. Each stage could then just be a unique gameobject with its own appearance and weaponry.

On the other hand, the Boss will probably want to have unique AI for each boss... and in that case we already had a state machine. Perhaps we just bundle that into the Boss script. My thought on the separate Stage script is that it would also allow us to have regular enemies with multiple stages (why not?), but perhaps I am making it too complicated.

What do you think? I feel like we could probably write a script such that much of the Boss behavior can be modified by the editor (like stage 1 as an object with a variable for the weapon(s) to use on this stage, movement pattern and so on), but the movement patterns and other parts of the AI might need more complexity (for example, if you were to have a beam start from the top of the screen and go down it for 80% lets say, it would require unique movement AI unless we really went crazy with abstracting movement into the editor...)

Anyways I think I have rambled enough, what are your thoughts and ideas on boss stages / states?

flip40 commented 7 years ago

(not marking high priority because a simple high hp and better than average weapon is sufficient for initial level boss)

flip40 commented 7 years ago

Boss states were added in #143, however there is no implementation of stages currently.

I think the stages question largely varies by boss. Each boss will have its own AI Script inheriting from AICommands though, and therefore each script can be unique where necessary. Improvements to AICommands could also possibly allow for stages that are less randomly chosen and triggered states as well.