본문 바로가기
리뷰

스크래치 리뷰2. Rescate. La aventura legendaria.

by 할거없네 2018. 1. 31.

이번에 소개할 프로젝트는 Rescate. La aventura legendaria. 입니다. 스페인어인데 구조, 전설의 모험이라는 뜻이라고 하네요. (구글 번역)




조작 방법은 방향키를 통해서 움직입니다. 항아리 같이 생긴 주인공이 모험을 하는 것 같습니다. 땅을 밟고 점프하며 목적지 까지 닿으면 다음 레벨로 갑니다.


도트의 그래픽은 나름 깔끔한 것 같네요. 스토리는 대충 보면 살아남기 위해 모험을 떠난다 이런 것 같습니다. 장애물이 매우 작아서 첫판부터 떨어지기 일쑤입니다. 그럼



코드를 열어보니... 좀 무언가 복잡하네요. 여기서 핵심 기술을 보겠다면 캐릭터가 어떻게 장애물을 인식해서 점프를 하고 목적지에 닿도록 만들었는가 이겠습니다. 장애물 인식의 방법은 여러가지가 있으나, 가장 쉬운 방법은 '스프라이트 닿기'를 감지하는 것입니다. 이 프로젝트는 복잡해보이지만 사실 만드는 기술은 간단하고 직관적입니다.




장애물과 지형은 어디서인가 그린 것을 통으로 배경으로 만들어 냈고 이것을 인식하도록 만든 것입니다. 이것이 캐릭터 스프라이트가 투명하지 않은 부분을 닿게 되면 인식이 되어 지형으로 생각하도록 한 것입니다.





어떠한 좌표 관련한 변수대신 ~에 닿는가를 사용함으로써 프로그램 구현을 쉽게 하였습니다. 단지 스프라이트가 지형에 닿으면 왼쪽이냐 오른쪽이냐, 점프하여 위에 닿았는가 아래에 닿았는가를 생각해 주어야 하는데 그것을 구현하기 위해 여러가지 실험을 지속적으로 하면서 추가를 한 모습입니다. (만약에 제작자에게 왜 똑같은 조건문을 여러개 했냐고 물어보면 '만들다 보니 그랬다' 라고 대답할 것처럼 보인다는 이야기 입니다.)


좀더 위 프로그램에 대해서 설명하자면, 지형을 인식시키기 위해서 어떤 노력을 했는지 생각해 봐야 합니다. 캐릭터가 이동할 때마다 지형을 닿았는지 확인하고 닿았으면 다시 제자리로 가게 하는 것이 (스프라이트 닿기를 이용한)지형 인식의 핵심 기술입니다.


만약에 개선을 한다면 좀더 체계적으로, 같은 반복문을 하나로 합치기 위한 노력을 할 것입니다. 또한 상하좌우 모두 같은 방식으로 인식하는 것이기 때문에 이것을 간단하게 만드는 방법을 연구한다면 좀 더 간결하고 보기 좋은 프로그래밍이 될 것 같습니다.








댓글