Para quem se pergunta por que esse é um problema da pixel art, veja um exemplo rápido usando uma cena de Super Mario World:
Se escalarmos um jogo de pixel art de 720 para 1080 em tempo de execução (da mesma forma que uma câmera de jogo típica), obteremos artefatos devido à proporção não inteira de pixels da tela por texel de origem. Veja a inconsistência nos números do exemplo em escala à direita e como a folha e a orelha de Mario ficam distorcidas.
É jogável, mas perdeu a nitidez encantadora da pixel art. E em movimento, esses artefatos podem rastejar através de um sprite , fazendo com que pareça cintilante.
O uso de um modo de filtragem que mescla pixels adjacentes evitará as ondulações, mas borrará e borrará a arte do pixel; portanto, também não é muito desejável.
Infelizmente, a proporção de 1,5x entre 720p e 1080p é o pior cenário possível.
Como você observa, o dimensionamento de 1x é muito pequeno e o 2x é muito grande, com uma margem tão ampla nos dois sentidos, e não existe uma taxa de dimensionamento com número inteiro entre nós para escolhermos.
Suas opções se resumem a:
Tolerar a escala 1x , mostrando seu jogo em uma janela 1/3 menor que a tela, adicionando bordas decorativas se você precisar preencher o espaço.
Você pode estender o corte, mostrando mais cenas ao mesmo tempo em telas de alta resolução. Isso reduz o preenchimento / caixa de correio necessário, mas você terá que avaliar se isso afeta o desempenho do jogo.
(por exemplo, isso oferece aos jogadores em alguns dispositivos uma vantagem injusta ou permite que eles mantenham segredos que não deveriam ver tão facilmente?)
Aumente a escala em 2x e recorte a cena , para que o jogador veja menos cenas de cada vez (cerca de 3/4 da medida que podiam ver antes).
Isso também pode afetar a forma como o jogo é executado, por exemplo. dificultando ao jogador ver os lugares para os quais ele precisa pular duas vezes.
Você pode compensar isso com a lógica da câmera, tendo o pan de visualização para acompanhar ou antecipar o player, para que o conteúdo importante ainda seja visível em uma tela no corte menor, mas não há melhor câmera universal para usar.
Se você decidir seguir esse caminho, tente compartilhar alguns detalhes de sua jogabilidade e câmera atual, além de uma cena de exemplo. Com isso, podemos ajudar a ajustar o comportamento da câmera para compensar (ou seu jogo pode simplesmente exigir mais visibilidade)
Crie ativos alternativos em uma resolução diferente . (Sim, isso é muito trabalhoso, mas oferece mais opções para controlar a aparência do jogo)
Isso não significa que você precisa jogar fora seus ativos existentes que ficam ótimos em 720p. Este artigo descreve a troca contextual entre conjuntos de ativos diferentes para oferecer suporte a uma variedade maior de resoluções de destino (no Unity, mas o princípio também pode ser aplicado em jogos que não são do Unity).
Como você observa, redesenhar todos os seus recursos na metade do tamanho ( blocos 16x16, caracteres 32x32 ) permitirá lidar com 720p na escala 2x e 1080p na escala 3x, com o mesmo número de blocos mostrado como você tem agora. Você pode encontrar a resolução de pequenos blocos mais visualmente restritiva.
Você também pode desenhar um conjunto alternativo de "formato grande" que é 150% maior ( 48x48 blocos, 96x96 caracteres ), capaz de lidar com 1080p na escala 1x. (Você usaria seus recursos existentes para 720p ou 1440 etc.). A resolução maior deve ajudá-lo a manter a fidelidade da sua arte atual, para que você não precise sacrificar o estilo e os detalhes que possui agora.
Uma terceira opção é desenhar um conjunto de ativos apenas um pouco menor ( blocos 24x24, caracteres 48x48 ), capaz de lidar com 1080p na escala 2x e, novamente, pode significar menos sacrifício de detalhes do que reduzir pela metade todos os tamanhos de ativos.
Todas essas três opções permitem manter o enquadramento e a jogabilidade exatamente iguais em 720 e 1080, mas com o custo de aproximadamente o dobro do trabalho dos ativos.
Infelizmente, não há vitória fácil aqui, apenas trocas diferentes.