일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 개인 바이트
- URP
- Cartoon Rendering
- 벡터
- 3d
- ColorGradingLutPass
- Cell Look
- Private Bytes
- Rim Light
- Three(Two) Tone Shading
- 메모리 누수
- URP로 변경
- OculusMotionVectorPass
- C언어
- 게임 수학
- AppSW
- ASW(Application SpaceWarp)
- VR
- Windows Build
- 가상 바이트
- 작업 집합
- Toon Shader
- Virtual Byte
- 프로그래밍 기초
- working set
- Cell Shader
- Specular
- Today
- Total
WinCNT
2D 게임 프로그래밍의 간략한 역사 본문
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 |