담비의 월동준비 (2022)
총 10스테이지의 고정화면 2D 플래포머로 시그마의 오락실 게임 너구리(Ponpoko)의 클론 게임. PICO-8의 모든 게임처럼 게임패드를 기본적으로 지원하며, 키보드로 플레이할 경우 방향키와 Z, X가 2개의 버튼으로 배정되어 있다. 브라우저 및 모바일 플레이 링크는 여기.
플래포머 제작의 어려움을 알려준 게임이라고 할까, 내가 만든 게임들 중 패치 업데이트가 가장 많았고 제작에 난항을 겪었던 게임이다. 2D 플래포머에서 점프를 구현하기 위한 구조는 대강 다음과 같다.
- 캐릭터의 상승속도 변수를 설정한다. 초기치는 0이다.
- 중력 변수를 설정하며 매 프레임 상승속도에서 뺀다.
- 점프를 하면 상승속도 변수를 수정한다.
여기에 바닥을 뚫고 떨어지지 않도록 바닥과 캐릭터간의 충돌판정을 만든다. 즉 중력이 1로 설정된 상태에서라면 캐릭터의 상승속도는 -1이 되지만 바닥에 지속적으로 충돌하기 때문에 플레이어의 눈에는 제자리에 서 있는 것으로 보이게 된다. 여기에 점프를 입력한다면 상승속도가 5로 변경되도록 한다. 그러면 5프레임간 매 프레임마다 중력이 감산되어 상승속도가 5, 4, 3, 2, 1이 되며 처음에는 빠르게, 점점 천천히 높이가 올라가다가 다음 프레임에 속도가 0이 되어 공중에 정지되며, 이후 -1, -2, -3... 이 되며 떨어지다가 바닥에 충돌하면 제 자리에 서게 된다. 물론 정말 이렇게 설정하면 1초도 안 되서 점프라 끝날테니 실제론 좀 더 세밀하게 설정해야 한다.
비슷하게 좌우 이동도 움직임이 딱딱하지 않고 자연스럽게 보이게 만들기 위해서는 가속도를 설정해야 한다. 오른쪽 버튼을 입력하면 누르고 있는 동안 속도에 프레임마다 +1씩을 더하되, 속도가 무한으로 빨라지지 않도록 속도 최대치를 따로 설정한다. 그리고 현재 좌우 이동속도가 0이 아닐 때 (즉 이동중일 때) 입력을 떼면 좌우 속도가 0이 될 때까지 매 프레임 일정치를 감산하되 0 이하가 되지 않도록 한다. 이 최대 속도에 다다를 때 까지의 시간에 따라 각 게임의 플레이 감각이 크게 달라지는데, 패미컴 슈퍼 마리오 브라더즈의 마리오와 메가드라이브용 소닉 더 헤지혹을 비교하면 소닉이 최대 속도에 다다르기까지의 가속 기간이 훨씬 긴 걸 느낄 수 있다.
거기까지는 사실 그리 어렵지 않았지만 진정한 문제는 게임 내에서 중력의 법칙을 거스르는 존재, 즉 사다리의 구현이었다. 사다리 위에 올라선 상태에서는 바닥으로 떨어지면 안 된다. 즉 사다리와 일종의 충돌판정이 필요하다. 그렇지만 충돌판정을 잘못 넣으면 사다리를 오르내릴 수 없게 된다. 사다리를 오르내리는 조건도 '사다리 앞에 서 있는 상태'에서 상하키를 넣게 하면 사다리를 내려갈 수 없다. 왜? 사다리 위에 서 있는 상태에서는 '사다리 앞에 서 있는 상태'가 아니게 되니까. 반대로 '발 밑에 사다리가 있는 상태'에서 상하키를 넣으라 하면 지면에서 사다리를 오를 수 없게 된다. 그 상태에서는 발 밑에 지면밖에 없을 테니까...
PICO-8은 도구 특성상 게임 엔진을 내장하고 있지 않아 엔진을 처음부터 만드는 시행착오를 반복하며 만족스러운 결과가 나올 때까지 한참을 고생했지만 결과적으로는 내가 원하는 결과가 나온 것 같아 만족스럽다. (너무 자뻑하진 않겠지만 이 블로그에서 소개한 일부 레트로 플래포머 게임들 중엔 이보다 조작성이 나쁜 게임들도 있다.)
게임의 컨셉은 아케이드 게임 너구리를 모티브로 하되 게임 난이도를 전반적으로 쉽게 조정했다. 플래폼 사이의 틈새에 구애받지 않고 좌우를 왕복하는 적의 움직임, 음식으로 표현된 수집 아이템, 바닥에 깔려 있는 스파이크/압정과 사다리의 존재 등은 거의 너구리 요소. 다만 만들면서 컨셉은 '나도 깰 수 있는 너구리'를 지향하며 난이도는 적당히 쉽게 조정했다.
대강 설명하자면 적이나 압정에 닿으면 죽고 스테이지가 새로 시작하는 게 아니라 그 자리에서 잔기가 감소하고 2초간의 무적시간이 주어지며, 플래폼 사이 틈으로 떨어져도 죽지 않고 그대로 아래로 낙하, 여기에 점프나 낙하 중에도 좌우 입력을 받기 때문에 아래로 떨어지며 원하는 위치로 떨어지기 쉽게 했다. 대신 선물상자에서는 절반의 확률로 유령이 나올 수도, 잔기 +1이 나올 수도 있다. 여기에 간단한 신경쇠약 미니게임을 넣었으며, 타이틀 화면에서 미니게임을 선택해 시간 내에 클리어하면 잔기 +3 상태로 게임을 시작하게 된다.
이 신경쇠약은 다른 게임을 만들다가 어딘가 막혀 머리가 안 돌아가는 와중에 기분전환으로 적당히 만들었던 것을 카트리지 용량이 많이 남은 담비에 추가한 것. 제작에 고생한 만큼 이 게임의 엔진을 후에 다른 게임들에 재활용하기도 했다. 다른 사이드뷰 점프 게임인 #9 쇼핑몰내 빗자루 금지, #11 아직은 마법소녀 및 이 게임의 직접적인 후속작인 #13 담비의 수렵생활이 이 게임에서 만들어진 담비 엔진을 활용한 것.
Katiusza #07 안개낀 숲
안개낀 숲 (2022) 면클리어 방식의 탑다운 퍼즐액션게임. #01 미로미나의 주인공 길치 미나가 또다시 길을 잃고 안개낀 숲에서 헤메는 것으로 시작된다. 숲 전체는 안개로 덮여 있고 미나 주변의 3
ludonomie.tistory.com
Katiusza #13 담비의 수렵생활
담비의 수렵생활 (2022) #06 담비의 월동준비에 직접적으로 이어지는 후속작적인 게임. 설정상 숲을 돌아다니며 수렵채집을 하는 게 아니라 어째선지 담비의 천적인 눈사람들이 보관중인 마카롱
ludonomie.tistory.com
'Toponymie' 카테고리의 다른 글
Katiusza #08 위치트랩 (0) | 2024.04.09 |
---|---|
Katiusza #07 안개낀 숲 (0) | 2024.04.08 |
46억년 이야기: THE 진화론 (0) | 2024.04.07 |
졸업 I · II (0) | 2024.04.06 |
로그 (에픽스 MSDOS판 · 매킨토시판) (0) | 2024.04.05 |