2017년 2월 7일

All Walls Must Fall에서 테크노-느와르 풍 미래의 나이트 클럽들을 만들어 낸 비법

저자: Jeremy Peel,

게임의 제목을 All Walls Must Fall로 지었다면, 그 이름에는 분명 숨은 뜻이 굉장히 많을 것입니다. 특히나 이 게임의 배경이 베를린을 배경으로 만들어졌다면 더더욱 말입니다.

Yager 사 소속이었던 개발자들이 새로 설립한 Inbetween Games는 자신들이 살고 있는 도시 베를린을 2089년까지도 냉전이 끝나지 않은 가운데 온갖 범죄와 첩보 행위의 온상으로 재구성해 내었습니다.

“아직도 냉전이 계속되고 있는 근미래의 베를린이라지만, 어찌보면 현재 베를린의 모습과 굉장히 비슷해 보이기도 할 것입니다.” 디자이너 Jan David Hassel은 말했습니다. “오늘날 이미 극복했다고 생각했던 문제들이 시대적 복수처럼 돌아와서 다시금 발생하고 있고, 개인의 자유와 번영에 대한 욕구는 소위 '대승적인 이해 관계'에 상쇄되어 버립니다. 여론은 사회의 선전에 상당한 영향을 받고 있습니다. 저희는 게임을 제작하면서 이런 시대적 추세를 배경에 꽤 많이 반영했습니다.”

blogAssets%2F2017%2FFEBRUARY+2017%2FMIU+-+All+Walls+Must+Fall%2FAllWallsMustFall_1-770x433-be64cf9e27cedb07ed04d485cdc9c53e662cbe73

이 게임은 그저 독일 나이트클럽의 비트에 맞춰 즐기는 테크노-느와르 전술 게임으로만 보일 수도 있습니다. 하지만 프로그래머 Isaac Ashdown의 말에 따르면 “피할 수 없는 변화”라는 주제도 다루고 있다고 합니다. 이 주제는 게임을 개발해낸 기술에도 상당한 영향을 준 것 같습니다. 게임 속 베를린 장벽 인근에 위치한 클럽들은 Inbetween이 만들어낸 레벨 생성 방식을 통해 끊임없이 변화하고 재배치됩니다.

게임 스토리는 베를린에서 하룻밤 새 일어난 이야기들을 다루고 있으며, 플레이어에게 임무를 부여하여 베를린의 수많은 클럽들을 전전하도록 만듭니다. 각 임무의 배경이 되는 클럽들은 개발자들이 직접 만든 DiscoGenerator 알고리즘을 통해 절차적 형성으로 만들어집니다.

“각 클럽마다 필요한 방의 규칙을 간단하게 설정해 준 다음, 이에 따라서 클럽의 내부 구조를 형성하는 것은 매우 간단한 구성방식입니다.”라고 Ashdown은 설명합니다. “댄스 플로어, 룸 등 배경 요소들의 숫자를 정해준 다음, 여기에 각 임무의 필요 요소만 추가해주면 되는 것입니다. 먼저 어떤 종류의 방을 활용할 것인지 선택하면, 이들을 무작위로 조합하여 매번 다른 내부구조를 형성하게 됩니다.”

blogAssets%2F2017%2FFEBRUARY+2017%2FMIU+-+All+Walls+Must+Fall%2FAllWallsMustFall_2-770x433-2dfd1c1513bdb9c67f2f1a4e3e143f609473bbe2

Ashdown이 언리얼 엔진 4의 플러그인의 형태로 직접 제작한 DiscoGenerator는 클럽의 거대한 내부 공간에 원하는 방을 최대한 조밀하게 채워나가는 방식으로 내부 구조 형성 작업을 진행합니다. 철거 업체에서 트럭에 가구를 싣는 방식과 비슷합니다.

이런 작업방식은 탐욕 알고리즘을 기반으로 작동합니다. Inbetween은 각 작업 단계마다 이번에 배치할 방으로는 어떤 종류의 방이 가장 최적일지 계산해내지만, 이런 선택으로 인해 최종적인 결과물이 어떻게 만들어질 지는 신경쓰지 않습니다. 이런 작업방식을 선택한 이유는 Inbetween 사가 게임 속 클럽들의 공간 배치에 그다지 효율성을 발휘하고 싶지는 않았기 때문입니다. 실제 현실 속 클럽들도 공간적 효율성에 신경을 쓰지는 않고요. 그렇더라도 최종 결과물은 굉장히 현실적인 구조로 만들어집니다. 이를테면 정문은 로비와 중앙 댄스 플로어로 이어지는 식으로 말입니다. 알고리즘은 이런 부분에 주안점을 둔 것입니다.

