Wildermyth: 침입 방어 지도를 만드는 방법

Wildermyth에서 맞춤형 Incursion Defense 맵을 만드는 방법과 사이트 편집기를 사용하는 방법에 대한 일반 가이드입니다.

 

개요

내 작업을 하는 동안 침입 방어 팩 mod Wildermyth의 지도 편집기가 작동하는 방식에 대한 많은 리소스를 찾을 수 없습니다. 공식 유튜브 채널에 영상이 있습니다 (나는 그것을 보는 것이 좋습니다) 그러나 편집자는 새로운 사용자에게 즉시 명확하지 않은 많은 단점이 있습니다. 저는 특히 Incursion Defense 맵을 만들고 있었기 때문에 일반 맵과 비교하여 어떻게 작동하는지 알아야 했습니다. 이 튜토리얼은 특히 Incursion Defense 맵에 관한 것이지만 사이트 편집기를 이해하려는 모든 사람에게 도움이 될 충분한 일반 지식이 포함될 것입니다.

사이트 랩

시작하려면 기본 메뉴에서 도구 > 편집기 열기로 이동한 다음 편집기 메뉴에서 Site Lab을 선택하여 편집기를 열어 보겠습니다. 사이트 편집기로 더 이동하기 전에 오른쪽 상단 모서리에서 Mods를 선택한 다음 Create New Mod를 클릭하여 새 모드를 만들어 보겠습니다.


모드를 생성하면 모드 목록에서 자동으로 선택됩니다. 확인을 클릭하여 종료합니다.

사이트 편집기의 기본 레이아웃에는 지도 자체를 볼 수 있는 주 창과 지도의 구성 요소를 조작할 수 있는 왼쪽 패널이 있습니다. 이 패널의 상단에는 다양한 편집기 옵션이 있지만 우리가 관심을 갖는 것은 "계획"뿐입니다. 계획은 지도 레이아웃 및 개체 배치에 대한 특정 데이터입니다. 우리는 새로운 것을 만들 것이므로 New Fight(CTRL+N)를 클릭하십시오.


계속해서 전투에 대한 기억에 남는 ID를 입력하십시오. 이 화면의 다른 모든 항목은 안전하게 비활성화하거나 무시할 수 있습니다. 나중에 보게 되겠지만 Incursion Defense 맵의 모든 로직은 이미 우리를 위해 처리되었습니다.

전투를 생성했으면 계획 드롭다운에서 검색하여 선택하십시오.

마지막으로 "세트 조각"이라고 표시된 확인란의 선택을 취소합니다. 이렇게 하면 배경 개체가 환경에서 제거되어 지도의 시야가 흐려지지 않습니다.

참고: 형식 드롭다운에서 "incursionDefense"를 선택하고 싶을 수 있습니다. 형식을 변경하면 편집기에서 맵 뒤에 있는 게임 논리가 변경됩니다. incursionDefense의 경우 게임 로직 무시 현재 선택된 플랜 대신 incursionDefense 풀에서 임의의 플랜을 선택합니다. 즉, 편집기를 다시 롤링할 때마다 다른 맵을 로드합니다. 편집하는 동안 게임 논리가 편집을 방해하지 않도록 형식을 "공격"으로 유지해야 합니다.

미션플랜

임무 계획은 지도 데이터를 나타냅니다(기술적인 성향이 있는 경우 JSON 파일일 뿐입니다). 지도를 구축하기 전에 처리해야 할 몇 가지 초기 설정이 있습니다. 지금은 세부정보 섹션 옆에 있는 빼기 아이콘을 클릭하여 축소합니다. 우리는 "declaredRoles"와 "extraInfo" 사이의 모든 것에 집중할 것입니다.


이 설정을 이해하지 못하더라도 괜찮습니다. 이것은 게임이 지도를 올바르게 설정하는 데 필요한 정보일 뿐입니다.

