Considere um jogo cuja resolução padrão seja 800x600. Objetos com máscaras de colisão são colocados em um mundo de jogo de tamanho 800x600. As máscaras de colisão podem detectar quando o mouse colide com elas.
Agora considere escalar o jogo em 1024x768 (suponha que escalemos os gráficos simplesmente renderizando tudo em uma camada e depois escalando a camada inteira de uma só vez). Temos duas opções para fazer com que as colisões com o mouse funcionem corretamente nesta nova resolução:
A.) Escale o mundo para 1024x768 e dimensione a máscara de colisão de cada objeto de acordo.
B.) "Mapeie" a posição do mouse no mundo original (800x600).
Por "mapa", quero dizer, basta escalar a posição do mouse no mundo original de 800x600. Por exemplo, se a posição do mouse na tela for (1024, 768), a posição do mouse no mundo será (800, 600).
Agora, obviamente, a opção B requer muito menos computação e provavelmente é menos propensa a erros geométricos, mas também parece meio "hack" para mim, como se houvesse conseqüências imprevistas de seguir esse método que serão um inferno para corrigir mais tarde.
Com qual método devo ir: A, B ou outra coisa?