mir.pe (일반/밝은 화면)
최근 수정 시각 : 2024-12-08 19:47:15

요소 숙지의 법칙

레벨 디자인을 하기에 앞서 엔진을 시작으로[1] 각 몹들과( 2,3의 법칙) 무기들의 특징, 그리고 이를 보조하는 각 엔티티의 특성과 한계를 프로토타입 테스트를 해서라도 파악하고[2] 만드는 법칙.

즉, 레벨은 해당 플레이어나 사용 가능한 요소 및 NPC와 그들이 할 수 있는 여러 요소들이 적재적소에서 잘 활용되고, 이것들이 어우러져 발생될 별의별 가능성 또한 잘 처리해야 한다. 그렇지 않으면 아무리 휘황찬란하게 만들어놓아도 정작 게임 내 요소들은 반쪽밖에 활용될 수밖에 없다.

일단 플레이어가 할 수 있는 기능 중 (엔진상의 결함이나 역진행 외에도) 벽타기 기술이나 수직상승, 멀리뛰기, 부양 등등이 존재하면 이것으로 도달 가능한 최대/최저 거리나 높이를 파악하고 이것들을 이용해 플레이 영역 밖으로 뛰쳐나가기 좋은 곳들을 파악해 수정할 필요가 있다. 하지만 중간에 (무심결에 추가했거나 추가될) 장애물이나 발판 같은 여러 요소들의 존재 유무에 따라 이것은 언제든지 바뀔 수 있기에 마냥 계산기만 두들기고 나몰라라 해서는 안된다.

또한 PVP의 고질적인 캠핑 문제에서도 이들이 은엄폐할만한 곳들을 파악하고 완전히 은엄폐하지 못하게 처리하거나 이를 발견할 수 있도록 모션 센서나 로켓 런처 유탄발사기 같은 대응 무기를 마련해 줄 필요가 있다. 그밖에도 배틀필드 시리즈처럼 기갑 폭격 등으로 이를 견제하거나 제거할 수 있어도 큰 문제가 되지 않는다.

[3]들의 경우에도 클래식 마리오 시리즈의 경우 에디터상에선 굼바 엉금엉금이든 뻐끔플라워 가시돌이든 움직이지 않고 그 자리에 고정되어 있다. 하지만 게임을 돌려보면 이동하거나 그렇지 않은 부류도 있고, 단순히 밟는 것만으론 처치가 안되거나 오히려 피해를 입는 부류도 있다. 그래서 이들을 등장시킬 시 그 특성들을 고려해 디자인해야 한다.[4]

또한 강이나 협곡을 사이에 두고 저편의 몹들과 전투를 벌이다 저쪽에서 다리를 놓거나 통로를 개척해 밀고 들어와 압박을 준다는 코옵 강연도 있는데... 일단 PvP라면 일정시간동안 원거리전을 벌이거나 진지공사나 매복지를 정해 숨어있다 서로 연결되면 상대 진영으로 닥돌 혹은 교전을 틈타 침투해 휘젓는 특색 있는 맵으로 기억되겠지만...[5] 문제는 이를 PvE에 그대로 적용할 경우다. PVP의 경우 엔진의 각 기능과 구현 한계치 등을 인지하고 지형만 잘 잡아주면 플레이어들이 그걸 알아서 이용하겠지만 PVE의 경우 여기에 넣어질 NPC 종류 및 이들의 AI의 패턴, 특성, 그리고 이 맵에 녹여넣을 시나리오나 스크립트 등을 추가로 알아둬야 하며[6] 또한 이것들이 야기하는 얘기치 못한 버그들[7]까지 수정해야 한다.

본론으로 돌아와 저 코옵 강연의 치명적인 결점은 "구조만 잡고 땡!" 인데, 이는 담당자가 따로 있지 않는 한 절대 끝이 아니다. 그럼 뭘 빼먹었느냐? 바로 윗 문단에 상술한 그것으로, 여기에 적합한 몹 성향과 종류를 정하고 이에 맞게 구조를 잡아야 한다. 예컨데 이런저런 이유[8]로 원거리 공격을 할 수 있음에도 플레이어들을 향해 되도록이면 다가가려 하는 게 좋으며, 아니면 통로 개척과 동시에 상당수가 플레이어가 있는 쪽으로 무조건 닥돌한다는 트리거=스크립트가 필요하다. 또한 이들이 한꺼번에 쏟아져 들어오는 것이라면 물량공세를 충분히 선보일 수 있게 진입로가 제법 넓어야 하며,[9] 추가로 중간에 장애물이 적거나 없는 편이 좋다. 반면 교전을 벌이며 찔끔찔끔 침투하는 부류라면 AI가 엄폐물을 잘 찾아 이용하는 것에 신경을 써야 할 것이다.

