Back to List

게임 속의 일반화

Author: Youngjin Kang

Date: 2019.10

게임 디자이너들이 가장 흔히 사용하는 디자인 기법 중 하나는 바로 '일반화'라고 할 수 있다.

대표적인 예가 바로 게임 속 캐릭터의 건강 상태를 하나의 바 형태로 단순화 시켜 나타내는 것이다. 만약에 현실감 있게 표현을 하려고 했다면 캐릭터의 피부 조직, 장기, 혈관과 신경, 그리고 체온의 분포를 전부 다 고려하며 생체의 메타볼리즘을 최대한 디테일하게 재현해 냈겠지만, 이러한 요소들은 의학시뮬레이션 게임을 만드는 게 아닌 이상 있어봤자 CPU와 메모리만 고생시킬 뿐이다.

게임 속의 일반화 (Figure 1)

(이미지 출처: Wikipedia: https://en.wikipedia.org/wiki/Health_(gaming))

따라서 대부분의 디자이너들은 캐릭터의 몸 상태가 어느 정도인지를 그냥 "HP"라는 숫자 하나로 나타냄으로써, 손쉽게 삶과 죽음의 개념을 게임 속에 구현하곤 한다.

게임 속 일반화의 또 다른 예로는 이산시간/이산공간의 사용을 들 수 있다.

여기서 이산시간은 마치 필름이나 디지털 영상의 재생시간처럼 일정 구간을 단위로 딱딱 나뉘어 떨어질 수 있는 시간을 의미하고, 이산공간은 바둑판이나 체스판처럼 칸 단위로 이루어진 공간을 의미한다. 턴 방식으로 진행되는 보드게임은 모두 이산시간과 이산공간을 이용하는 게임들이라고 보면 된다.

게임 속의 일반화 (Figure 2)

(이미지 출처: Wikipedia: https://en.wikipedia.org/wiki/Discrete_calculus)

이산시간과 이산공간은 쉽게 말해서 시간과 공간의 개념을 전산학적인 단위(데이터)로 일반화 시킨 모델이라고 정의할 수 있다. 아날로그 필터보다 디지털 필터가 디자인 하기 쉽다는 이유 덕분에 디지털 신호처리 기술(DSP)이 아날로그 신호처리 기술보다 더 많은 분야에서 사용되듯이, 게임 또한 이산시간/이산공간을 바탕으로 디자인된 것이 게임공학적인 면에서 더 효율적인 것으로 평가 받는다.

그 이유는 마치 아날로그 형식처럼 부드럽게 실시간으로 시간이 흐르거나 사물의 아주 미세한 단위의 움직임을 허락하는 게임이 너무 많은 부작용을 지니고 있다는 점에 있다.

게임 속의 일반화 (Figure 3)

(이미지 출처: Wikipedia: https://en.wikipedia.org/wiki/Chessboard)

연속시간/연속공간 속에서 벌어지는 사건들은 우선 계산 자체가 이산시간/이산공간 속 사건들 보다 훨씬 많다. 왜냐하면 턴 단위, 칸 단위로 이루어진 게임 속의 캐릭터를 움직일 때에는 그냥 턴 마다 한 번씩 정수 좌표를 바꿔주는 게 전부이지만, 그렇지 않은 게임 속의 캐릭터를 움직일 때에는 거의 한 프레임당 한 번씩 실수 좌표를 바꿔줘야 하기 때문이다.

또한 연속시간/연속공간 속에서 진행되는 게임은 불확정적인 변수들을 수없이 많이 가지고 있기 때문에, 게임이 끝난 후 오로지 초기 상태와 유저의 입력값들 만을 가지고 게임을 리플레이 하거나 네트워킹 하는 게 불가능해진다.