먼저 선언된 역할 옆에 있는 새 항목 버튼을 클릭합니다. 여기서 "self"라는 하나의 옵션만 설정하면 됩니다.

그런 다음 선언된EncounterResults 아래의 새 항목 버튼을 클릭합니다. 세 번. 옵션을 다음과 같이 설정합니다.

0: 패배
1: 승리
2: 탈출

침입 방어 임무가 종료되는 세 가지 방법은 다음과 같습니다. 영웅이 모든 적을 무찌르고, 적군이 모든 영웅을 무찌르거나, 영웅이 모든 적을 죽이지 않고 맵을 탈출합니다.

skipDefaultPlots를 클릭하고 확인란을 True로 설정합니다. Incursion Defense 맵에 대한 논리가 이미 존재하므로 다른 논리가 이를 방해하는 것을 원하지 않습니다.

extraInfo 옆에 있는 새로 만들기 버튼을 클릭합니다. 그러면 "incursionDefense"라는 옵션이 추가됩니다. 이것을 true로 설정하십시오. 이 옵션은 매우 중요합니다. 플레이어가 침입으로부터 마을을 방어할 때 게임이 선택하는 침입 방어 맵 풀에 우리 맵을 추가합니다.

세부 정보 목록에서 지도를 구성하는 다양한 기능을 추가할 수 있습니다. 다음 섹션에서 각각에 대해 더 자세히 설명하겠지만 먼저 추가해야 할 세부 사항이 하나 있습니다. 세부 정보 위로 마우스를 이동한 다음 "새 세부 정보..."를 클릭하고 MapDetail_Plot을 추가합니다. 세부 정보 목록의 맨 아래에 이제 Plot {}이라는 옵션이 표시됩니다. 이 옵션을 확장하고 plotId 필드를 클릭합니다. 표시되는 목록에서 플롯으로 M_incursionDefense를 선택합니다. 여기에는 침입 방어 맵에 필요한 모든 논리가 포함되어 있습니다.

참고: 캠페인을 플레이할 때 모드가 로드되고 침입 방어 맵 구축이 완료되지 않은 경우 방어할 때 이 맵을 로드하려고 하면 게임에서 오류가 발생하고 기본 메뉴로 돌아갑니다. 도시. 모드가 완료되어 사용할 준비가 될 때까지 캠페인에서 모드를 비활성화하십시오!

바닥, 벽, 문

모든 준비가 끝났으니 좋은 일만 남았습니다! 지금 편집기 창은 다음과 같을 것입니다.


새 지도에는 바닥, 임의의 풍경, 생성 지역과 같이 일반적으로 사용되는 몇 가지 세부 정보가 포함되어 있습니다. 지금은 방금 추가한 바닥, 벽 및 플롯을 제외한 모든 항목을 삭제하겠습니다. 항목을 삭제하려면 항목 위로 마우스를 이동하고 X 버튼을 클릭하기만 하면 됩니다. 나중에 다시 추가하겠습니다.

이러한 항목을 삭제해도 맵에서 사라지지 않음을 알 수 있습니다. 지도가 로드될 때 한 번만 생성되기 때문입니다. 최신 변경 사항을 생성하려면 다음을 수행해야 합니다. 다시 굴림, 편집기의 왼쪽 상단 모서리에 있는 다시 롤링 버튼을 클릭하거나 Ctrl+R을 누릅니다.


훨씬 낫다!

바닥

DrawFloor 세부 사항을 확장하고 floorTiles를 클릭합니다. 편집기에 표시되는 그리드는 맵의 각 바닥 타일을 보여줍니다. 더 추가하려면 빈 타일을 클릭하거나 마우스 오른쪽 버튼을 클릭하여 기존 타일을 제거합니다. Shift 키를 누른 상태에서 클릭하고 드래그하여 여러 타일을 그릴 수 있으며 편집기 왼쪽 상단의 드롭다운에서 브러시 크기를 설정할 수 있습니다. 이전과 마찬가지로 변경 사항은 지도를 다시 롤링할 때까지 표시되지 않습니다.

