I am programming a game. In this game I have 3 stages. In the first stage, there is a static goal and a static shooter in the game. In the second stage, the goal will move. And in the third one both are moving.
I want to use abstract factory to create objects of same family.
I want to know which of the following designs is right:
With 2 factories:

With 3 factories:

I just don't know whether I should make concrete factories in the same count of families at the right hand or according to my problem?
For example, in the scenario, I have two families of objects (Products). First family is Gun and the second is Goal. But I have 3 stages that I have explained above. Is it right to have 2 factories because of the count of families of products or to have 3 families according to the stages?