Atualmente, estou criando um jogo de tiro de cima para baixo como Touhou. O fator mais importante do jogo é que existem muitos padrões e maneiras diferentes pelas quais as balas são geradas e disparadas contra o jogador, veja este vídeo: http://www.youtube.com/watch?v=4Nb5Ohbt1Sg#start=0 : 60; final = 9: 53 ;
No momento, estou usando a classe "Pattern", que possui uma série de etapas para mover e fotografar. No entanto, sinto que esse método é bastante trabalhoso, pois tenho que criar um novo padrão para cada ataque e talvez novas classes de bala que implementem um determinado comportamento.
Essa pergunta recebeu um comentário sugerindo que eu deveria procurar no BulletML a fácil criação e armazenamento de marcadores com um padrão específico. Parece decente, mas me levou a pensar: que outras soluções você tem que eu devo levar em consideração?
Atualizar
Meu design atual é o seguinte:
Um exemplo de um padrão implementado:
Meu GigasPattern executa primeiro um teleporte que move Alice para um determinado ponto (X, Y) na tela. Depois que isso é concluído, o padrão começa a usar o Mover para mover o sprite (enquanto o teletransporte tem efeitos e animação separados). Estes não são de interesse, na verdade, pois são bastante simples.
O Shooter também cria vários ataques, que são classes novamente que o Shooter pode usar para criar vários padrões de balas, muito parecido com o da pergunta que eu postei. Quando o Mover atinge seu destino, ele e o atirador param e retornam ao estado inativo. O padrão é concluído, é removido pela IA e um novo é escolhido.