lgoritmo eficiente para colisões em jogos 2
Estou programando um Bomberman em Java, seguindo um tutorial (este é o meu primeiro jogo). O tutorial sugere o seguinte código para detectar colisões.
for (int p=0; p<entities.size(); p++) {
for (int s=p+1; s<entities.size(); s++) {
Entity me = (Entity) entities.get(p);
Entity him = (Entity) entities.get(s);
if (me.collidesWith(him)) {
me.collidedWith(him);
him.collidedWith(me);
}
}
Por enquanto,entidade é uma lista de arrays que contém os inimigos e o jogador. Como também quero detectar que o jogador colide com paredes, devo colocar todos os ladrilhos de parede ou tijolos no nível na lista de entidades? Se sim, esse algoritmo não é muito ineficiente? Esses blocos não vão colidir com outros blocos, então eu estava pensando em gerenciar entidades de jogos em listas diferentes. O que você sugere? Existe um algoritmo mais eficiente para fazer isso?
Nota: Eu já li outras perguntas relacionadas a colisões em jogos 2D. Muito obrigado