12. 미래 컴퓨터 게임을 이끌 기술들



1. 차세대 디스플레이 기술들

가. 차세대 3D 디스플레이

앞선 디스플레이들의 한계는
평면에 뿌려진 영상이라는 것을 어렴풋이 알고 있기에
인식과 시각차이에 의한 어지러움 발생

1) 공간 디스플레이 장치

보는 각도에 따라 영상이 다르다.

- 홀로그램 : 물체에 반사되는 빛의 파장을 모두 저장, 재생
- Light Ray Field : 보는 방향에 따라 다른 빛을 보여주는 기술
- Virtual Retina 디스플레이(홍채디스플리이) : 눈 안에다가 직접 빛을 조사하는 방식

2) Flexible 디스플레이

- 구부러지거나 극단적으로 접히는 디스플레이

3) 초음파 뇌 자극 햅틱 디스플레이

- HIFU를 이용하여 Somatosensory cortex를 직접 자극
- 뇌 상의 정확한 햅틱 맵 필요

4) 비 접촉식 햅틱 기술

- 촉감을 만드는 에너지를 허공에 쏴 보내는 기술
집속 초음파 기반, 레이저 기반, Air canon 기반 등이 있다.

5) 전신 햅틱 디스플레이

전신슈트에 촉각 발생장치를 만들어 입어서 촉감을 느끼는 것



2. 차세대 상호작용 기술들

가. Natural User Interface

1) Text
: 글자들을 통해 상효작용, 단점으로 모든 명령어를 알아야 사용가능

2) 2D Graphics
: 그림(GUI)을 중심으로, 드랍다운방식을 사용
윈도우, 휴지통, 폴더 등이 이에 해당한다.
Text에 비해 훨씬 단순해졌다.

3) Space
: 공간의 움직임을 통해 보다 사실적이고, 직관적으로 가능하다.

※ 극단적인 예시

- 텍스트 기반의 머드게임은 인터페이스를 익혀야하기 때문에 진입장벽이 높다.

- 터치 기반의 게임은 직관적이기 때문에 진입장벽이 낮다.

나. NUI 입력장치 기반 기술들

1) Computer Vision 기술
- 표정인식, 체스쳐 인식, 마커 트래킹

2) 터치 인풋 기술
- 정전식, 감압식

3) 오디오 인풋기술
- 스피치 인식

4) 여타 센서 기술
- IMU, Biometric, Geospatial sensor

다. Depth Camera 기반 제스쳐 인식기술

1) 원리

- Structured ligh기술
: 적외선 점들을 쏘와 각각의 점들의 크기와 모양을 계산하여 거리를 구함

- Time of Flight 기술
- 적외선 파장을 이용하여 반사된 시간을 측정하여 거리를 구함

라. 피드백이 있는 터치 스크린

- 터치스크린에 전류가 흘려 질감을 느끼게하는 스크린

1) 원리

화면에 전류를 흘려 정전전기를 이용하여 마찰력증가
- 화면에 고주파로 떨게하면 마찰력감소
위 원리를 통해 미끄러운 면, 거친면을 표현하는 것이다.

마. Electromyogram(일렉트로묘그램)

1) MYO gesture arm-band

근육의 수축, 이완 중에 근육세포에서 발생하는 전이를 측정할 수 있는 기술
근육의 활동 정도 측정 가능

2) Brain-Computer Interface

뇌의 일부분 활성화 > 뉴런의 신호 전달량 많아짐 > 전기신호 발생 > 어떤 생각 하는지 알아냄

3) 증강현실

현실에 찍은 비디오에 가상의 캐릭터를 올리는 작업
가상의 비디오에 실재 사람을 올리는 작업 등

실제 경험에 좀 더 근접

대표적으로 포켓몬 고를 말할 수 있다.



3. 게임을 위한 인공지능

가. 게임에 인공지능이 왜?

- 유저가 최대한 그럴듯하면서 흥미를 유발하게 생각하게 만들고
- 게임은 유저의 행동에 실제와 비슷하게 반응함

