작성자 | 맑은공기 | ||
---|---|---|---|
작성일 | 2011-05-17 16:51:50 KST | 조회 | 13,875 |
첨부 |
|
||
제목 |
초보를 위한 영웅 관련 시스템 만들기 - 1강. 영웅 시스템
|
들어가기에 앞서...
본 강좌는 제가 추후에 만들 맵을 위해 필요한 영웅 관련 시스템들을 만들어 보며 알게 된 내용들에 대한 강좌입니다. 따라서 가능한 한 대부분의 영웅 관련 시스템을 포함하려 했으나, 간혹 몇몇 부분에 공백이 있을 수 있는 점 양해바랍니다.
※참고
본 강좌의 내용은 대부분의 독학으로 알게 된 내용이며, 타 강좌를 거의 참고하지 않았습니다. 그런 이유로, 다른 분들이 올려주신 강좌에 비해 구현 방법이 더 귀찮게 되어있거나, 혹은 알지 못하는 문제가 발생할 수 있다는 점 참고바랍니다.
※참고2
제가 글 사이사이에 스크린샷을 넣는 방법을 알지 못하여, 부득이하게 스크린샷에 번호를 매기고 강좌에서 해당 스크린샷의 번호를 언급하는 형태로 작성하게 되었습니다. 양해부탁드립니다.
※목차
Ⅰ. 영웅 시스템
1. 레벨 동작 및 효과
1) 동작 만들기
ⅰ) 서설
ⅱ) 동작
ⅲ) 레벨 당 필요 경험치 및 능력치 상승
2) 레벨 업 시 효과
ⅰ) 서설
ⅱ) 트리거 만들기
2. 아군 공격 저지
1) 서설
2) 트리거 만들기
3. 보상 주기
1) 서설
2) 비용 조정
3) 트리거 활용
4. 부활
1) 서설
2) 동작 만들기
3) 트리거 만들기
5. 영웅을 영웅답게
1) 서설
2) 우측 영웅 표시 넣기
3) 광륜 넣기
Ⅱ. 스킬 시스템(다음 강좌에서 다룰 예정)
Ⅲ. 상점 시스템(다음 강좌에서 다룰 예정)
Ⅰ. 영웅 시스템
1. 레벨 동작 및 효과
1) 레벨 만들기
ⅰ) 서설
영웅, 이라고 할 때 가장 일반적으로 떠오르는 시스템은 바로 경험치와 레벨입니다. 본 강좌에서도 그런 영웅 시스템의 핵심인 레벨을 만드는 방법으로 시작하도록 하겠습니다.
ⅱ) 동작
우선, 영웅으로 사용할 유닛 하나를 만들어줍니다. 복제를 하셔도 되고, 원래 있던 유닛을 사용해도 됩니다. 전 광전사를 복제해주었습니다.(스샷 1번)
이제 동작을 만들어, 광전사에게 경험치 바와 레벨을 부여할 차례입니다. (스샷 2번)과 같이 ‘실전경험’으로 동작을 하나 만들어 줍니다. 처음에 수정할 부분은 (스샷 3번)에 나오는 붉은 칸으로 된 부분입니다. 이 부분(공유 반경, 공유 비율, 경험치 비율)에는 똑같은 세 가지가 있는데, 그것은 공격력, 받은 피해, 처치입니다. 이때 공유 반경은 적에게서 경험치를 획득 했을 때 어느 범위까지 공유할 것인가를 나타내고, 공유 비율은 공유할 경험치의 비율을, 경험치 비율은 어떤 경우에 경험치를 획득할 것인가를 나타냅니다. 일반적으로는 적을 처치했을 때만 경험치를 얻으므로, 여기서는 처치 부분의 수만 수정해주겠습니다.
다음은, 경험치 필터 부분을 수정해줘야 합니다. 경험치 필터는 (스샷 3번)의 두 번째 붉은 칸 부분입니다. 이 부분은 경험치를 얻었을 때, 누구에게 공유를 할 것인가와 누구를 처치했을 때 경험치를 얻게 되는가를 정할 수 있게 해줍니다.
ⅲ) 레벨 당 필요 경험치 및 능력치 상승
이제 기본적인 설정이 끝났으니, 본격적으로 레벨 관련해서 설정을 해볼 차례입니다. (스샷 4번)을 보시면 동작 - 실전 경험도 - 최소 경험치가 나옵니다. 여기에 들어가셔서 숫자들을 추가해주시면 레벨이 정해지게 되죠. 이때 이 숫자들은 위에서부터 레벨 0, 1, 2, 3, 4, 5, ... 를 ‘벗어나는데’ 필요한 경험치 입니다. 즉, 제일 위에 있는 100은 레벨 0에서 1이 되기 위해 필요한 경험치고, 두 번째 200은 레벨 1에서 레벨 2가 되기 위해 필요한 경험치인 것입니다. 따라서 (스샷 4번)에서는 최대 레벨이 5인 실전 경험이 만들어진 것입니다(레벨 4에서 5가 되는데 필요한 경험치까지 있으므로).
(※보너스 : 처음부터 레벨 1로 시작하게 하고 싶으시면, 제일 위의 경험치를 0으로 만들어 주시면 됩니다. 확인해보진 않았지만, 어디선가 그런 댓글을 읽었던 기억이 나네요...ㅋㅋ)
다음, 매 레벨이 오를 때마다 상승하는 능력치의 양을 설정해 봅시다. (스샷 5번)을 보시면, 이동 속도가 나옵니다. 여기 있는 숫자들은 각각 경험치와 같이, 레벨 0에서 1이 되었을 때, 레벨 1에서 2가 되었을때, ... 증가하는 양입니다. 이때 주의하셔야 할 점은, 위에서부터 점점 숫자가 더 해져 내려온다는 것입니다. 즉, 레벨 0에서 1이 되었을 땐 이동 속도가 0.25가 상승하며, 레벨 1에서 레벨 2가 되었을 땐 이동 속도가 위의 0.25 + 해당 0.25가 되어 총 0.5가 상승하게 된다는 뜻입니다. 이 부분은 실전경험의 동작 어느 부분에서 설정해줄 수 있는데 기억이 가물가물하네요. 어쨌든, 동작 각 부분을 뒤지다보면 어디엔가 저 부분을 설정하는 게 나옵니다. 설정해줄 경우, 위에서부터 더해오지 않고 각각 부분의 독립되어 적용됩니다.
이런 방법으로 다른 능력치도 레벨 당 상승하는 부분을 수정해주시면 됩니다. 그 후에 가장 중요한 유닛에게 적용시키는 일이 남았네요. (스샷 6번)에서 나오듯, 영웅으로 만들고 싶은 영웅의 동작에 만든 실전경험을 추가해줍시다. 이걸로 레벨은 완성되었습니다.
2) 레벨 업 시 효과
ⅰ) 서설
맵에 들어가서, 적들을 잡아 경험치를 얻으면 레벨이 오릅니다. 우왕ㅋ굳ㅋ 근데.. 뭔가 허전하지 않나요? 경험치를 보지 않으면 레벨이 올랐는지, 아닌지 알 수가 없으니... 그래서! 이때 필요한 것이 레벨 업 시 발생하는 효과입니다.
ⅱ) 트리거 만들기
(스샷 7번)을 보시면, 트리거가 하나 나옵니다. 이벤트 하나, 행동 하나... 저 한 줄 밖에 안 되는 트리거로 레벨 업 시의 효과가 만들어집니다. 이때 좀 더 어울리게 만들기 위해선, 생성되는 행위자를 통해서 모델 배율 등을 조절해주시면 됩니다. 이런 건 할 줄 아실 거라 믿고, 넘어가도록 하겠습니다(절대 귀찮아서 안 하는 건 아니에요ㅋㅋ).
2. 아군 공격 저지
1) 서설
가끔 게임을 하다보면, 아군의 건물을 부수고 아군을 공격하는 정신 나간 분들이 계시죠. 그런 분들을 막기 위한 아군 공격 저지 방법에 대해 알아봅시다.
2) 트리거 만들기
아군 공격을 저지하는 방법의 종류는 무지 많지만, 여기서 다룰 방법은 트리거를 활용한 방법입니다. 왜 트리거를 쓰느냐, 하면 나중에 적들끼리 싸우게 만드는 등의 능력을 만들 때, 조절하기 편하기 때문이죠ㅋㅋ(동작을 활용하여 피해가 안 들어가게 한다든가하는 방법들도 떠오르지만, 일단 제가 생각나는 방법 중엔 트리거를 활용하는 게 제일 편한 방법이에요.) (스샷 8번)에 나와 있는 대로만 해주시면 됩니다. 이렇게 만들어 주시면, 아군에 대한 공격 명령이 떨어지면 공격하지 않고 바로 멈추게 됩니다.
3. 보상 주기
1) 서설
적들을 열심히 잡아 레벨을 올렸는데도 아이템을 사기위한 돈이 오르지 않는다면 얼마나 슬플까요ㅠㅠ 그런 의미에서 보상을 줘 우리 영웅님들의 지갑을 불려봅시다.
2) 비용 조정
비용을 주는 방법은 다양하지만, 가장 편한 방법은 유닛을 생산하는데 필요한 비용을 수정하고, 해당 유닛을 처치 시, 그 비용만큼의 보상을 주는 방법입니다. 따라서 (스샷 9번)에 붉은 칸 부분을 통해 처치 시 주고 싶은 보상을 설정해줍시다. 여기서는 광물 보상만 줄 것이기 때문에, 광물 부분만 수정해주었습니다.
2) 트리거 활용
이제 트리거로 넘어가서 실질적으로 보상을 주게 만들어 봅시다. 이번에도 간단합니다. (스샷 10번)을 보면서 그대로 만들어 주시면 됩니다. 적을 죽인 유닛의 소유자에게 죽은 유닛의 비용만큼의 광물을 추가해주며, 죽은 유닛의 자리에 비용만큼의 숫자를 띄워주는 방법이죠.
4. 부활
1) 서설
영웅 시스템에서 또 하나 중요한 부분은 바로 부활입니다. 전작인 워크래프트3에서는 알아서 쉽게 쉽게 부활할 수 있게 만들어줬지만 스타크래프트2에서는 전혀 그런 편리한 시스템을 제공해주지 않습니다(블리자드 개갞끼). 다만, 능력 창에 보면 TestRevive란 능력이 있는데 아마 워크래프트의 알터에서 죽은 영웅을 다시 생산하는 그런 시스템 같지만... 이건 만져보지 않아서 잘은 모르겠네요ㅋㅋ
2) 동작 만들기
이번에 필요한 동작은 크게 두 가지입니다. 하나는 적에게 치명적인 공격을 받았을 때, 죽지 않게 하는 동작이고 다른 하나는 치명적 공격으로 죽지 않게 되었을 때 실질적으로 죽은 상태나 다름없게 만드는 동작입니다. (스샷 11번)을 보시면, 적에게 치명적인 공격을 받았을 때, 죽지 않게 해주는 동작이 있습니다. 일부 비율 수정을 0으로 만들어서 치명적인 공격의 피해를 없애고, 치명적을 사용함으로 만들어서 치명적인 공격에만 작동하게 만들며, 확률을 1로 만들어서 무조건 발동되게 만들어줍니다. 그리고 피해응답 - 처리됨 부분에 뒤에 만들 무력화 동작(죽은 상태나 다름없게 만드는 동작)을 추가하는 동작적용 효과를 넣어줌으로써 완성됩니다. 그 후에 이 동작을 위에서 레벨 동작을 넣듯, 영웅으로 만들 유닛에게 넣어줍니다.
다음은 무력화 동작입니다. 치명적 공격에서 살아난 영웅이 계속 살아서 싸운다면... 적에겐 끔찍하겠죠ㅋㅋ 무력화 동작에서는 (스샷 12번)을 보시면 붉은 칸이 쳐져있는 상태 플래그와 수정 플래그 쪽만 만져주시면 됩니다. 여기서 상태 플래그에서는 ‘무적’과 ‘충돌 억제’, ‘탑승자 억제’를 사용함으로 해주시면 되고, 수정 플래그에서는 ‘능력 사용안함’과 ‘이동 억제’, ‘전환 억제’를 사용함으로 해주시면 됩니다. 그 후에 위에서 말씀드렸듯, 이 무력화 동작을 적용시키는 동작적용 효과를 만들어 주시고, 이를 처음에 만든 영웅 죽음 방지 동작의 피해응답 - 처리됨 부분에 연결시켜주시면 됩니다. 당연히 이 무력화 동작은 영웅으로 만들 유닛에게 처음부터 넣어주시면 안 됩니다.
(※참고 : 강좌를 쓰면서 문득 드는 생각이, 동작을 사용하지 않고 유닛이 죽자마자 바로 살려주는 방법을 사용하면 더 간단히 부활 시스템을 만들 수 있을 것 같단 생각이 듭니다만, 확인해보지 않아 실제로 적용될지는 모르겠습니다.)
3) 트리거 만들기
이제 트리거를 만들어봅시다. 트리거는 (스샷 13번), (스샷 14번)을 참고하여 그대로 만들어 주시면 됩니다. (스샷 13번) 트리거를 보면, 어? 분명히 경험치 주는 동작도 만들고, 보상도 주게 만들어놨는데 여기서는 또 보상을 주고 경험치를 주지? 하는 의문이 드는데요. 그 이유는 영웅은 죽은 것처럼 보이지만 실제론 죽지 않아서 죽인 유닛에게 경험치나 보상을 주지 않기 때문입니다. 또 (스샷 14번)의 트리거는 각 플레이어마다 하나씩 다 만들어 주셔야 됩니다(그러지 않고도 만드는 방법이 있을 것 같긴 한데 잘 모르겠네요ㅠㅠ).
기본 구조는 이렇습니다. 영웅이 피해를 입음 -> 이때 그 영웅에게 무력화 동작이 있음 -> 피해를 준 유닛에게 경험치를 주고 그 소유주에게 보상을 줌 -> 피해를 입고 무력화 동작이 있는 영웅을 부활할 지점으로 옮기고 완전 회복시킴 -> 레벨에 비례한 타이머 시작 // 타이머 만료 -> 영웅 부활.
이때 영웅의 죽음 여부를 따로 만들어서 체크하는 이유는, 마지막 순간에 여러 번의 공격을 받을 경우에, 타이머가 여러 개가 만들어지는 사태가 발생해서 이를 방지하기 위해서입니다.
5. 영웅을 영웅답게
1) 서설
이걸로 기본적인 영웅 시스템은 거의 완성되었습니다. 헌데... 뭔가 아쉽지 않나요? 영웅이라면 영웅답게 간지나게 만들어줄 뭔가가 있어야하는데... 그런 것도 없고 너무 허전하죠. 이를 위해서 영웅을 영웅답게 만들어 봅시다.
2) 우측 영웅 표시 넣기
캠페인이나 기타 유즈맵들을 보시면 우측 하단에 영웅들의 표시가 뜨는데, 이를 만들기 위해서는 (스샷 15번)의 붉은 칸대로 해주시면 됩니다. 유닛 - 플래그에서 영웅 부분을 체크해주기만 하면 끗. 참 쉽죠?
3) 광륜 넣기
우측 하단에 영웅 표시가 뜬 것도 좋긴 하지만, 이로는 뭔가 아쉽죠. 실제 게임 화면에서는 일반 유닛이랑 다를 바가 없으니까요. 그런 간지를 위해서, 광륜을 넣어줍시다. 광륜은 유닛의 주변에 빛나는 테두리가 생기는 효과에요. 다만, 저처럼 하옵으로 하는 챠륵크래프트에서는 적용되지 않는다는 점... 명시해주세요...ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
방법은 간단합니다. (스샷 16번)처럼 해당 영웅의 행위자 이벤트에서 광륜 시작을 넣어주면 끗.
끝내면서...
아... 생각보다 많이 힘들고 귀찮네요ㅠㅠ 뒤로 갈수록 설명이 줄고 그냥 스샷만 보라는 형태가 늘어가고...ㅋㅋ 원래 계획대로라면, 강좌들을 하루에 하나씩 쓰려고 했는데 힘들다보니, 다음 강좌(스킬편)는 언제 나올지 모르겠어요. 아마 나오더라도 이번 강좌에 비해 훨씬 간단하게, 많은 부분을 생략하여 초보분들이 이해하기엔 조금 더 힘들게 만들어질듯 싶네요ㅋㅋ
아직은 예제맵이 포함되어 있지 않지만, 예제맵에는 강좌에서 다루지 않은 내용들도 많이 포함되어 있어요. 다 초보분들에게‘만’ 도움이 될 만한 것들이긴 하지만요ㅠㅠ. 가령 처음에 대화상자를 이용해서 영웅을 선택한다든지, 주기적으로 적들이 온다든지, 데이터의 값을 불러오는 방법이라든지, 뭐 기타 기초적인 내용들이요. 또 예제맵은 저번에 올렸었던 워크래프트 형태의 방어력 시스템 강좌 예제맵처럼 TeamLC 카페에만 올라갈 것 같아요. 아마 올라가더라도 강좌가 다 끝나고 올라갈텐데 그때가 과연 오기나 할지는 모르겠지만요ㄷㄷ
이상입니다. 시험 준비를 하다 보니, 맵에디터를 만지는 시간이 하루에 길어야 1시간정도에, 예전에 글들 몇 개 주워본 것 이외엔 영웅 시스템에 대한 지식 없이 맨땅에 헤딩을 해서 여기까지 오는데 시간이 꽤나 많이 걸렸네요. 빨리 새로운 맵을 만들고 싶은 마음은 간절하지만.. 만들기 시작하면 이전 맵을 만들었을 때처럼 잠자는 시간조차 줄여가면서 맵에만 올인할 게 분명하기 때문에... 시험의 문제가 해결되고 나서야 만들게 될 것 같아 슬프네요ㅋㅋ
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
© PlayXP Inc. All Rights Reserved.