맨 처음으로 생성되는 내부 구조는 화장실이나 바 등의 공공 영역입니다. 이 영역들은 반드시 하나로 연결되어 있고 정문을 통해 접근할 수 있어야 한다는 규칙이 정해져 있습니다. 앞 단계에서 생기는 사이사이의 빈 공간은 개인 대여용 룸 등으로 채웁니다. 마지막까지 남는 공간은 기타 객실이나 복도로 ‘때워버린’ 다음, 최종적으로 문을 배치하여 각 객실의 출입구나 우회로를 형성합니다. 여기에 클럽 경호원들이나 입구 쪽에 길게 늘어선 손님들까지 배치하면 클럽이 완성됩니다.

blogAssets%2F2017%2FFEBRUARY+2017%2FMIU+-+All+Walls+Must+Fall%2FAllWallsMustFall_3-770x433-676e1bc6bb2e854afa0473e25c5a70fa01ca8615

“저희 게임은 반복 플레이를 유도하도록 만들어 졌으며, 플레이어는 매 플레이마다 다른 구조를 하고 있는 클럽들에 방문하게 될 것입니다. 따라서 플레이어의 입장에서는 매번 새로운 클럽을 탐험하고, 각 클럽에 숨어있는 비밀들을 찾아내야 하는 등 신선한 느낌을 받을 수 있게 됩니다. ”Ashdown은 말했습니다. “또한 게임의 스토리가 진행될수록 이미 방문했던 클럽을 다시 한번 방문해야 할 수도 있죠.”

Inbetween 사는 건물 외에도 독자적인 AI 시스템을 구축하여, 게임 속 인물들이 자기들끼리 모여 춤을 추거나 어두운 구석에서 어울리는 등의 행동을 보여주도록 하였습니다.

“언리얼의 AI 시스템이 복잡한 행동을 보여주기에는 아주 잘 만들어졌지만, 저희는 그냥 비슷한 부류의 인물들이 끼리끼리 모여서 서로 간단한 상호작용을 보여주는 단순한 행동 인공지능을 새로 만들어서 사용했습니다."

이 게임의 플레이에서 사회적 잠입은 굉장히 중요합니다. 플레이어는 단순히 그늘이나 구석에 숨어다니는 식의 잠입이 아니라, 다른 인공지능 적들로 하여금 플레이어가 현재 자신이 있어야 하는 곳에서 자기 할 일을 하고 있는 것이라고 믿게 만들어야 하죠.

“나이트클럽은 각 구성원들에게 허용되는 공간적 규칙을 규정하기가 굉장히 쉬운 배경입니다.” Hassel은 지적합니다. “덩치 좋은 경호원들은 정문에서 문지기 역할을 하거나, 공적인 공간에서 질서를 잡거나, 직원 구역, VIP 구역 등에만 위치해 있는 식이죠.”

blogAssets%2F2017%2FFEBRUARY+2017%2FMIU+-+All+Walls+Must+Fall%2FAllWallsMustFall_4-770x433-683226066be8acd7bbaffae0265f98b337493531

제작진은 All Walls Must Fall이 정적인 배경과 종이인형같은 2D 인물들로 이루어져 있지만, 실제로는 언리얼 엔진을 기반으로 만들어졌다는 사실에 많은 사람들이 놀랐다고 합니다.

“많은 사람들이 언리얼 엔진 기반의 게임은 이렇게 생겨야 한다!는 식의 고정관념을 가지고 있다고 생각합니다.” Ashdown은 재밌어했습니다. “하지만 언리얼 엔진을 실제로 사용해 보신 분들은 그다지 놀라워 하지 않으실 것입니다.”

All Walls Must Fall 은 PC 플랫폼의 Early Access 형식으로 발매될 예정입니다.  언리얼 엔진 4는 현재 무료로 이용할 수 있습니다.

에디터 주석: PCGamesN에서는 언리얼 엔진을 기반으로 제작된 환상적인 게임을 선정하여, 해당 게임의 개발자들과 인터뷰를 하고 "Making It in Unreal" 시리즈로 제작하고 있습니다. 에픽 본사는 기사 작성에 어떤 영향력도 행사하지 않습니다.