조회 수 3888 추천 수 0 댓글 5
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

실제 이용시간이 약 1시간 정도 되는 알만툴 초봅니다.

 

여러가지 게임들을 보니 몬스터를 잡을 때 실시간도 있고,  턴제도 있고, 배틀씬 자체가 없는 완전한 실시간 방식도 있더라고요.

 

제가 구현하고 싶은건 배틀씬 자체가 안 나오는, 맵에서 바로 몬스터를 잡는걸 구현하고 싶은데 어떻게 해야 구현할 수 있을까요? 튜토리얼을 봐도 잘 모르겠어요. 기본 방식은 턴제인데 이걸 어떻게 실시간으로 우회 한다는건지 이해가 잘 안가요.

 

MV 기준으로 설명해주셨으면 좋겠습니다.

TAG •
?
  • profile
    천무 2016.06.13 16:50
    속단하긴 이르나 이제 툴잡은지 1시간 되셨다면, 실시간전투(보통 액션RPG라고 칭하는데) 를 구현하는건 좀 여러가지 경험을 쌓아야 가능할듯 합니다.

    몇가지 제가아는선에서 이야기드리자면.
    RPGVX 나 XP의 경우 XMS 같은 액션RPG를 만들어주는 스크립트가 있는데 꽤 좋습니다.
    MV는 현재 플러그인이 있는지 모르겠네요.

    플러그인이나 스크립트를 사용안하고도 만들수 있긴합니다.

    기본적으로 알피지만들기 툴은 좌표체계가 있고, 변수계산과 조건분기가 가능하기때문에.
    이를 이용해서 액션rpg 구현이 가능하긴 하죠.

    말로 개념설명을 드리자면.

    나의 좌표와 적의 좌표를 병렬처리로 변수에 대입하고.
    이 변수들을 비교하는 방식으로 주인공과 적의 위치를 계산.
    키 입력에대한 조건분기를 병렬하여 입력하는 키에따른 기술발사 이벤트를 만들고..
    하는것인데. 연습을 많이 해보셔야할겁니다.

    이것이 꽤 복잡한지라. 말로 설명드리긴 어렵네요.
  • ?
    참몰랑 2016.06.14 14:45

    그러니까 몬스터 툴은 생성만 이용하고, 나머진 변수로 이용하라는 말씀이신건가 보군요.

    적변수, 나의 변수를 따로 만들고 적이 공격하는걸 내가 맞았을 때, 내가 공격하는 사이 적이 맞았을 때 이벤트를 불러와서 처리하는 방식이다. 라고 말씀 하시는거 같은데, 알고리즘으로는 이해가 잘가는데 어떻게 구현 해야하는지는 아직까진 잘 못하겠네요...

    혹시 티펙님이 말씀하신 플러그인을 삽입하게 되면 간단한 처리만으로도 액션 RPG를 만들 수 있게 되는건가요?

  • ?
    asd 2016.06.15 04:44

    액션 전투 방식(Action Battle System, ABS)은 주제가 큰 것 같아서 댓글을 달까 말까 고민하다가 댓글을 답니다.

     

    제가 만약 게임에 ABS을 넣어야 한다면 아마도 플러그인을 사용할 것 같습니다. 하지만 직접 이벤트들로 구현해보면서 배운것들이 있기에, 그것에 대해서 소개해보고자 합니다.

     


    이벤트로 ABS를 구현하는것에 대한 자료

     

    제가 이벤트로 ABS를 만들고자 하면서 시행착오를 겪었을 때, 도움이 되었던 Kazesui 라는분의 튜토리얼입니다. 
    https://rpgmaker.net/tutorials/859/
    특히 충돌처리를 개선시키는 부분과, Event ID로 다수의 이벤트들을 다루는 방식이 저에게는 새로웠습니다.

     

    이벤트를 사용하는 것중에, Kazesui님의  다른 튜토리얼도 있는데 특히 흥미로웠던 것들은 다음과 같습니다.
    길찾기 알고리즘(다익스트라) https://rpgmaker.net/tutorials/547/
    커스텀 아이템 메뉴 https://rpgmaker.net/tutorials/410/
    이벤트로 “잘” 코딩하는 방법 https://rpgmaker.net/tutorials/691/
    유튜브 채널 https://www.youtube.com/user/ZethKazuki/videos

     

    영문자료들이라 죄송합니다. 번역하기에는 조금 벅찼습니다. 그리고 옛날 알만툴 자료지만, 이벤트 집약적인 작업에 관한 자료로는 괜찮다고 생각해서 링크를 걸었습니다.

     


    이벤트들로 ABS를 구현하기위해 알아둘만한 것들

     

    제가 스위치, 변수, 병렬처리, 커먼이벤트, 조건분기 정도를 이해하고 ABS를 구현해 보았을 때, 너무 지저분해져서 실제로 게임에 적용하기가 어려웠습니다. 그것을 조금 더 모듈화 해서 언젠가 써먹을 수 있도록 개선하기위해선 몇가지 개념들을 이해해야 했습니다. 그런 것들을 미리 알았더라면 좋았을 거라는 생각이 들었고, 그래서 초심자에게 간단하게나마 소개하고자 합니다.

     

    Call Event : 주로 커먼이벤트를 불러올 때 사용되지만, 제가 소개하고 싶은 부분은, 이벤트(몬스터라던지 NPC라던지)에 사용하는 경우입니다. Call Event를 사용해서, 특정 이벤트의 특정 페이지에 작성된 명령들을 실행시킬 수 있습니다. 예를들어 몬스터 이벤트의 3번 페이지가 몬스터의 죽음을 다루는 페이지라면, 자신이 죽는 상황이 왔을 때, 3번 페이지를 실행하는 식으로 활용할 수 있습니다. 그렇게 커먼이벤트보다 조금 지역적으로 활용할 수 있습니다.

     

    Variable Reference : 4번 변수에 숫자 7이 저장되었다고 합시다. 알만툴에서는 변수에 저장된 수를 읽어오는 것 뿐 만아니라, 변수에 저장된 숫자(숫자7)에 해당하는 위치에 있는 변수(7번 변수)에 저장된 숫자(7번 변수에 저장된 숫자)를 불러올 수 도 있습니다. 

     

    Call Event는 한번 써보면 이해가 쉬운데, Variable Reference는 조금 머리아플때가 있습니다. 변수포인터나 참조변수 같은 키워드로 한번 검색해보는 것을 권합니다. 그리고 다음은 잡다한 정보입니다.

     

    This Event : 이벤트1로 이벤트2의 페이지5를 Call Event 했다고 합시다. 이벤트2의 페이지5에 “이 이벤트의 그래픽을 변경한다” 는 명령이 있으면, 이벤트1이 아니라 이벤트2의 그래픽이 변경됩니다.

     

    Wait 이슈 : 이벤트에서 Call Event로 불러온 페이지에 Wait 명령이 있으면 그 시간만큼 기다립니다. 당연한 이야기처럼 들릴지는 몰라도, 병렬처리 이벤트로 Call Event를 사용했을 때 그 페이지에 Wait명령이 있으면 그 시간만큼 병렬처리가 지연된다는 것을 망각하는 경우가 있습니다.

     

    Event Pages : 이벤트 안에 페이지가 여럿이면 맨 마지막 페이지가 우선적으로 적용됩니다. 

     

    Event ID : 이벤트에는 이벤트 이름과는 별도로 Event ID라는 숫자가 붙습니다. 특정 좌표에 있는 이벤트의 Event ID를 구하는 알만툴 기본기능이 있습니다. 이벤트가 겹쳐 있을때는 Event ID가 가장 큰수인것(가장 작은 수인것이던가?)을 알려줍니다.

     


    이벤트들로 ABS를 구현하고 배운것

     

    저의 경우에 ABS를 구현할 때 Kazesui님의 튜토리얼을 따라갔습니다. 그 튜토리얼을 그대로 옮기는 것은 벅차고, 제가 ABS를 구현하면서 배운 것 중 하나를 소개할까 합니다.

     

    알만툴 이벤트들로 ABS를 만들 때 제가 가장 곤란하게 생각했던 부분은, 다수의 몬스터를 다루는 부분입니다. 몬스터 이벤트 하나하나마다 체력이나 x, y좌표 변수를 직접 지정해줘야만 한다고 생각했습니다. 나중에 알게 되었지만, Event ID로 몬스터의 속성이 저장된 변수의 번호를 알아낼 수가 있습니다.

     

    한 맵에 몬스터이벤트가 30개 있다고 합시다. 그리고 그 이벤트들의 Event ID는 51~80 이라고 합시다. 그리고 몬스터의 체력은 변수 201~230에 저장할 계획입니다. 몬스터가 데미지를 입는 상황이 발생했을 때, 그 몬스터의 Event ID값에 숫자150을 더하면 몬스터의 체력이 저장된 변수번호를 알 수 있습니다. 이런식으로 몬스터의 다른 속성들도 Event ID를 통해 알 수 있도록 설계하면, 몬스터이벤트를 하나 더 추가 할 때마다 그 이벤트 안의 숫자들을 바꿔주지 않아도 됩니다. 그리고 몬스터이벤트를 수정할 일이 생기더라도, 기존의 이벤트들을 지우고, 수정한 이벤트를 복사 붙여넣기 하기만 하면 됩니다.

     

     


    이벤트들로 구성한 시스템이, 스크립트로 구성한 시스템의 세련됨을 따라가기는 어려울 겁니다. 하지만 이벤트들로 할 수 있는 엔진의 기본 역량을 알아두는 것은 중요하다고 생각합니다. 

     

    글을 쓰다보니까 두서가 없는데, 그래도 도움이 되었길 바랍니다.

  • profile
    티펙 2016.06.13 17:43
    플러그인 관련이라면 RPG maker 포럼에 Quasi라는 분께서 만들고는 있습니다.
    http://forums.rpgmakerweb.com/index.php?/topic/52049-quasi-abs/
    http://quasixi.com/quasi-movement/
  • ?
    참몰랑 2016.06.14 14:53
    동영상 보니까 신기한 거 많네요. 고맙습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
