Psychology in Game : 2. 레벨디자인(난이도 조절등)은 정말 신성불가침한 "감"의 문제일까요?
안녕하세요! 인디 게임 개발자 라메드 입니다.
오늘 @carrotcake 님께서 위에 있는 제 대문을 그려주셨어요 ㅠㅠㅠ 너무 감사합니다!
( @carrotcake 님은 스티밋 에서 웹툰을 연재 중이십니다! )
서론
오늘은 조금 어려운 이야기를 해보고자 합니다.
너무 어려운 이야기 말고 "조금" 어려운 이야기에요.
제가 만난 기획자 분들에게 , 레벨디자인의 팁을 물으면,
(레벨디자인 : 게임의 구성요소를 배치하거나, 난이도를 조절하는 등의 과정 )
돌아오는 대답은 대부분 " 수학적인 감 ". " 노하우 ". "노가다 " 이었습니다.
그래도 심리학이라는 과학을 배우는 입장에서, 도저히 참을 수 없는 관념이기도 했습니다.
오늘은 과학적인 레벨디자인에 대한 이야기를 나누고자 합니다.
여기서 갑자기 문제입니다! "조금"은 어느정도 일까요?
답은 따로 없겠죠. 사람마다 다릅니다.
낭만적이던 세계에 과학의 바람이 불어오면서, 이전의 정의해 놓았던 개념들 중에
복잡하고 ,추상적이거나 수량화하기 어려운 것들이 연구나 개발을 하는데 문제점으로 대두되었습니다.
심리학에서, 이러한 문제에 봉착했을 때,
그것을 돌파한 방법이 있습니다 바로 "조작적 정의" 라고 부르는 방법입니다.
조작정 정의는, 수치화하거나 수량화하기 힘든 변수를 수량화 가능한 단위까지 끌어오는 것을 의미합니다.
불안한 것을 어떻게 체크하죠? 우울한 것을 어떻게 측정할까요?
조작적으로 정의하면 됩니다.
불안은 , 다리를 떠는 분당 진동수로 정의한다.
뭐 이런 식 입니다.
( 코딩 할 때에도 분명 이런 순간이 있는데, 저는 그게 "추상화"인 줄 알았는데 @ludorum 이 아니래요 ㅠㅠ )
(물론 이 정의가 맞거나 학문적 의미를 가지는 것은 아닙니다 ! )
오늘 이야기 할것은, 이 "조작적 정의"와 지각 심리학적 개념을 이용해서,
게임의 밸런스를 기획할때 조금 더 과학적인 방법으로 접근해보자는 제안입니다.
본론
게임을 판매하거나, 유저가 플레이를 지속 해야 수익을 얻을 수 있는 제작자나 운영자의 입장에서
게임 최대의 적은 누구일까요?
저는 지루함 이라고 생각합니다.
지루한 것은 뭘까요? 우리는 언제 지루해질까요?
지루함의 사전적인 정의는 다음과 같습니다.
지루함 : 같은 상태가 오래 계속되어 따분하고 싫증이 나다. ( 네이버 국어사전 참고 )
지각 심리학에서도 비슷한 개념이 있습니다.
감각순응 : 일정 시간동안 같은 자극을 받으면, 그 자극에 대한 반응이 감소 하는 것.
다만 지루함과의 차이는, "수치화" 할 수 있는 개념들로 이루어 졌다는 점입니다.
"일정 시간" , "같은 자극" , "반응의 감소" 이 세가지 데이터로 이루어졌다는 것을 확인하실 수 있습니다.
이 세가지 데이터 중에, 오늘은 "같은 자극" 부분에 집중해보도록 하겠습니다.
같은 자극이 아니라면 , 감각순응은 일어나지도 않을 것이고,
감각순응으로 감소되지 않는 반응을 게임의 재미로 대입해보면,
유저로 하여금 지루하지 않게 게임 플레이를 유지할 수 있을 것입니다.
거의 다 해결한 것 같은 착각마저 들지만,
실은 이제 시작입니다.
게임으로 매번 다른 종류의 자극을 주는 것은 매우 어려운 일입니다.
우선 컴퓨터나 모바일 게임을 기준으로, 쓸 수 있는 자극의 종류는
청각적, 시각적 자극이 주가 될 것이기 때문입니다.
그럼 조금 다르게 접근해 봅시다.
같은 음이 계속해서 들린다면, 지루해지겠지만,
다양한 음이 계속해서 바뀐다면? 지루하지는 않을 것입니다.
( 즉, 같은 종류의 자극 일지라도, 세기나 특성이 변한다면, 감각 순응은 일어나지 않을 것입니다. )
다시 게임으로 돌아온다면,
적의 강한 정도를 수치로 표현할 수 있다면 ,
이 강한 정도가 일정 시간이 되기 전에 변한다면 , 지루함을 줄일 수 있다는 이야기가 됩니다. ( 감각순응 X)
여기서 두번째 문제점이 발생합니다 !
간단한 퀴즈로 이해를 도와드리겠습니다.
다음 중 글자 크기가 다른 문장은 뭘까요?
아마, 대부분의 분들은 "극혐" 이 들어간 문장을 답으로 고르실 겁니다.
맞습니다.
하지만, 정답이 하나 더 있습니다.
.
.
.
.
.
정답을 공개합니다 ㅎㅎ. " 그러고보니 " 가 들어간 문장도 혼자 19 포인트의 글자크기를 가지고 있었습니다.
하지만 우리가 육안으로 보기에는 거의 구별하지 못합니다.
즉, 인간의 지각 능력이 사물의 특성을 100% 읽어 온다기 보다는,
적당히 뭉뚱그리기 때문에, 위의 사진에 나온 대화의 자극들에서,
20포인트와 19포인트는 관찰자 입장에서 "같은 자극" 입니다.
우리의 원래 목표인,
"다른 자극"을 유저에게 제시해서 , 재미라는 반응을 계속해서 높은 상태로 유지하기 위해서는
자극을 다르게 할 필요가 있고, 자극을 자원을 최대한 효율적으로 사용하기 위해서는,
결국 인간이 느끼는 자극의 세기가 달라지는 지점을 알 필요가 있습니다.
그런데 이 지점을 구할 수 있을까요?
위의 질문이 바로 앞서 말한 두번째 문제점입니다.
이 지점을 구할 수 있다면.. 또는 규칙을 파악할 수 있다면.. 정말 좋을 텐데 말이죠.
마침 , 이러한 연구를 옛날에 하신 분이 있습니다.
생리학자인 E. H. 베버 입니다.
이 분의 연구 ( 선행되고, 정리된 노가다 )를 통해서
우리는 "지각적인 차이"를 결정짓는 역치(threshold)가 존재하고, 이를 측정을 통해 알아낼 수 있음을 알게되었습니다.
즉, 일정 자극을 주다가, "어느정도로" 자극을 강하게하면 자극이 "다름"을 인간이 알 수 있는지 알아냈다는 뜻입니다.
베버 아저씨의 차이역 연구의 결과는 다음과 같았습니다.
" 자극의 변화량을 감각기에서 느낄 수 있으려면, 처음 자극과 나중 자극의 세기차이가 일정한 비율 이상이어야 한다. "
예를 들어,
처음 빛을 100럭스 만큼 비추다가, 1럭스 증가시킨 101럭스 때부터 인간이 변화를 감지할 수 있구요. ( 약 1/100의 비율 )
미각은 1/6, 청각은 1/7 등의 비율을 가집니다.
(이 비율의 값을 베버상수라고 부릅니다.)
우리는 덤으로, 시각이 아주 예민한 감각이라는 것도 알게되었네요.
이제 아주 단순한 과정만이 남은 것으로 보입니다.
게임에서 상대가 강한 정도를 유저가 알아채는 비율을 측정을 통해서 파악하고,
그 비율을 적용해서 적을 점차 강하게 만들면 , 유저는 계속해서 다른 난이도를 느끼면서 지루하지 않게 게임에 임할 수 있다는 것이죠.
더불어서, 만약에 비용상의 이유로 정확한 비율을 구하지 못하더라도,
베버의 법칙에 따라, 차이역은 일정하므로,
처음의 자극이 1이고, 차이역이 1.1 이라면.
주어져야 하는 최소자극의 크기는
1 -> 1.1 -> (1.1)^2 -> (1.1)^3 .....
이런식으로 됩니다. 결국 줘야하는 자극은
처음 자극 * ( 차이역 ) ^ 횟수
이런 식을 도출해 낼 수 있습니다.
결론
결론 적으로, 레벨 디자인을 하실 때에, 무작정 값을 집어 넣고 기도나 제사를 지내는 것도 좋지만 !
기왕이면, 지수함수를 넣고, 지수의 밑 ( 차이역 ) 을 조절하는 방식으로 접근하는 것이 효율적일 것입니다.
이 글도, 평소 제 글과 마찬가지로 어떤 지식을 포장해서 드리기 보다는 ,
게임 제작이라는 영역에 좀더 과학적인 관점으로 접근해보자는 의미로 적어보았습니다.
횡설수설을 아주 길게 한 것 일수도 있겠지만, 이쯤에서 마무리하려고 합니다.
읽어주셔서 감사합니다 !
gaming nice upvoted you
upvoted and resteemed friend.
밸런스패치가 뚝딱 나오지 않는것이 이런 이유가 숨겨져(?) 있었군요...
생각해보니 항상 유저입장에서 밸런스를 탓하면서
어떻게 수정해야할지 생각해본적이 없는데...
신기하면서도 재미있네요 ㅎㅎ
맞아요!!
게임할때 지겨우면. . 노가다하는 기분으로 바뀌면서. .내가 왜 이걸하고 있지가 되지요!
심리학적 지식을 이렇게 활용할 수 있다니! 멋지십니다>_ <
Upvoted & RESTEEMED!
하지만 잘 짜인 레벨디자인도 파괴시키는 사람들이 있으니...
'한국인'이라고 합니다.
디아블로가 생각나는군요...
재밌고 신기한 정보네요 항상 게임을 하는 입장인데 만드는분의 글을 보니 신기합니다ㅎㅎ
ㅎㅎ 사실은 인디 개발자 분들께 도움이 되고자 쓰긴 했는데, 예상외로 유저분들도 신기해하셔서 기분이 좋네요! 그리고 대문 정말감사합니다 ㅠ_ㅠ... 분위기가 너무좋아요
지루함을 최소화하는 형태로 디자인 하려면,
계속 자극을 주면 되고,
베버의 역치를 적용하면 되니까.
지수함수를 따르게 디자인 하면 되는군요.
이제서야 팔로우 합니다.
앞으로 재밌는 글 많이 올려주세요~