원하는 대로 평면도를 구성하세요. 개인적으로 내 모습은 다음과 같습니다.


Esc 키를 누르거나 floorTiles 옵션을 다시 클릭하여 그리기를 비활성화합니다.

DrawFloor 디테일에 몇 가지 추가 옵션이 있음을 알 수 있습니다. 대부분의 경우 바닥이 생물 군계와 일치하기를 원하기 때문에 이것을 변경하고 싶지 않지만 경우에 따라 바닥 텍스처를 변경하고 싶을 수도 있습니다(즉, 건물 내부에 다른 바닥을 추가하려는 경우). 이렇게 하려면 빈 floorLayer 중 하나를 선택하고 원하는 텍스처를 선택합니다. 그런 다음 floorLayer 위에 마우스 커서를 놓고 그리기 버튼을 클릭합니다. Wildermyth\mods\에 JPG를 포함하여 해당 floorLayer의 텍스처를 사용자 정의 텍스처로 교체할 수도 있습니다. \assets\sites\images.

벽은 바닥과 같은 방식으로 그려집니다. DrawWalls 세부 사항을 확장한 다음 타일을 클릭하고 원하는 벽을 그립니다. 바닥과 마찬가지로 shortBiome, midBiome 및 tallBiome 사전 설정은 지도가 생성되는 모든 생물 군계를 사용하지만 원하는 효과에 따라 특정 벽을 선택할 수도 있습니다. 대부분의 벽 설정은 변경하면 안 되지만 hasWallsCaps 및 isBoundary와 같은 옵션이 유용할 수 있습니다. 각 옵션에 마우스를 가져가면 해당 옵션에 대한 설명을 볼 수 있습니다.

여러 유형의 벽이 필요한 경우 각 벽 유형에 대한 추가 DrawWalls 세부 정보를 생성할 수 있습니다. 이렇게 하려면 세부 정보 범주 위에 마우스를 놓고 MapDetail_DrawWalls를 선택합니다.

벽은 사람(또는 괴물)이 지역을 통과하는 것을 막는 데는 좋지만 어쨌든 통과하려면 어떻게 해야 할까요? 우리는 "Door"라는 놀라운 신기술로 이것을 할 수 있습니다. MapDetail_Door를 세부 정보 목록에 추가한 다음 문 항목 아래의 위치를 ​​클릭하여 문을 배치합니다. 기존 벽에 문을 배치하면 문이 통과할 수 있도록 벽이 자동으로 제거됩니다. 문은 단일 타일을 차지하거나 여러 타일에 맞게 크기를 조정할 수 있습니다(일부 문 스타일에는 최소 크기가 있음). 스타일 옵션은 문의 모양을 결정하며 벽과 마찬가지로 다양한 스타일의 문을 원할 경우 여러 MapDetail_Door 세부정보를 생성할 수 있습니다.


문에는 몇 가지 유용한 옵션이 있습니다. isOpen을 사용하면 임무가 시작될 때 이미 문이 열려 있도록 설정할 수 있습니다. Locked는 플레이어나 몬스터가 문과 상호작용할 수 없도록 합니다(이것은 isOpen과 결합하여 영구적으로 열리는 문을 만들 수 있습니다).

번개, 풍경, 램프, 파편

지도의 기본 조각이 제자리에 있으면 공간을 더 흥미롭게 만들기 위해 세부 정보를 추가하는 방법을 살펴보겠습니다.

빠른 방법

마지막 섹션에서 폐쇄된 건물을 만들기 위해 일부 벽을 배치했을 수 있습니다. MapDetail_InteriorRegion을 사용하면 건물에 조명과 풍경을 빠르게 채울 수 있습니다. MapDetail_InteriorRegion을 추가하고 타일을 선택하고 건물 내부 영역을 페인트하기만 하면 됩니다.


