그건
바로

"문"

아니 겁나 간단해보이고 쉬워보이는데 뭐가 어렵단거임?
구라아님?

게임제작자가 트위터로 '문 엿먹어라' 라고 적었을 정도로
문이 사실 머리 아프게 하는 요소임
문을 만들때는 상황, 물건, NPC 등등 신경 쓸 게 한두가지가 아님
그래서인지 사실상 비디오게임에서 출입구에 문을 넣는 게임이 적음

이렇게 뻥 뚫리게 두는 게 피차 편하기 때문임
그래서 문 제작시 난이도 등급표가 있는데

제일 쉬운 건 위에 나왔던 예시처럼 문을 걍 없애는 거

그 다음으로 쉬운 건 슬라이딩 문임
자동으로 열리기 때문에 캐릭터 모션도 신경 쓸 필요도 없고
열림/닫힘 상태만 있어서 그 외의 애니메이션이 필요하지도 않음

이제 그 다음 난이도부터는 현실세계의 문처럼 생겨야 함
그런데 현실과 정확히 같은 방식으로 작동하지는 않음
현실세계의 문은 저렇게 양방향으로 움직이는 경우가 거의 없음
하지만 비디오 게임에서는 편의 때문에 저런 경우가 많음ㅋㅋㅋㅋ

그리고 대부분 염력으로 문을 열음ㅋㅋㅋㅋㅋ
게임에서는 캐릭터의 손이 문의 문고리를 잡는 경우가 거의 없음

그리고 어떤 게임에서는 문을 비정상적으로 크게 만드는데 이것도 다 이유가 있음

캐릭터를 비추는 카메라의 위치가 보통 문 높이에 있기 때문에 캐릭터가 문을 열고 들어가는 순간 카메라 위치가 애매해짐
그래서 문을 일부러 크게 만드는거 아니면 캐릭터 눈높이로 카메라를 잠깐 쑤셔넣어야 됨 불편...
그리고 현실세계의 문은 딱딱하지만 비디오게임에서는 그것도 구현을 해야함 데이터는 흐물흐물하니까


문이 물체와 닿았을때 어떻게 반응할건지 하나하나 다 짜줘야 하는거임
덜거덕 걸리는지, 아니면 그냥 통과하는지, 문에 손상을 입히는지 등등..
제일 높은 난이도의 문은...

캐릭터가 물리적으로 상호작용 할 수 있는 문임
위 짤처럼 자연스러운 움직임이 사실
손이 찹하고 문고리에 붙는 모션을 하나하나 다 빚어 만들어진 거임
키보드의 반응과 미리 만들어둔 문고리 잡는 애니메이션이 아다리 맞게 탁탁 돌아가야 비로소 자연스러운 '문열기'를 할 수 있는거임
그리고 캐릭터의 상태마다 문 여는 모션이 다 다를거 아님?

적한테 쫓긴다 -> 다급하게 문고리를 잡고 빠르게 열어재낌
경계한다 -> 문고리를 천천히 돌리고 주위를 살핌
다침 -> 힘겹게 문고리를 잡고 돌림
➡️ 제작자님 이거 다 만들어주시면 되시겠습니다 ^_^
그리고 여기에 NPC를 끼얹는다?

1. AI가 문의 작동원리를 알아야하고
2. NPC가 문이 열려있는 걸 아는지 모르는지,
닫힌 상태라면 그 문을 우회해서 갈 수단을 알고있는지,
3. 적대적인 캐릭터인지 호의적인 캐릭터인지,
4. 그 캐릭터의 모션이 어떻게 될건지
하나하나 다 고려해야 함....
게다가 문을 사이에 두고 전투까지 벌인다? 머리에 쥐나는거임...ㅠ
앞으로 게임할때 문이 많이 나온다면 문고리에 갈렸을 제작자들의 눈물과 땀을 기억하자...