This is awesome. Thank you so much for your videos! Would you be open to share the code somewhere? Just the things you've talked about. It would be easier to learn your approach.
How would this work with more advanced bullet behavior? For example, if you want the bullet to attach itself to something and explode after one second.
Ever since checking your ability system video I have had a burning question. How do you make your modular stuff work with editor. For instance, I want to have AI use abilities. I give the enemy character an array of abilities. How do I use the editor to assign abilities? An Enum? How do I populate the Enum or tie it to the abilities?
Followup question, say I want to write ai. I figure a modular system would be a priority array of If Then conditions. Have the If be modular as well. Then iterate through the array. How would you tie those together? For instance if self.hp < 50% do ability.heal
In regards to structuring AI class: If you have an AI class that inherits from "entity" than on every physics process you can write an "act" function that checks some logic and decides what operations to perform (in every physics process the player checks for input, so it's basically the same thing). Healing below 50% would just be a separate function, you could make it standalone and import it into the act function passing it "self" so it can act on the AI's class functions. In regards to the editor question: I usually use config files, but I think you could use the "export" keyword to make an enum available in the editor: github.com/godotengine/godot/pull/12952 I haven't tested it though.