8448 저기 광고도 되는데 구글 리더보드 같은건 활용못하나요? 2 별광 2016.06.18 603
8447 님들 탈론Talon 2016.06.17 180
8446 이번에 MV를 구매하려고 하는데, 궁금한 점이 있습니다. 3 Nile 2016.06.17 633
8445 영웅전설 제작툴이 궁금합니다. 6 zmgma 2016.06.16 1295
8444 카운터공격을 passive로 구현하고 싶습니다. 1 정의오타쿠 2016.06.15 350
8443 MV에도 특정색으로 투명으로 바꾸는 기능이 있나요? 6 럽앤피 2016.06.14 1320
» 알만툴 초보자, MV를 이용해 실시간 전투를 구현하려면? 5 참몰랑 2016.06.13 3888
8441 제가 만든 게임을 앱 스토어에 올리려 하는데요. 2 RPG란무엇인가? 2016.06.12 739
8440 이게임이 앱에서 안떠서요...;;;; 2 실험용 2016.06.11 706
8439 네코 플레이어에 대한 질문입니다. 6 RPG란무엇인가? 2016.06.11 1420
8438 apk 설치할때 파싱이 되지않는다는 문제에 대해서 어떻게 해결을 하는지 궁금합니다. 2 해보자이가 2016.06.09 1105
8437 네코플레이어 문의 류민 2016.06.08 228
8436 게임변환이 안됩니다(+수정! 이제 됩니다) 3 연이a 2016.06.07 591
8435 rpg vx 그림 투명화 질문 (정말 중요한 문제에용) 8 file 별광 2016.06.07 1749
8434 게임플레이오류 2 jhj 2016.06.06 748
8433 학교소녀 도서실주사위어떻해하나요 2 sjqtu693 2016.06.05 703
8432 쯔구르 대사 및 선택창 밀림 file Zephyrus 2016.06.05 392
8431 젖소이야기 플레이 3 gvcf 2016.06.05 3987
8430 vx ace 타일셋 제한에 대해 4 머리큰두두 2016.06.05 558
8429 고전 게임 "소울해커스"를 찾고있습니다. kasparov 2016.06.04 193
Board Pagination Prev 1 ... 15 16 17 18 19 20 21 22 23 24 ... 442 Next
/ 442






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)