지도를 다시 굴리십시오…


그리고 마찬가지로 건물에는 실내 조명과 무작위로 배치된 풍경이 있습니다! 하지만 아직 끝나지 않았습니다. 우선, 의도한 구조와 일치하지 않는 개체가 있다는 것을 알아차렸을 수 있습니다. 일부 InteriorRegion 설정으로 이를 제어할 수 있습니다.

InteriorRegion의 많은 옵션을 사용하면 0.0에서 1.0 사이의 숫자를 사용하여 생성할 수 있는 풍경 유형과 빈도를 제어할 수 있습니다. 예를 들어 useMonsterScenery를 0.0으로 설정하면 이 영역에서 괴물이 만든 풍경 개체(예: 파란색 고르곤 촉수)가 생성되지 않습니다. 이 설정을 원하는 대로 수정하고 변경 사항을 보려면 다시 롤링하십시오. 또한 forbidLampsAndScenery를 사용하여 내부 조명 효과를 유지하면서 특정 타일에서 개체가 생성되는 것을 막을 수 있습니다. 마지막으로 forbidTheseSceneryAndLamps를 사용하여 무작위로 선택하고 싶지 않은 정확한 풍경을 지정할 수 있습니다.

내부 공간을 만드는 더 빠른 방법을 위해 MapDetail_House를 사용할 수 있습니다. 지도에 세부 정보를 추가하고 XNUMX타일 너비의 직사각형을 그리면 편집기가 즉시 아늑한 오두막을 만듭니다. 이 도구는 다른 방법보다 훨씬 덜 제어할 수 있지만 결과는 매우 빠릅니다.

참고: 집의 측벽은 DrawWalls 세부 정보가 세부 정보 목록에서 가장 먼저 표시되는 항목으로 정의됩니다. 벽의 스타일을 변경하려면 MapDetail_DrawWalls를 만들고 원하는 벽 스타일을 설정한 다음 지도의 다른 모든 DrawWalls 세부사항 위로 이동할 때까지 해당 세부사항의 위쪽 화살표를 클릭합니다.

고급 방법

위의 옵션을 사용하면 지도에 세부 사항을 빠르게 추가할 수 있지만 보다 구체적인 제어를 원하는 사람들을 위한 추가 옵션이 있습니다. 조명의 경우 MapDetail_DrawIndoorLighting을 사용할 수 있습니다. 이것은 InteriorRegion과 매우 유사한 방식으로 작동하지만 타일당 특정 양의 조명을 설정할 수 있습니다.


DrawIndoorLighting으로 타일을 그릴 때 화면 상단에 불투명도 슬라이더가 표시됩니다. 이를 통해 특정 타일에 적용되는 빛의 양을 설정할 수 있습니다. 타일 ​​위에 그림을 그려 해당 타일에 더 많은 불투명도를 추가할 수도 있습니다(예: 불투명도를 0.1로 설정하고 타일을 두 번 클릭하면 불투명도가 0.2로 설정됨).

또한 이전 단계에서보다 더 많은 제어로 풍경과 램프를 만드는 여러 도구가 있습니다. 가장 심층적인 것은 MapDetail_RandomScenery입니다. 지금 지도에 추가하세요.

참고: 옆에 "Deprecated"라는 단어가 있는 지도 세부 정보를 사용하지 않도록 주의하십시오. 게임 개발 용어에서 "사용되지 않음"은 이 옵션이 더 이상 지원되지 않고 다른 것으로 대체되었음을 의미합니다. 더 이상 사용되지 않는 맵 편집기 기능 중 일부는 여전히 존재하지만 이 튜토리얼은 여전히 ​​사용하도록 의도된 기능에만 초점을 맞출 것입니다.