만약 이런 걸 고려하지 않고 기존의 무난한 NPC를 넣을 경우 통로가 새로 열려도 죽음을 무릅쓰고 플레이어가 있는 쪽으로 몰려오기보단 그전까지 있는 엄폐물을 끼고 원거리 싸움을 한결같이 벌이면서 '어쩌다 보니' 이쪽으로 찔끔찔끔 오거나 아니면 자기네들을 압박할 수준이 아님을 인지한 플레이어들이 역공할 가능성이 높다.[10] 사실 PvE의 NPC 혹은 봇 노드(Node)나 웨이포인팅 해본 사람들이라면 알 수도 있겠지만 몹들이든 봇들이든, 상황에 따라 자동으로 학습 혹은 조건반사적으로 대응하는 기능이 있지 않는 한 지형지물에 변화를 준다고 그걸 알아서 찾아 이용하지 않고, 설령 있다한들 상당수가 디자이너들의 의도대로 흘러가질 않으니 이에 대비해 보이지 않는 벽으로 이상한데로 새지 않게 틀어막고 트리거로 싸잡아 강제하는 것이다.

그리고 플레이어가 쓸 수 있는 각종 도구나 무기들도 해당 레벨과 어울리거나 나름 도움이 되어야 한다. 예컨데 숨을 만한 바위나 나무조차 없는 개활지가 무대라면 산탄총의 수요는 적을 것이고, 반대로 비좁고 구불구불한 참호 속이라면 (팀으로 나뉘어 참호전을 펼치지 않는 한) 저격 소총의 수요는 적을 것이다.

또한 튜토리얼을 넣을 거라면 기초적인 행동 조작들을 시작으로 게임의 특징들을 잘 숙지할 수 있게끔 디자인해야 한다.

다만 프로그래머나 디자이너들이 만든 에셋들 중 레벨 디자이너가 보기에 영 아닌것도 있는지라 실제로 이것의 선구자격인 하프라이프 포스트모템에서도 아무리 이것저것 만들어 넣은들 두 달 후에 단 한 명의 레벨 디자이너가 맵에 빔 효과를 설치했음을 언급했는데, 그 이유는 (설령 알더라도) 어디에 써야할 지에 대해 감을 잡지 못했다는 것이다. 반대로 레벨 디자이너가 을이거나 해서 이것들을 닥치는대로 넣은들[11] 그게 항상 레벨에 어울리는 것도 아니기에 협업도 중요하다.

마지막으로 개발 방향이나 철학 등이 없어 이것저것 넣었다 뺐다 이랬다 저랬다 하거나[12][13] 개발사가 황금만능주의라 밸런스를 무너뜨릴 정도의 현질까지 있는[14] 경우도 있는데, 이 경우 밸런스를 생각한다면 당연히 레벨 또한 이렇게 바뀐 환경에서 일어날 거의 모든 일들을 파악하고 엉뚱한 방향으로 튀지 않게 수정해야 하지만 이럴 여력이나 관심이 없는 곳은 그냥 내버려 두기도 한다.

