21bcd374abd531a04e81d2b628f176643fcf5c7d9a



게임의 직교성(Orthogonality)을 알아보기 위해


우선 '직교'라는 개념의 학술적 정의에 대해 생각해보자면


직교라는 건 수학적으로는 독립의 하위집합에 속하지


즉, 직교는 독립이라는 것의 특수한 케이스가 되는것이고







3bb8d368f5dc3f8650bbd58b36807269be6b


이를 가시적으로 알아보기 위해 선형대수를 빌려서 생각해보면


벡터라는 크기와 방향을 동시에 가지는 물리량을 생각해보자


이때 벡터라는 입력값을 받아


방향값 없이 오직 크기만 가지는 스칼라라는 하나의 수를 반환하는 연산을 내적이라고 정의해본다 


이때, 우리는 임의의 모든 n 차원에 대하여


두 벡터의 내적의 값이 0이면 두 벡터는 직교한다고 하지


(u·v)=0


즉, 두 벡터 u, v는 서로 독립적이며


이는 서로가 서로를 스칼라배로 절대 표현할 수 없다는 뜻


다시말해 직교란 서로 "관련이 없다"는 것을 수학적 세계관까지 확장해 엄밀히 표현한 것이며


이 개념을 비디오 게임에 확장하면 상당한 통찰을 얻을 수 있음








a17d20ab113676b660b8f68b12d21a1dabbe165660


슈퍼마리오를 예로 들어보면


플레이어가 입력할 수 있는 선택지로 점프라는 메커닉이 있고 (y축 이동)







a17f3caa1f02b45bba34394c58c12a3a740bd512fa41c29bcfd57e


또다른 선택지로 좌우이동(x축 이동)이라는 메커닉이 있을때


점프라는 메커닉과


좌우이동이라는 메커닉은 


서로 완전히 독립적









a17a30ad2c0676b660b8f68b12d21a1dcbed53873e


즉, 점프라는 메커닉에 입력을 어떻게 스칼라배해도 (=점프를 아무리 높거나 낮게 뛰어도)


이는 좌우이동이라는 메커닉으로 반환되지 않는다


좌우이동또한 마찬가지로 이 메커닉의 파라미터에 입력값을 아무리 설정해도(=좌우를 존나게 왔다리갔다리해도)


좌우이동이 점프가 되는 일은 불가능하다


즉, 점프와 좌우이동은 개념적으로 서로 직교한다


이말은 곧 메커닉끼리 서로 간섭하지 않는다


따라서 점프라는 y축 변경을 한다고


좌우이동이라는 x축 변경이 취소되는 경우는 없고


그 반대 경우도 마찬가지







a14004ad0a2bb374af32326558c12a3abc04fafcc6eb16707079a105


예컨대 좌우이동에서 좌이동과 우이동의 관계처럼 서로가 서로에게 간섭하지 않는다는 뜻이지


좌이동과 우이동이 동시에 실현되는건 불가능하잖아? 


왜냐면 상식적으로 생각해봐도 좌우를 동시에 이동한다는게 말도 안될뿐더러 


엄밀히 따지면 둘다 수평이동이라는 수평선 내부의 벡터값들이라


서로 스칼라배를 통해 변환 가능한 관계를 가지고 있으니 말이지 









a17d20ab1136b34a8ef1c6bb11f11a390d20e3c4d9f8d627


이제 이 직교라는 걸 다시 생각해볼때


이건 메커닉과 메커닉이 서로 조합되서 흥미로운 결과를 낼 수 있다는 점을 시사함!


다시 슈퍼마리오에 와서 생각해보면


어떤 장애물을 넘고자 할 때


우리는 좌우이동과 점프라는 서로 독립된 메커닉을 동시에 발동시킬 수 있음


그래서 어떤 결과가 나오느냐?









a17d20ab1136b34a8ef1c6bb11f11a390d20e3c4ddfbd02f


우리가 장애물을 넘고자 점프와 수평이동을 동시에 누르면?


포물선을 그리면서 장애물을 폴짝 뛰어넘을 수 있게됨!


즉, 메커닉끼리 간섭해 서로가 서로를 상쇄시키는게 아닌


각 요소의 결과값(x좌표값과 y좌표값)을 유지하면서 최종적인 결과물이 형성되는 것


즉, 메커닉끼리 조합돼서 또다른 층위의


기존의 단일 메커닉으로는 경험할 수 없는 새로운 게임플레이 경험을 제공하게 되는거지











068bc61cc4d81e8c64b98ebd42d8080ae26bd7fb02f1dbf365c7bf010c7ac20e1b0370b631c398


이런 직교성은 상당히 보편적으로 적용되는 개념이라


많은 게임에서 찾아볼 수 있는데


비단 슈퍼마리오 말고도 


fps게임에서의 연사속도와 파괴력 등등을 생각할 수 있겠고








29b8c427ecde3da223bdc4b017da69395c375839db77a3588297989adce246e2b514bd1991687c1c8c993bcb32bb853759ac5d5e969bfc1c92d564de61c529ae31c9b2de0068a2075739aad3c74a8d13f6412d7e6793123d01480c6764


이러한 직교성을 극한으로 끌어올린 흔히 볼 수 있는 게임들로는


로그라이트나 덱빌딩 게임에서의 덱과 유물의 조합 등


