Como posso obter uma aparência de "gráficos de 8 bits"?

10

Eu tenho uma sólida experiência em programação, não apenas no desenvolvimento de jogos. Eu só fiz pong e cobra na escola e fiz OpenGL na faculdade.

Eu quero fazer meu próprio mecanismo de jogo. Nada gosta apenas de um simples mecanismo de jogo 2D. Mas porque eu sou meio velha escola e me sentindo retrô. Quero que os gráficos pareçam jogos antigos de 8 bits (megaman, contra, super mario, ...).

Então, como foram feitos os jogos antigos naquela época? Eu quero a abordagem mais simples. Eles também estavam usando ativos (imagens) como os motores mais novos agora? Como você consegue esse tipo de renderização usando o OpenGL?

Tenha em mente. Solução mais simples. Quero saber como foi feito na época e como posso replicar isso. Nem precisa ser OpenGL. Eu posso desenhar na tela da janela. Eu quero fazer isso do zero basicamente.

Matjaz Muhic
fonte
6
Os gráficos de 8 bits são uma questão de ativos e não de programação, suponho que você possa limitar sua paleta de cores no código, mas isso soa um pouco demais apenas para a sensação da velha escola.
Luke B.
Se você quiser gráficos de 8 bits, limite a paleta de cores ao criar seus materiais artísticos e sempre use a filtragem do vizinho mais próximo nas texturas.
Robert Rouhani
3
Por onde começar e qual tecnologia usar perguntas estão fora de tópico para o site. Consulte as Perguntas frequentes para saber quais tipos de perguntas fazer aqui. Você pode tentar reformular sua pergunta para perguntar como renderizar gráficos de 8 bits e remover tudo sobre como criar um mecanismo de jogo.
MichaelHouse
1
O que o Byte56 disse - essa poderia ser uma pergunta ótima e útil se você a refizesse para ser mais específica a um tópico preciso.
Maximus Minimus,
Changed. Espero que esteja melhor agora.
Matjaz Muhic #

Respostas:

7

Então, como foram feitos os jogos antigos naquela época?

Completamente diferente - mais parecido com o que chamaríamos agora de "programação de sistemas embarcados". Os gráficos baseados em modo de consoles de 8 bits e caixas de fliperama eram controlados pelo hardware, não pelo software. O código do jogo (normalmente montagem) cutucava a memória especializada em um cronograma de instruções (por exemplo, X instruções por linha de verificação).

Como você consegue esse tipo de renderização usando o OpenGL?

Mapeie com textura um quad com a filtragem desativada. Melhor ainda, agrupe vários quads e atlas dos ativos para obter melhor desempenho.

Máx.
fonte
"atlas" os ativos? O que isso significa?
Matjaz Muhic
Colagem de várias imagens em uma imagem de textura e "picking", que serão exibidas usando os UVs do quad. Portanto, por exemplo, todos os blocos de plano de fundo podem ser divididos em uma única folha de textura e, então, você só precisa vincular uma textura antes de renderizar as camadas de plano de fundo.
Max
Oh Algo como sprites?
Matjaz Muhic
@ Matjaz: Muito parecido com sprites. Essa palavra significava algo diferente muito antes do surgimento dos aceleradores gráficos 3D.
Ilmari Karonen