[1] 밸브 역시 MOD 만들기에서 엔진이 어떻게 돌아가는지 이해하고 만들 것을 언급하고 있다. 예를 들어 A4 용량의 엔진으로 A3 크기를 구현하려면 그 정도롤 돌릴 정도로 프로그래밍적 마개조를 하거나 분할화를 하는 수밖에 없다. [2] 설령 이걸 알고 만들어도 실전에선 예상치 못한 결함이나 작은 변수를 가지고도 별별 상황이 벌어지기에 최종 버전까지 테스트는 필수다. [3] 게임상에서 적으로 나오는 NPC. [4] 실제 12년차 (PVP) 레벨 디자이너가 말하는 '좋은 레벨 디자인'에서는 꼬맹이 마리오 상태에서 벽돌 위에 아무것도 없고 밑에는 엉금엉금을 배치해놓고 이 둘 중 선택하라는 이분론적 선택지만 거론했지만 저 '정지된 예시'와 달리 실제 마리오 게임 상에선 엉금엉금은 (무력화 되지 않는 한) 계속 이동하기에 그 자리에 고정되게 수정하지 않는 한 나머지 창의적인(?) 선택지들이 추가로 존재한다. 하나는 배관 위에서 저들이 저편으로 지나가길 기다렸다가 내려와 먹는 것이고, 다른 하나는 발판 위로 도약해 엉금이들이 배관 쪽에 몰려있을 때 뒤돌아 잽싸게 먹는 방법이다. 사실 저 예시는 구조가 간단하고 주변에 저것밖에 없어서 각 요소들의 특징 및 플레이어들이 할 여러가지 행동들을 하나하나 파악할 필요가 없지만... 김수한무 뽀꾸뽀꾸 등이 날아다니는 긴장 구역에서라면 이들의 특성 및 출몰 빈도, 해당 레벨에 삽입될 각 요소들의 특징과 배치, 그리고 플레이어들이 이 곳을 지나가며 할 수 있는 각종 상황들, 그리고 중증 길치 혹은 조작조차 힘겨운 몸치이거나 해서 도저히 답이 안나올 법한 최악의 상황에 놓여도 계속 진행할 수 있는 해법들을 잘 생각하고, 거기에 미흡한 부분들도 테스트로 반영해 수정하지 않고 그저 5일이나 하루 이틀만에 만들어 보이겠다며 속도전 정신으로 내놓아 버리면 문제가 될 수 있다. [5] 물론 성질 급한 이들은 이 기다리는 시간을 단점으로 거론할 것이니 쉽게 쓰긴 힘들다. [6] 그래서 규모가 되는 게임사들은 스크립트(스크립터), 컴벳(전투) 디자이너를 따로 두기도 한다. [7] 특정 부분에서 갑자기 멈추거나 허공에 대고 뻘짓을 한다든지 등등. [8] 손톱이 길거나 (근접전에서 제 위력을 발휘하는) 검이나 산탄총을 들고 있다거나 백병전, 육탄전을 선호한다, 하여간 피에 굶주렸다(...) 등등. [9] 물론 진입로를 협소하게 만들 수도 있지만, 이렇게 되면 연이은 축차투입을 막아내는 소모전 양상이 될 수 있으니 이 또한 어찌 풀어나갈지 생각해둬야 한다. [10] 그래서 이 경우 플레이어 쪽에서 역공하지 못하게 고저차를 이용한 일방통행, 보이지 않는 벽 등으로 막거나 아니면 플레이어들이 역공하는걸 정석 혹은 있을 수 있는 가능성 중 하나로 인지하고 플레이어들이 밀고 들어오면 거기에 스테이지를 끝낼 수 있는 적 본부 혹은 대기중인 예비대를 거기에 위치시키는 센스도 필요하다. 참고로 예비대를 일정량 출몰시키면 전선 붕괴를 막기 위한 시간벌이 혹은 최후의 발악이고, 무한정 출몰시키면 사실상 후방이든 앞으로든 밀어내기가 되니 이 또한 알아둬야 한다. [11] 예를 들어 소총 10종류가 한 맵에 존재해도 각각의 특성이 없는 한 가성비가 좋거나 성능이 월등한 것들만 쓸 것이다. [12] 예컨데 처음 시작시 기본적으로 이동 등을 정하게 되는데 여기에 질주 로켓점프를 추가하면 이동 속도나 도약력이 향상되지만 이것이 없는 상태에서 만들었다면 그만큼 레벨이 좁게 느껴질 것이고, 반대로 이를 고려해 만들었다가 이 요소들을 없애면 넓게 느껴지기에 각 지점간 거리를 축소 혹은 이동 속도 증가나 이를 보조하는 텔레포트 기기 같은 걸 넣는 식으로 조절할 필요가 있다. [13] 그밖에도 약간의 수류탄이 가미된 총격전용 레벨을 설계했는데, 이후 유탄이나 로켓 등이 추가되면 이것으로부터 비산할 파편들을 막아줄 엄폐물이 따로 필요하거나 데미지를 견제용마냥 하향 조절할 필요도 생길 것이다. 또한 이것들의 등장 빈도가 흔해지고 심지어 전차까지 등장하면 교전지마다 닥치고 화력 투사나 전차전 위주로 바뀌기에 기존 상자보다는 참호나 헐 다운 차호의 존재 및 배치가 중요해질 것이다. [14] 카운터 스트라이크 온라인에선 이탈 방지의 법칙을 무시할 수 있게 해주는 랜덤 박스 아이템을 팔고 있다.