"8 비트 그래픽"모양을 얻으려면 어떻게해야합니까?


10

게임 개발이 아닌 강력한 프로그래밍 배경을 가지고 있습니다. 나는 고등학교에서 탁구와 뱀을 만들었고 대학에서 OpenGL을했습니다.

나만의 게임 엔진을 만들고 싶습니다. 단순한 2D 게임 엔진을 좋아하는 것은 없습니다. 그러나 나는 좀 오래된 학교이자 복고풍을 느끼기 때문입니다. 그래픽을 오래된 8 비트 게임 (megaman, contra, super mario 등)처럼 보이기를 원합니다.

그렇다면 옛날 게임은 어떻게 만들어 졌습니까? 가장 간단한 접근법을 원합니다. 최신 엔진과 같은 자산 (이미지)도 사용 했습니까? OpenGL을 사용하여 이러한 종류의 렌더링을 어떻게 달성합니까?

명심하십시오. 가장 간단한 솔루션. 나는 그것이 어떻게 만들어졌으며 어떻게 그것을 복제 할 수 있는지 알고 싶습니다. OpenGL 일 필요도 없습니다. 창 캔버스에 그릴 수 있습니다. 기본적으로 처음부터 만들고 싶습니다.


6
8 비트 그래픽은 프로그래밍의 문제가 아닌 자산의 문제입니다. 코드에서 색상 팔레트를 제한 할 수 있다고 생각하지만 구식 느낌에 비해 조금 너무 들립니다.
Luke B.

8 비트 그래픽을 원한다면 아트 에셋을 만들 때 항상 색상 팔레트를 제한하고 텍스처에서 가장 가까운 이웃 필터링을 사용하십시오.
Robert Rouhani

3
어디서 시작해야하는지, 어떤 기술을 사용해야하는지에 대해서는 사이트에서 다루지 않습니다. 여기에서 어떤 유형의 질문을해야하는지 FAQ 를 참조 하십시오. 8 비트 그래픽을 렌더링하는 방법에 대해 질문하고 게임 엔진 제작에 관한 모든 것을 제거하기 위해 질문을 다시 시도해 볼 수 있습니다.
MichaelHouse

1
Byte56이 말한 내용-정확한 주제에 대해 더 구체적으로 재 작업 한 경우 훌륭하고 유용한 질문이 될 수 있습니다.
Maximus Minimus

변경되었습니다. 더 나아 졌으면 좋겠다.
Matjaz Muhic

답변:


7

그렇다면 옛날 게임은 어떻게 만들어 졌습니까?

완전히 다른 방식으로, 이제 우리는 "임베디드 시스템 프로그래밍"이라고 부르는 것과 더 유사합니다. 8 비트 콘솔 및 아케이드 박스의 모드 기반 그래픽은 소프트웨어가 아닌 하드웨어에 의해 구동되었습니다. 게임 코드 (일반적으로 어셈블리)는 명령 일정에 특수 메모리를 찔렀습니다 (예 : 스캔 라인 당 X 명령).

OpenGL을 사용하여 이러한 종류의 렌더링을 어떻게 달성합니까?

필터링이 해제 된 쿼드를 텍스처 매핑합니다. 더 나은 성능을 위해 여러 쿼드를 함께 배치하고 자산을 아틀라스로 배치하십시오.


자산을 "아틀라스"? 그게 무슨 뜻이야?
Matjaz Muhic

하나의 텍스처 이미지에 여러 이미지를 붙여넣고 쿼드의 UV를 사용하여 표시 할 "피킹". 예를 들어, 모든 배경 타일은 하나의 텍스처 시트에 격자로 표시 될 수 있으며 배경 레이어를 렌더링하기 전에 하나의 텍스처 만 바인딩하면됩니다.
Max

오. 스프라이트 같은 것?
Matjaz Muhic

@Matjaz : 스프라이트와 매우 비슷합니다. 이 단어는 3D 그래픽 가속기가 등장하기 오래 전에 다른 의미를 가졌 습니다 .
Ilmari Karonen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.