Eu quero criar um jogo 2D, mas eu gostaria de ter o personagem para usar toneladas de equipamentos diferentes em diferentes combinações, como um RPG ou algo assim.
Então, digamos que o usuário troque de ombros e calças, isso deve ser mostrado ao jogador e todos esses equipamentos diferentes devem seguir a ação dos diferentes personagens (bater, ser atingido, soletrar magia etc.).
Vejo alguns problemas que eu gostaria de conhecer a melhor abordagem / algoritmo / arquitetura para resolver.
1 - Sprites ou Animações
Devo criar sprites diferentes para cada equipamento em cada animação de ação?
É melhor ter o equipamento sprite e animá-lo diretamente no código, como rotação e tradução (usando algo como interpolação no Flash)?
Existe alguma outra opção melhor? (Eu realmente não gosto das idéias acima)
2 - Posições
Digamos que durante um dos movimentos do personagem, ele começa a olhar diretamente na frente da visão do jogador, mas termina seu movimento mostrando o lado direito do jogador (como se ele balançasse a espada de um lado para o outro).
Se considerarmos uma parte do usuário, como a cabeça, por exemplo, ela começa na frente e depois vira à esquerda.
Significa pelo menos 3 posições diferentes para cada equipamento principal (capacete, boné, o que for).
Isso certamente influencia a resposta da pergunta nº 1. Como é a melhor maneira de conseguir isso?
3 - Camadas
Vamos considerar um movimento de personagem em que ele gira 360 graus com os braços abertos. No início da animação, sua mão direita está próxima da visão do usuário e, no meio do movimento, isso provavelmente está por trás do corpo do personagem na animação.
Qualquer que seja a opção na pergunta nº 1, você certamente precisará usar algum tipo de modelo de camada para fazer com que esse sprite ou animação comece mais perto da visualização do jogador e depois mude para longe da visualização do jogador.
Existe alguma boa maneira de fazer isso?
Eu sei que a pergunta é bastante longa e difícil de entender. Deixe-me saber se você acha que é melhor ter alguns desenhos para tentar explicar qual e eu vou tentar fazer isso.