RandomScenery의 첫 번째 설정은 whereToSpawn이며 세 가지 옵션이 있습니다.

  • 모든 곳 전체 맵에 걸쳐 풍경을 생성합니다.
  • 특정영역 임의의 풍경이 생성될 수 있는 영역을 정의할 수 있습니다(InteriorRegion과 동일).
  • 정확한 위치 풍경이 항상 생성되는 특정 타일을 선택할 수 있습니다.

이 도구는 위에서 설명한 InteriorRegion과 매우 유사하지만 몇 가지 추가 옵션이 포함되어 있습니다. 가장 주목할만한 점은 landscapeDensity를 사용하여 0.0에서 1.0 사이의 숫자를 설정하여 스폰 영역에 배치되는 임의의 풍경의 양을 제어할 수 있다는 것입니다. 또한 풍경이 생성되지 않아야 하는 타일을 정의할 수 있는 drawForbidScenery 설정이 있습니다. 이 옵션을 사용하면 현재 MapDetail뿐만 아니라 세부 정보 목록의 현재 MapDetail 아래에 있는 모든 MapDetails에 의해 생성된 풍경이 차단되므로 주의하십시오.

풍경을 설정하는 방법은 귀하에게 달려 있습니다. 데모를 위해 RandomScenery 세부 정보를 추가하여 내 구조 내부의 풍경을 생성하고 두 번째 RandomScenery 세부 정보를 추가하여 모든 외부 타일에 외부 풍경을 생성했습니다. 또한 지도 레이아웃의 주요 차선을 통해 금지된 타일의 경로를 그려서 너무 복잡해지지 않도록 했습니다.

또한 RandomLamps 세부 정보를 추가하여 구조물 내부에 램프를 생성하고 두 번째 RandomLamps 세부 정보를 추가하여 외부 문 옆에 일부를 생성합니다. 이것은 RandomScenery처럼 작동합니다.


우리 지도는 이제 꽤 괜찮아 보입니다! 그러나 스폰 지역으로 이동하기 전에 빨리 Debris를 살펴보겠습니다.

잔해는 무엇입니까? 글쎄, 이것은 이것입니다 :


중요하지 않은 것처럼 보일 수도 있지만 일부 능력으로 인해 불이 붙을 수 있고 불이 파편 타일 사이로 퍼질 수 있으므로 게임 플레이에 영향을 미칩니다. MapDetail_Debris를 사용하여 이를 제어할 수 있습니다. MapDetail_Debris는 globalDebrisChance 및 drawDebrisChance의 두 가지 옵션을 제공합니다. 전자의 기본값은 0.1이며 일반적으로 그대로 둘 수 있습니다. drawDebrisChance를 사용하면 타일에 파편을 칠할 수 있습니다. 조명을 그릴 때와 유사하게 불투명도를 설정하여 해당 타일에 파편이 생성될 가능성을 정의할 수 있습니다. 이것은 파괴된 것(예: 벽의 무너진 부분)의 모양을 만들 때 주로 유용합니다.

스폰 지역에 관한 모든 것

SpawnRegions는 플레이어와 적이 스폰되는 위치를 제어합니다. 그들은 또한 강화 타일 및 탈출 타일과 같은 것들을 처리합니다.

플레이어 스폰

SpawnRegion을 만들고 타일을 exactTiles로 설정한 다음 영웅 캐릭터를 생성할 위치를 그립니다. 영웅을 여기에서 스폰시키려면 역할을 "공격자"로 설정하십시오(방어 임무에서는 잘못된 것처럼 보일 수 있지만 모든 임무 유형에서 플레이어는 항상 공격자로 간주됨).

하나의 크고 연결된 생성 영역 또는 여러 개의 연결되지 않은 영역을 그리도록 선택할 수 있습니다. 후자를 수행하면 모든 영웅이 모든 타일에 퍼지지 않고 동일한 타일 그룹 주위에 생성된다는 것을 알 수 있습니다. 이 문제를 해결하려면 splitGroupsIntoSeparateRegions를 false로 설정해야 합니다. 이것은 또한 직관적이지 않은 것처럼 보이지만 splitGroupsIntoSeparateRegions가 말한 것과 반대되는 위치에서 플레이어 스폰에 버그가 있는 것 같습니다.

