본문으로 건너뛰기
EchoPlayroomAI토론aigora
Google 로그인
← 블로그

BUILD LOG

와르르 개발 일지 — itch.io 공개

가상의 동네를 부수려던 구상이 건물 한 동으로 좁혀지고, 플레이 피드백으로 무너지는 모양을 다듬어 itch.io에 올리기까지 닷새의 기록.
EchoPlayroom읽기 3분

와르르는 브라우저에서 하는 물리 파괴 샌드박스다. 건물 한 동을 골라 폭약이나 무기, 여러 방법으로 무너뜨린다. 9월 30일에 만들기 시작해 10월 2일 에코플레이룸에 정식으로 올렸고, 오늘 itch.io에도 공개했다. 그 닷새를 짧게 정리해 둔다.

동네에서 건물 한 동으로

처음 구상은 가상의 동네를 통째로 3D로 지어 놓고 부수는 것이었다. 만들기 시작한 지 얼마 안 돼 건물 한 동에 집중하기로 방향을 바꿨다. 동네를 넓게 짓는 대신, 한 동이라도 어디를 부수느냐에 따라 무너지는 모양이 달라지게 하는 쪽을 골랐다. 10월 3일에는 이름도 「해체 실험실」에서 「와르르」로 바꿨다. 쌓여 있던 것이 한꺼번에 무너지는 소리를 나타내는 우리말이고, 영어로는 소리 나는 대로 WARURU라고 적었다.

어떻게 부서지나

건물은 수백에서 수천 개의 조각으로 되어 있고, 조각끼리는 결합으로 이어져 있다. 위에서 내려오는 무게나 폭발·충격이 결합이 버틸 수 있는 한계를 넘으면 그 결합이 끊어진다. 떨어져 나간 덩어리는 물리 엔진의 강체가 되어 구르고, 다른 데 부딪히면 다시 깨진다. 받침 밖으로 무게중심이 나간 부분은 그쪽으로 통째로 넘어간다. 여기에 금이 번지는 균열, 굴러 퍼지는 먼지 구름, 깨지는 유리와 드러나는 철근을 얹었다. 소리는 오디오 파일 없이 그때그때 합성한다. 계산은 실제 구조 해석이 아니라 화면에서 그럴듯하게 무너지도록 맞춘 게임용 근사다.

운석이 떨어진 쪽부터 조각이 떨어져 나가며 무너지는 고층 아파트
맞은 쪽부터 결합이 끊어지고, 떨어진 덩어리가 아래층에 부딪혀 다시 깨진다.

플레이 피드백으로 고친 것

플레이해 보며 나온 문제를 하나씩 고쳤다. 기둥만 부수면 층들이 팬케이크처럼 가지런히 포개져 내려앉았다. 한꺼번에 놓아 주던 것을 먼 쪽일수록 조금씩 늦게 풀고 기울기를 주어, 무너지는 모양이 덜 인위적으로 보이게 했다. 아래층만 부수면 윗부분이 한 덩어리로 떨어지다 공중에 멈추는 일이 있었고, 다 무너진 뒤 허공에 자투리 조각이 남기도 했다. 둘 다 받침을 잃은 조각은 반드시 떨어지도록 고쳤다. 모든 면에 같은 물결이 반복되던 균열 무늬는 불규칙한 셀 무늬(Worley 잡음)로 바꿨다.

조작도 손봤다. 시한탄은 당겼다 놓아 던지는 방식으로 다시 만들고, 날아갈 궤도를 점선으로 미리 보여 준다. 첫 미션은 화약통 두 개로 깰 수 있게 낮췄다. 철거 볼은 부서진 기둥이 받던 무게가 이웃 기둥으로 옮겨 가 연달아 주저앉도록 강화했다. 여러 장약을 시간차로 터뜨리는 설계에는 폭죽·화약통·다이너마이트를 더했다.

들어 있는 것

건물은 주거·업무 일곱 가지와 랜드마크 세 가지, 모두 열 종이다. 랜드마크는 실존 건축물을 양식화한 모형이다. 도구는 폭약 다섯, 무기 여섯, 방법 넷(설계·전도·폭격·지진)으로 열다섯 가지다. 미션은 열 개이고 판마다 별이 셋, 모두 서른 개를 모을 수 있다. 자유 모드에서는 마음껏 부수고 버튼 하나로 다시 세운다. 설계에서는 장약을 최대 12개까지 놓고 0.1초 단위로 지연을 정해 차례로 터뜨린다. 슬로모션과 카메라 네 가지가 있다. 사양이 낮은 PC를 생각해 화질은 시작할 때 기기를 재서 자동으로 정한다. 휴대폰 브라우저에서도 열린다.

itch.io 공개

오늘(10월 4일) itch.io에 영어판을 올렸다. 설치 없이 브라우저에서 바로 실행되고 무료다. 마음에 들면 원하는 만큼 후원할 수 있게 열어 두었다. itch 판에는 사이트에만 있는 기능 일부가 빠져 있다.

와르르 로고와 미션 수행·자유 모드 버튼이 놓인 시작 화면
시작 화면. 미션 수행과 자유 모드 중에서 고른다.

itch.io에서 와르르 열기 →

사이트에서 바로 하기 →

어디를 부쉈더니 이상하게 무너졌다거나, 조작이 불편했다는 이야기가 있으면 들려주면 좋겠다. 의견을 기다린다.