본문 바로가기

쯔꾸르 강좌/단간론파 제작

단간론파 - 반론 쇼다운 진타 제작하기 [쯔꾸르]

단간론파 미니게임 재현하기


[반론 쇼다운 진타]





단간론파 미니게임 반론 쇼다운 진타

그것도 한번 게임 제작틀을 갖추게 되면, 찍어내기만 하면 되기 때문에

어려움 없이 여러 개의 반론 쇼다운 미니게임을 만들 수 있습니다.



해당 미니게임의 링크는 아래와 같습니다.

그리고 필요한 UI도 위 파일 첨부를 통해 받아가시면 됩니다.


https://drive.google.com/file/d/0B671jgSqHYKdVEZlb05iZHhSc1E/view?usp=sharing

논파!!!! 버럭.psd

New 반론 쇼다운 UI.psd

New 충무공 이순신장군도 칼집.psd

New 충무공 이순신장군도.psd

New 반론쇼다운 대사바.psd


(RPG MAKER VX ACE RTP 설치가 필요합니다)





우선은 반론 쇼다운 진타의 이벤트들 개수.


도입부 담당 이벤트

키입력처리 이벤트 2개

발언담당 이벤트 5개

듀얼 이벤트 2개

실시간 처리 이벤트 1개

로 구성되어 있습니다.


먼저 가장 좌하단의 이벤트

도입부 담당 이벤트부터 살펴보면...


일단 도입부니까, 전에 쓰인 모든 픽쳐들은 소거해주고, 도입부를 위한 부분을 짜줍니다.



변수 설정 작업과 필요한 픽쳐들을 로드합니다.

그리고 화면을 반으로 가르고 둘 간의 대화를 주고받는 연출까지 구현.

0620:반론쇼다운 경계선 ON 이란 스위치는 커먼이벤트를 활성화 시키는 이벤트입니다.



화면을 반으로 가르는 경계선의 위아래 움직임을 담당하는 이벤트지요.



아무튼 다시 돌아가 도입부 담당 이벤트를 보면...



위처럼 반론 쇼다운 진타! 라는 텍스트 등등과 함께 필요한 연출이 등장하고...



반론도가 등장합니다.

그리고 이어...



게임이 시작되기 위한 필요한 UI 및 변수들을 모두 설정해 줍니다.

반론도의 개수는 그때 그때 필요한 만큼 주면 됩니다.




도입부 부분의 반복 실행을 막기위해 0094:반론쇼다운 도입 = -1을 통해 차단했습니다.

해당 이벤트의 실행조건은 0094 변수가 0 이상일 경우기 때문이죠.

그리고 도입부가 끝남과 동시에 키입력 처리를 활성화시켰습니다.

까지가 도입부 부분...






다음은 키입력처리 1 이벤트입니다.

(키입력처리 2 이벤트는 듀얼 이벤트때만 사용)


기본적으로 베어내는 각도를 방향키로 조절하고, 베어내고, 논파하고, 반론도를 교체하는 작업이 이루어지는 부분입니다.


각도 조절은 수직, 수평, 좌 대각선, 우 대각선 4방향입니다.




X버튼을 누를 경우의 실행 결과입니다.

가장 먼저 베어낼 수 있는 횟수를 계산하는 부분입니다.

딱히 건드릴 부분은 없습니다.




그렇게 계산이 끝나면, 각도에 따라 어느방향으로 베어낼 지 계산을 합니다.

0097 변수에 따라 그것이 결정됩니다.




베어내는 효과와 함께, 베어내는 위치에 발언이 있다면,

그 발언의 체력을 감소시키는 부분입니다.

$game_variables[629] >= 180 ~~~~~~

라는 부분은 범위 조건입니다.

특정 영역안에 발언의 x좌표 y좌표가 들어맞는다면 조건에 만족하면서

위 명령을 실행하게 됩니다.




노란 발언을 베어낼 때는 발언만 제거시킵니다.



흰 발언을 제거할땐 화면을 상대방 쪽으로 조금 밀어버립니다.

키입력 처리 이벤트는 여기까지 건드릴 부분이 없습니다.




shift키를 눌렀을때, 반론도를 교체하는 부분입니다.




Z버튼을 눌렀을때 논파 여부를 결정하는 부분입니다.


0088:논파문장 출연

0일때 : 노란색 문장이 나오지 않음

1일때 : 노란색 문장이 나왔으나 올바른 문장일 경우

2일때 : 노란색 문장이 모순된 문장인 경우

즉, 모순된 문장이 나왔고, 해당 노란 발언의 체력이 1이상이고 (베어내지 않음)

모순된 발언을 논파할 반론도를 장착했다면,

논파하는 부분입니다.


경우의 수에 따라 아무 노란 발언이 나오지 않은 경우는 그냥 무효처리하고,

잘못된 발언이나 올바르지 않은 반론도를 사용했다면,

실패처리됩니다.





다음은 중간부분에 있는 이벤트, 발언 담당 이벤트입니다.


발언담당 이벤트는 총 5개가 있는데,

한 화면에 최대 보여줄 발언 개수가 4~5개라는 의미입니다.

그 이상 넘어가면 정신없기 때문에

4개정도로 타협봤습니다.


구성 내용은 똑같으니 하나만 보겠습니다.



0093:반론쇼다운 발언 == 1일때

실행되는 명령어들 입니다.


0089:가로문장1 = 1을 대입해서 체력설정을 해준 뒤,

(가로 문장이란 이름은 무시해주세요)


