RPG 만들기 툴을 다룰 때, 단순히 이벤트의 진행을 끊어버리는 건 간단합니다.
'이벤트 일시 삭제' 기능을 쓰든, 스위치로 제어하든. 방법은 많죠.
그런데 어떤 이벤트를 특정 상황에서 강제로 재시작시킬 필요가 있다면 어떻게 해야 할까요?
===========================================================================
[※ 이벤트를 강제로 재시작시켜보자.]
위와 같은 이벤트가 있다고 칩시다. 이 이벤트는 어떻게 돌아갈까요?
뭐 간단하죠. 1초 간격으로 타격1.wav ~ 타격5.wav 재생을 반복할 것입니다. 그리고 플레이어가 이 이벤트에 개입할 방법은 없습니다.
그런데, 게임을 만들던 도중 해당 이벤트를 플레이어가 원하는 순간에 타격1.wav부터 다시 연주를 시작하도록 고치고 싶어졌습니다.
근데 어떻게 해야 하지?
모든 '효과음의 재생' 이벤트 밑에 조건분기 라벨이동 넣어서 맨 위쪽으로 돌아가도록 설정할까?
그래 타격5.wav까지라면 가능하겠지. 근데 저걸 타격100.wav까지 만들어야 한다면? 조건분기도 100개 만들게? 이건 미친 짓이야.
게다가 대기도 0.1초 단위가 아니라 1초 단위라 세세하지가 못해.
바로 이런 상황에서 지금 소개할 방법이 쓰이게 됩니다.
병렬처리 이벤트에 위와 같은 페이지를 추가해줍시다.
이 페이지가 추가됨에 따라서, "타격n.wav"가 반복되면서 출력되는 도중에
다른 방법를 통해(키 조작이든 디버그 모드든 뭐든) 스위치 <0001:강제 재시작>을 On 해준다면,
이 이벤트는 잠시동안 [2페이지]로 진입한 후
자기 자신의 스위치 Off 처리에 의해 그 즉시 [1페이지]로 되돌아가게 됩니다.
이후, 이 병렬처리 이벤트는 맨 위의 '타격1.wav'부터 다시 시작됩니다.
(* 이런 식으로 써먹을 수 있다. 본 예제에서 이 슬라임한테 말을 걸면 타격1.wav부터 다시 재생된다.)
===========================================================================
[※ 해당 테크닉의 용도]
그래서... 이런 걸 어디에 쓸 수 있단 말인가?
언뜻 보기에는 별로 쓸데가 없어 보입니다.
하지만 알만툴에서 아래와 같은 기능을 구현하기 위해서는 이 방법은 좋은 트릭이 됩니다.
- 픽쳐를 이용한 특수한 연출을 하고 싶을 때.
- 특정 이벤트가 자신의 이벤트 내용을 스스로 끝내기까지는 좀 시간이 오래 걸리는데,
그 이벤트 진행을 강제로 끊고 처음부터 다시 시작시키고 싶을 때.
(아마 이쪽은 액션 계열 게임을 만든다면 많이 쓰일 거라고 생각합니다.)
픽쳐 쪽에서 대표적인 경우를 하나 설명해드리자면,
"연타공격 시, 대미지 수치를 빠르게 연속해서 표시할 때" 바로 이 방법을 사용하게 됩니다.
아래 영상을 봅시다. 이것저것 찍긴 했지만 처음 몇 초만 봐도 상관 없습니다.
(위 게임들에선 해당 내용이 본 강좌와는 다소 다른 방법으로 구현되었지만 본질은 같다.)
여러 종류의 연속공격이 등장합니다만, 중요한 건 매 타격이 들어갈 때마다 대미지 수치가 새로 표시된다는 것입니다.
바로 위 '이벤트 즉시 재시작' 테크닉을 사용한 덕분에 이런 연출이 가능합니다.
대미지 수치를 표시하기 위해서 스위치만 킨다거나, 이벤트 불러오기를 썼다거나 그랬을 경우...
다음 대미지를 새로 표시하기 위해서는 대미지 수치가 저 위로 올라가 사라지길 기다려야 할 겁니다.
그리고 그제서야 다음 대미지가 뜹니다. 그런 연출은 그다지 멋있지 않습니다.
하지만 위 게임들에서는 매 타격이 가해질 때마다 대미지를 표시하는 이벤트가 바로바로 강제로 재시작되도록 설정해놓았고,
그렇기에 저런 연출이 가능해진 것입니다.
어떻습니까.
참으로 쓸만한 테크닉 아닙니까?
===========================================================================
[※ 주의점 / 기타]
* 이 방법을 쓰기 위해서는 해당 이벤트가 '커먼 이벤트'여서는 안 됩니다. '맵 이벤트'여야 합니다.
마찬가지로 위 영상의 게임들에서도 '대미지 수치 표시' 관련 이벤트는 전부 맵으로 빼놨습니다.
이것에 대한 상세한 내용은 이전에 블로그에 올린 글(https://blog.naver.com/mariomario99/120112328205)을 참고해주십시오.
* 덤이지만, 위 링크의 글은 알만툴을 심화 수준으로 다루다 보면 마주칠 버그들 중에서
그 일부를 해결하는 법에 대한 힌트가 될 수도 있을 겁니다.
* 이 기술은 RPG 만들기 2000, 2003, XP, VX Ace, MV 모두 공통적으로 사용 가능합니다.
그래서 특정 툴 강좌 게시판이 아닌 칼럼 게시판에 올리게 되었습니다.