WinCNT

2D 게임 프로그래밍의 간략한 역사 본문

게임 프로그래밍(학습 내용 정리)/2D Game Programming

2D 게임 프로그래밍의 간략한 역사

WinCNT_SSS 2022. 1. 5. 14:35

2D

Two-Dimensional Space

3D Game Programming이 나오기 이전의 프로그래밍

 

2차원 배열, 수가 2개인 벡터

Arcade

오락실 전성기

비즈니스 모델이 고객의 회전이 빨라야하기에 레벨 디자인이 기가 막혔음

(배우기는 쉽게 잘하기는 어렵게)

당시에도 줌인, 줌아웃, 페스펙티브 등의 기술 등이 있었다

Console

슈퍼 마리오, 夢大陸, 젤다의 전설(슈퍼 패미콤)

비즈니스 모델 - 플레이 타임이 길다, 엔딩에 감동을 줄 수 있게

PC

상당히 독특하다

PC의 스펙이 일정하지 않다는 특징이 있어서 다양한 기법들이 게임에 사용됨

예시) 원숭이 섬의 비밀, 워크2

2D Game 제작에 사용되는 기술

Sprite - 캐릭터를 찍을 때 필요한 이미지의 모음

  • KeyColor = 특정 색만 무시하는 것
  • Making
  • Alpha Blending = 알파 채널을 추가, 반투명한 것들이 겹칠 때

Animation

2D Vector - 모핑, 본, 스키닝의 2D 버전(3D에서 역수입)

 

Blending

Effect, Lighting

 

Collision Check

단단한 물체에 고전 역학을 일부 적용

 

Physics

말 그대로 물리

 

Tile Map

맵를 조각난 이미지를 조합해서 생성하는 것

 

Path Finding(길찾기)

다이스트라 등으로 길찾기 알고리즘(A* 등이 잘 사용된다)

 

Isometric View(둔축 투영법)

흔히들 말하는 쿼터뷰

3D에서 2D 게임을 만들 때 사용되기도 한다

 

기타 등등

Dithering - 모자란 색을 해상도(패턴)으로 커버

예시)
CGA vs. SIMCGA, 반투명(킹오파 - 체력 게이지 망사)
천초 강림 - 깜박깜박은 플리커링

도트 그래픽스

scanline pixcel art

CRT 모니터의 스캔 라인을 어떻게든 살려서 해상도가 높게 보이는 기법을 썼다

그래서 예전 데이터를 최근의 모니터로 다시 찍으면 해상도가 나쁘게 보이게 된다

(같은 데이터인데도 불구하고!)

 

 

 

슈퍼 솔루션

딥러닝에서 파생된 기술

낮은 해상도에서 딥러닝이 추론해서 새로운 데이터를 채워서 해상도를 높여줌

2D Graphics Tools

2D Graphics

  • GDI(Win32API), GDI+(Win32API/WinForms-C#)
  • DDRAW(~Direct7)
  • Direct2D
  • Direct3D(DX) / OpenGL
  • Custom / Software Renderer(점 찍는 함수만으로 여러 그리기 처리를 만든다)

SSS

'게임 프로그래밍(학습 내용 정리) > 2D Game Programming' 카테고리의 다른 글

Physics  (0) 2022.01.19
Transform  (0) 2022.01.12
Collision Detection  (0) 2022.01.07
Direct2D  (0) 2022.01.06