해당 문장의 첫 좌표값을 설정해주고,

발언의 픽쳐를 띄워줍니다.


그리고 0621:문장 1 스위치를 활성화시킵니다.

(0621:문장 1 변수0089:가로문장1 변수(체력)가 0이 되면 비활성화 되거나, 끝내 플레이어가

해당 문장을 처리하지 못하면 비활성화 됩니다)


그리고 필요한 연출 (제 경우는 반바퀴 돌면서 나타나는 연출)과 함께

0093:반론쇼다운 발언 += 1 로 다음 발언이 나타나게 합니다.


(이때 0093 변수의 값은 2가 되면서, 0093 == 2 를 만족하는 이벤트가

새로운 발언에 대한 명령을 수행할 겁니다.)



이후 루프연산을 통해 조건을 만족할때까지 발언을 이동시킵니다.

60분의 2초마다 x값과 y값을 각각 +30, -30주다가 X값이 340 이상이면 명령을 중지합니다.




그리고 약 100프레임동안 멈춘 뒤,

그때까지도 해당 발언이 살아 있으면,

0089:가로문장1 변수가 0이 아닐경우... (즉 체력이 0이 아닐 경우)

그대로 연출과 함께 해당 문장은 사라지고,

그 사라지기 직전까지도 문장의 체력이 0이 아닐 경우,

강제로 체력을 0으로 지정하고

타격을 입히는 연출과 함께 문장이 완전히 소거됩니다.



그런 식으로 쭉쭉 하나씩 발언을 만들어 나가면 됩니다.

연출은 비슷하기 때문에 복붙해서 좌표값과 픽쳐만 새로 설정하면 됩니다.

연출은 본인이 주기 나름이기 때문에

여러 효과를 줄 수 있습니다.


아래는 또 다른 예제입니다.



(주인공 일러스트가 바뀐 것 같은 느낌과 BGM의 음질이 나쁜 건 그냥 넘어갑시다...! ㅎ)



위 경우에는 이처럼 루프가 3개 쓰였습니다.

X 좌표를 +50씩 더하다가, +1씩 더하다가 +50씩 더해서 사라지는 연출입니다.




논파 문장은 위와 같습니다.

논파문장 체력과 논파문장 출연 변수로 결정합니다.

아까 말했듯이

0088:논파문장 출연 변수는 값이

0 : 무효

1 : 모순되지 않은 노란 발언

2 : 모순된 노란 발언


이므로 적절한 변수값을 설정하면 됩니다.




아무튼 그런식으로 발언을 계속 진행시키다보면

마지막 발언이 등장하는데, 그 발언의 끝에는 X축 값에 따라

듀얼이벤트와, 반론이벤트가 시작됩니다.


제대로 베어내지 못하면 실패

적당히 베어낼 경우 듀얼이벤트

제대로 냈을 경우 반론이벤트입니다.



반론 이벤트로 넘어가면, 베어내는 횟수를 초기화하고,

주인공의 반론이 시작됩니다. 물론 이 동안엔 키입력 처리를 막아야하므로

0096:반론쇼다운 키입력 변수를 0으로 두어 막았습니다.



그리고 주인공의 반론과 함께 마지막에는 키입력처리를 다시 활성화시키고, 

중심축을 다시 처음으로 리셋합니다.

0093:반론쇼다운 발언 = 51을 주어, 다시 새로운 상대방의 반론이 쏟아지게 만듭니다



만약 제대로 배어내지 못하고 듀얼 이벤트로 빠졌다면...



듀얼 이벤트의 발동 조건

0093:반론 쇼다운 발언 == 40에 따라

듀얼 이벤트가 시작됩니다.

키입력 1 처리 이벤트를 비활성화 시키고

키입력 2 처리 이벤트를 활성화 시키면서 (0073:듀얼 키처리 = 1)

0093:반론 쇼다운 발언 == 41을 대입합니다.




그리고 1초마다 타격을 입히는 이벤트와 함께...



듀얼 이벤트에서도 밀렸다면, 실패

(그 직전에 키처리를 비활성화 시킵니다)



밀어 냈다면, 성공



0093:반론쇼다운 발언 = 50을 함으로써 반론 이벤트의 조건을 만족시키고,

듀얼 이벤트를 끝냅니다.





듀얼 이벤트때 활성화 되는 0073:듀얼 키처리 변수는 Z키 연타를 담당합니다.

누름 방지를 위해 0080 스위치로 Z키 버튼이 떼지는 순간 ON시킵니다.

그리고 ON이 된 상태일 경우에만 Z키를 누르면 해당 명령어가 실행됩니다.

그리고 다시 눌러지는순간 OFF로 돌려서 누르고 있는 꼼수를 방지합니다.


Z키 연타할 때마다 0071:듀얼 밀어내기 변수를 1씩 누적하고

5가 되면 밀어냄과 동시에 다시 0으로 초기화 시킵니다.


계속 Z키를 연타하다가 듀얼 이벤트를 담당하는 이벤트가 시간 제한이 끝나면

얼마나 밀어냈는지 여부를 갈라 성공, 실패를 결정하며 듀얼 키처리 이벤트도 끝이납니다.



발언의 픽쳐를 실시간으로 변동되는 x좌표와 y좌표에 따라 적용하는 이벤트입니다.

체력이 0이 아니고, 문장이 활성화된 경우만 명령어가 실행됩니다.




그리고 마지막... 발언의 픽쳐를 실시간으로 처리해주는 이벤트입니다.