it struck me while thinking of the way my game would be played, player controls to be specific, and thinking about sharing controls between both players; what if all game entities with the same actions shared events?
my guess is that this would required all objects to have 2 separate identifiers (possibly stored in alterable values), 1 will be to identify what type of game entity it is and the other will be spread values to identify which specific entity is being referred to.
the reason for not using groups to identify the entities is because i can only think of one way to search for them (if anyone else can think of a way to make this process more efficient, go ahead and mention it by all means) and that is to have ALL of them in a single group rather than having a group for the player entities and another group for enemy entities so that you just have to check for that one group and then check for alterable values within that group to further narrow the search until the specific entity is found.
and also stored with the entities would be values that determine things like speed, jump height, etc that the shared events would refer to for execution.
the conditions for these events would be to check for player input for player entity actions and for enemy actions, i was thinking of having various invisible active objects to check for collisions to activate the shared events like for archer enemies, they would have a large circular actice object (or a portion of a circle if you want to simulate direction and degree of sight) for detecting the player, another smaller circular active object for the range of attack, and yet another smaller circle for then the player reaches a certain range of the archer to activate the shared event for movement to move the archer away from the player or maybe one active object with different sizes at each animation for a deeper, more dynamic artificial intelligence which brings me to raise a few questions - will having such large invisible active objects moving around in a level bring down the fps of the game or will that happen only with large visible active objects or a ridiculously large amount of invisible active objects? and is this method of detection efficient or is there a more efficient method of accomplishing the same goal and if there is what method would that be?
sorry if my idea's confusing but please try to make sense of it because i'd really like to know if this is possible at all as i find it to be a pretty interesting way to control a game's various entities, especially for a more dynamic form of artificial intelligence which would allow for level designs to be less restricted.