서로 직교적인 메커닉들을 한데 모아 다양한 시너지를 만들어서


조합의 결과물이 풍부하고 흥미롭도록 구성하는걸 예로 들 수 있겠지







008b8504dcd83bf5578bffaf3bdb27290df91e1eacd7f971d39506f192d906e14042f8fc576ed723bf1deaf74e2b621d161d316ca0d3d9054d5aa9e9ca14ef3370c2e5d61e5aeccd899e6a2c7bb667168329fc46


그리고 직교성은 게임의 품질을 빠르게 QA할때도 중요한 요소로 작용하는게


게임 속에 직교적이지 않은 메커닉들이 있는 경우


그 메커닉들은 개수가 아무리 많아도 서로 똑같은 결과를 만들어 낼 뿐일것임


그렇다면 그런 메커닉들을 굳이 넣을 필요가 없겠지


 "똥참기" "바지벗기" "앉기" "싸기"


이 네가지의 (서로 다르다고 우겨대는) 메커닉들이 게임에 존재하는 상황에서


막상 그 메커닉들을 수행했을때 똑같이 "똥싸기"라는 결과만 낳는다면


굳이 이름만 다르게 4가지나 중복해서 메커닉이 존재할 필요가 없을테니까


(플레이어들이 게임을 학습하는 시기엔 인지적으로 정보의 간결성을 선호하기도 하고)









a17d20ab1136b34a8ef1c6bb11f11a390d20e3c1dff9d62f6886


우리가 접하는 대부분의 게임들은 '재밌는'게임들일거고


(유저는 재밌는 경험을 원하니 재밌는 게임을 추천받아서 하는 경우가 대부분이니)


이런 재밌는 게임들 속 메커닉들은 직교성을 이미 충족시키고 있어서


우리가 이 직교성이라는 개념을 너무 당연하게 여기고 있을지도 모름


하지만 우리가 직접 게임을 만들어내본다고 한번 생각해봤을 때


이 새로운 메커닉을 창작한다는게 보통일이 아니라는걸 이 직교성을 통해 깨닫게 되기도 하지


서로 간섭하지 않으면서도, 조합이 풍부하면서


메커닉끼리 흥미로운 상호작용을 형성하도록 만드는 과제가


막상 생각해내기 보통일이 아니거든 


이러한 직교성을 통해 메커닉간의 조합 폭@발을 성공적으로 이루어낸 또다른 흥미로운 사례들을 분석해보면 






2bbb8775e3d460a068ead3b04685756970e012cb227b8755caddc5397deca12cfa2554b8ec3b9eee30f58f12d21cfc22a482acbed9877870995f72ee48


Opus Magnum


각각의 독립적인 로봇팔들은


회전이동과 평행이동이란 서로 다른 변환 메커닉을 수행하지만


이들이 모여 오브젝트를 각자의 기능에 따라 운반하며 엄청난 시너지를 내고있음






78a7e530e9d776a167b9f68b12d21a1df0a316bf5e


Baba is You


이 게임의 문법 시스템 상에선


일단 등장하는 단어들이 동사와 술어(명사, 형용사)라는 독립적인 개념으로 존재하고


이들이 다양한 가짓수로 조합돼 엄청나게 예측불허한 상호작용이라는 결과를 이루지






7cea8573b18769f33fef98b21fd7040344717f5e346b9b31c68f54


Bean and Nothingness


게임 내에서 등장하는 콩들은 서로 각기 다른 특정한 메커니즘을 수행하는데


예컨대 땅바닥에 떨어진 콩을 주워 운반하고 다시 떨구는 콩이 있는가 하면


플레이어를 추격하는 콩이 있어


이처럼 서로 다른 역할을 가지면서 


다양한 콩들은 서로 시너지를 이루는데


결과적으로 "바닥에 떨어진 콩을 줍고, 다시 떨어진 콩이 플레이어를 쫒는" 상황도 만들어 낼 수 있게돼





21adf12ab58002e869b6d09528d52703d16b1c7143c1d8a649


Stephen's Sausage Roll


직교의 위력을 알 수 있는 대표적인 사례중 하나지


게임은 단지 그릴과 굴러가는 소시지 그리고 포크만 제시할 뿐이야


근데 이들이 만들어내는 메커닉의 상호작용의 결과값이 무궁무진해


이 단촐해보이는 메커닉들의 구성이 만들어내는 다양한 상호작용의 결과가 워낙 엄청나게 다양해서 그런지


게임은 그릴을 벽에 붙여놓는다거나, 타일 5칸짜리 거대 소시지가 나온다거나 하는 기교도 하나도 안부리면서


게임 끝까지 풍부하고 새로운 메커닉들의 조합들을 보여줘











29b2d720eadd3ce87eb1d19528d52703503e3b049b1343


뭐 위 게임들은 훌륭한 사례긴 하지만


이들만이 유일한 직교적 메커닉을 보유한 게임들이라는 소리는 아니고


직교성으로 자아내는 흥미로움을 설명하기에 적절한 게임들이라고 봤어


하여튼 말하고싶은걸 정리하자면 이래


직관성을 의도한 게임이라면, 메커닉들끼리 직교적인 관계를 가지는게 중요하다


그리고 그 직교성을 가진 메커닉들의 조합이 풍부하면


아주 흥미로운 결과를 낼 수 있다!