[Game Maker] Colisões, instâncias e performance
Você sabia que uma instância com cem checagens colisão tem execução mais rápida que cem instâncias com uma colisão? Apesar de parecer algo óbvio, é um erro comum entre os desenvolvedores no Game Maker.
O número de instancias é um dos fatores mais influentes na performance dos seus projetos no GM, e alguns pequenos detalhes podem fazer grande diferença no resultado final de execução, vamos para um exemplo prático.
Em um jogo em que é possível atirar, seja de plataforma ou até mesmo um shoot’em up com uma nave disparando dezenas de projeteis por minuto, não é raro o programador adicionar um evento de colisão no objeto do tiro. Mesmo que seja o único evento da instância, ele ainda é uma execução desnecessária, já que o número de projéteis é muito maior do que o número de alvos, consumindo mais do processamento.
No caso citado acima, a melhor opção seria adicionar o evento de colisão no alvo, deixando assim as múltiplas instâncias de seus tiros livres de eventos e muito mais leves.
De modo geral é uma regra simples, quando se tem um objeto que irá ser usado por muitas instâncias, sempre procure adicionar os eventos de relação com ele na outra parte, deixando sempre o objeto com mais unidades instanciadas com o menor número de eventos e checagens possível.