적 스폰

다음으로 다른 SpawnRegion을 만들고 타일을 exactTiles로 설정하고 역할을 방어자로 설정합니다. 이것은 적의 스폰 지역이 될 것입니다. 그런 다음 이 spawnRegion에서 Dup 버튼을 클릭하여 복제합니다. 새 spawnRegion의 usePriority를 ​​1로 설정합니다. 이렇게 하면 스폰 영역보다 적이 많을 때만 덜 자주 사용하도록 스폰 영역을 정의할 수 있습니다.

참고: usePriority에 대한 툴팁은 다음과 같이 말합니다. 더 높은 우선 순위가 먼저 사용됩니다. 이것은 대부분의 임무 유형에 해당되지만 침입 방어 임무의 버그로 인해 반대 순서를 사용합니다. XNUMX이 가장 높은 우선 순위이고 각 후속 숫자는 우선 순위가 낮습니다.

증원 및 탈출

임무에 공정한 전투보다 더 많은 적이 있는 경우 해당 적은 기존 적 중 일부가 죽을 때까지 예비로 유지됩니다. 이 적은 지연된 Spawn 사용으로 SpawnRegion에서 스폰됩니다. 계속해서 다른 SpawnRegion을 만들고 역할을 방어자로 설정하고 사용을 지연된 Spawn으로 설정합니다. 이러한 영역은 일반적으로 플레이어 스폰에서 상당히 멀리 떨어진 지도 가장자리 주변에 있어야 합니다.

영웅이 전투에서 지는 경우 탈출 타일에 도달하여 후퇴할 수 있는 옵션이 있습니다. 역할을 공격자로 설정하고 사용법을 탈출로 설정하여 SpawnRegion을 만듭니다. 이 타일은 대개 지도 가장자리에서 발견되며 플레이어 스폰으로부터의 거리에 따라 영웅이 타일에 도달하는 것이 얼마나 어려운지 결정됩니다.

참고: RandomScenery 세부정보에서 drawForbidScenery 옵션을 사용하여 이러한 타일 위에 풍경이 배치되지 않도록 할 수 있습니다.

결론

축하합니다! 지도를 재생할 준비가 되었습니다! 해당 모드를 게시하고 세상에 출시하기 전에 몇 가지 최종 생각:

  • 지도 테스트: 맵을 플레이하는 느낌을 이해하는 것이 중요합니다. 편집기에서 보기에는 좋아 보여도 재생 시 문제가 발생할 수 있습니다. 테스트에 대한 Wildermyth Wiki 가이드를 사용하여 캠페인에 지도가 표시되는지 확인하는 방법을 알아보세요. https://wildermyth.com/wiki/Testing
  • 최고로부터 배우십시오: 게임에서 플레이하는 모든 맵은 편집기에서 사용할 수 있습니다. 맵에서 사용하려는 특정 효과나 상황을 본 경우 편집기에서 기존 맵을 로드하고 직접 확인하십시오. 또한 지도가 어떻게 만들어지는지 배울 수 있는 좋은 방법이기도 합니다. 이 튜토리얼에서 작성한 모든 것은 기존 맵을 보고 이를 참조로 사용하여 배웠습니다.
  • 피드백 남기기: 제가 놓친 부분이나 실수한 부분, 더 궁금한 사항이 있으시면 아래로 문의주세요! 이 가이드를 더 유용하게 만들기 위해 내가 할 수 있는 일이 있다면 기꺼이 업데이트하겠습니다.

행복한 건물!

코멘트 남김

ArabicEnglishFrenchGermanItalianJapaneseKoreanPortugueseSpanish