나. 인공지능의 4가지 종류

1) 사람같이 생각하는 AI
2) 사람같이 행동하는 AI
3) 사람같이 실수하는 AI
4) 합리적으로 생각하는 AI

다. 일반 AI와 게임 AI

1) 일반 AI는 물제 해결이 목표
2) 게임 AI는 사람처럼 느끼게 하는 것이 목표

라. 게임 AI의 중요성

- 사실설 상승
- 간접 경험의 질 상승
- 게임에 변화를 줌
- AI가 콘텐츠에 변화를 줌

1) 스크립팅, 유사생태기계(Finite state Machine)

- 장비, 무기를 장착한 상태에서는 몬스터, 적들과 전투를 함
- 전투를 하지 않을 시에는 다른 행동을 할 수 있게 함



출처 : https://gamedevelopment.tutsplus.com/tutorials/finite-state-machines-theory-and-implementation--gamedev-11867


2) Planning

- 특정 목표 상태에 도달하기 위해 거쳐야 하는 최적의 과정을 예측하는 알고리즘
- FPS의 AI, NPC와 함께 퀘스트를 하는 경우 등


3) Flexible 디스플레이

- 탐색공간(Search space)을 구성하여 최적의 경로를 찾는다.

4) 기계학습과 인공 신경함

- 훈련된 데이터를 입력하면 그대로 따라하는 알고리즘 만들어냄 > 사람을 보고 학습하는 AI

5) Procedural Content Gene

- 무작위, 의미성을 통해 콘텐츠를 자동으로 생산한다.


마. 게임 장르에 따른 AI

1) 일인칭 슈팅게임(FPS) : 적 및 아군 NPC 행동 Planning
2) 실시간 전략게임(RTS) : Path Finding, 컴퓨터 유닛 전략
3) 레이싱 게임(Racing) : 다른 선수들의 행동
4) 턴 베이스 전략게임 : 전략계획

※ 장르에 따른 특성이 다르기 때문에 고려사항이 다 다르다.



4. 게임 개발을 위해 배워야 하는 SW 기술들

가. 컴퓨터 그래픽스 프로그래밍

- 3차원 공간상의 모델링
- 가상의 빛의 시뮬레이션
- 실제같은 그림을 연속적으로 재생

1) 모델링

- 모델링에 필요한 기술
- 평면삼각형들의 무수한 조합 통한 플리고널 메시 모델
- 3D 메쉬의 이해, 이미지텍스쳐, 3D 스케닝
- 시간이 많이 드는 작업
- 회화적, 미술적 감각이 필요함
- 대표적인 툴 : 3D max, Maya, Blender

2) 렌더링

- 빛을 시뮬레이션 하는 작업
- 라이브러리를 통한
- 다이렉트 X, Open GL, 기타 엔진등
- 3차원 모델의 움직임을 시뮬레이션하여
움직이는 그림을 실시간에 생성하는 기술
- 대표적인 렌더링 엔진 : 유니트, 언리얼, 크라이 엔진 등

3) 애니메이션

- 3차원 모델의 움직임을 시뮬레이션하여 움직이는 그림을 실시간에 생성하는 기술
- 물리현상 시뮬레이션
- 다양한 엔진 사용
- 대표적인 엔진 : 오픈다이나믹스 엔진, 불릿 엔진, 피직스X 엔진

나. 실시간성

실제와 같이 잘 묘사되는 것도 중요하다.
하지만 너무 사실적으로 묘사하다보면,
화면이 뚝뚝 끊기게 된다면 몰입감이 떨어진다.

게임에서는 실시간성도 중요하다.
그로인해, 빠른 시뮬레이션 및 렌더링을 위해 그래픽카드(GPU)가 등장하였다.

1) GPU

- 그래픽에 특화된 병렬처리 프로세스
- 같은 일을 반복적으로 수행하는 렌더링 작업에 특화됨













댓글