러브라이브 - 문명 5의 모딩 : 문명 초기의 건물 생성 (2) 취미생활

러브라이브 - 한가할 때는 계속 붙잡고 있었던 문명 5의 모딩 : 문명 초기의 건물 생성 (1)

그럼 백문이불여일견

한 번 새로운 건물을 만드는 걸 고대-로 따라가봅시다.

이 짧은 글에서 모든 것을 한 번에 설명하는 건 어렵고, 무엇보다도 뇌가 받아들이질 못하니

무작정 따라하다가 할 수 있는 걸 늘려가면 되는 거랍니다. 

그럼 새로 만들어볼 건물은...


[사육장] 되겠습니다!


알파카를 키우는 사육장이라는 의미로

1. 생산력 + 1
2. 도시에서 개발한 양 자원 하나당 식량 + 1 / 생산력 + 1 / 문화 + 1

이라는 두 가지 효과를 지닌 건물을 만들어보죠.

이 건물을 짓기 위해서는

1. 기술 [목축업] 을 연구 완료
2. 도시에 개발된 양이 존재할 것

이란 제약조건도 넣어보죠.


어제 글을 참조해가면서 조금씩 따라와보세요~

우선 가장 기본이 되는 Buildingclasses 부터 지정해봅시다.

건물 식별명은...ALPACA 쯤으로 하죠.

어제랑 같은 식으로 한다면...


<BuildingClasses>
<Row>
<Type>BUILDINGCLASS_ALPACA</Type>
<DefaultBuilding>BUILDING_ALPACA</DefaultBuilding>
<Description>TXT_KEY_BUILDING_ALPACA</Description>
</Row>
</BuildingClasses>


일단 이걸 작성해준 다음에 기본적인 건물의 정보인 Building 을 작성해줍시다.


<Buildings>
<Row>
<Type>BUILDING_ALPACA</Type>
<BuildingClass>BUILDINGCLASS_ALPACA</BuildingClass>
<Cost>100</Cost>
<PrereqTech>TECH_ANIMAL_HUSBANDRY</PrereqTech>
<Description>TXT_KEY_BUILDING_ALPACA</Description>
<Civilopedia>TXT_KEY_BUILDING_ALPACA_PEDIA</Civilopedia>
<Strategy>TXT_KEY_BUILDING_ALPACA_STRATEGY</Strategy>
<Help>TXT_KEY_BUILDING_ALPACA_HELP</Help>
<ArtDefineTag>ART_DEF_BUILDING_STABLE</ArtDefineTag>
<MinAreaSize>-1</MinAreaSize>
<HurryCostModifier>25</HurryCostModifier>
<IconAtlas>ALPACA_ATLAS</IconAtlas>
<PortraitIndex>0</PortraitIndex>
</Row>
</Buildings>


일단 Type 이랑 BuildingClass 는 위에서 지정한 이름을 쓰도록 하고...

Cost는 적정량 배정합시다. 여기선 마구간 코스트랑 같은 100을 배정해봤습니다.

<PrereqTech> 란 이 건물을 짓기 위해서 연구해야 하는 기술을 의미합니다.

위에서 언급한 대로 목축업으로 배치합니다. 목축업은 TECH_ANIMAL_HUSBANDRY 입니다.

그 뒤 Description 부터 Help 까지는 적당히 이름을 배정해주고(나중에 Text 다룰 때 한꺼번에 쓸거니)

ArtDefineTag...는 건드릴 역량이 없으니 그냥 둡시다. (...)

아래로도 쭉 그렇게 가고, IconAtlas 는 이 글 끝에서 아이콘을 직접 만들어 붙일 거니까

ALPACA_ATLAS 라고 이름을 지어주죠. 포트레이트 인덱스는 제일 첫번째인 0번입니다.


이걸로 기본은 되었지만 아직 안 된 부분이 있죠.

여기서 사용할 명령어는 크게 네 가지입니다.

<Building_Flavors> : 이 건물에 대한 선호도

<Building_YieldChanges> : 이 건물 자체가 지닌 능력치 증감

<Building_LocalResourceOrs> : 이 건물을 짓기 위해 필요한 개발된 자원

<Building_ResourceYieldChanges> : 자원에 추가로 제공되는 보너스

두 번째 항목은 어제의 글에서도 다루었지만 나머지는 다 처음이죠.

선호도라는 건 NPC들도 이 선호도에 따라서 건물을 짓게 만드는 설정입니다.

임의로 지정해볼까요?


<Building_Flavors>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<FlavorType>FLAVOR_GROWTH</FlavorType>
<Flavor>6</Flavor>
</Row>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<FlavorType>FLAVOR_PRODUCTION</FlavorType>
<Flavor>10</Flavor>
</Row>
</Building_Flavors>


이대로 지정해주면 도시성장 6 / 생산력 10 정도의 비중으로 이 건물을 짓게 됩니다.

그 다음엔 <Building_YieldChanges> 항목. 이거야 어제 한 것처럼


<Building_YieldChanges>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<YieldType>YIELD_PRODUCTION</YieldType>
<Yield>1</Yield>
</Row>
</Building_YieldChanges>


이렇게 하면 생산력 +1이 됩니다.

<Building_LocalResourceOrs>은 건물을 지을 때 양이 필요하게 설정해주면 되죠.


<Building_LocalResourceOrs>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<ResourceType>RESOURCE_SHEEP</ResourceType>
</Row>
</Building_LocalResourceOrs>


이렇게 간단하게 설정이 끝났습니다.

<Building_ResourceYieldChanges>로 마무리를 지어주죠. 양 자원에 보너스를 줍시다.

<Building_ResourceYieldChanges>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<ResourceType>RESOURCE_SHEEP</ResourceType>
<YieldType>YIELD_PRODUCTION</YieldType>
<Yield>1</Yield>
</Row>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<ResourceType>RESOURCE_SHEEP</ResourceType>
<YieldType>YIELD_FOOD</YieldType>
<Yield>1</Yield>
</Row>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<ResourceType>RESOURCE_SHEEP</ResourceType>
<YieldType>YIELD_CULTURE</YieldType>
<Yield>1</Yield>
</Row>
</Building_ResourceYieldChanges>


이렇게 하면 모든 특능을 설정해줬습니다.

그 다음엔 텍스트 지정입니다. 어제 말했듯이 영어 / 한국어 양쪽에 다 해줘야합니다.


<Language_ko_KR>
<Row Tag='TXT_KEY_BUILDING_IDOLGENKYU_DESC'>
<Text>사육장</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_IDOLGENKYU_HELP'>
<Text>도시의 [ICON_PRODUCTION] 생산력을 1 증가시킵니다. 도시의 [ICON_RES_SHEEP] 양 자원 하나당 [ICON_FOOD] 식량, [ICON_PRODUCTION] 생산력, [ICON_CULTURE] 문화를 1씩 증가시킵니다.[NEWLINE][NEWLINE]도시에 양이 있을 때만 지을 수 있습니다.</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_IDOLGENKYU_STRATEGY'>
<Text>단순 생산보너스를 제공해주는 양 자원을 더욱 가치있게 사용할 수 있게 됩니다.</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_IDOLGENKYU_PEDIA'>
<Text>오토노키자카에는 특이하게도 알파카를 사육하고 있습니다. 알파카는 남미에 거주하는 양과 비슷한 용도를 지닌 동물로서, 털가죽부터 고기까지 매우 값어치 있게 쓰입니다.</Text>
</Row>
</Language_ko_KR>
<Language_en_US>
<Row Tag='TXT_KEY_BUILDING_IDOLGENKYU_DESC'>
<Text>사육장</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_IDOLGENKYU_HELP'>
<Text>도시의 [ICON_PRODUCTION] 생산력을 1 증가시킵니다. 도시의 [ICON_RES_SHEEP] 양 자원 하나당 [ICON_FOOD] 식량, [ICON_PRODUCTION] 생산력, [ICON_CULTURE] 문화를 1씩 증가시킵니다.[NEWLINE][NEWLINE]도시에 양이 있을 때만 지을 수 있습니다.</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_IDOLGENKYU_STRATEGY'>
<Text>단순 생산보너스를 제공해주는 양 자원을 더욱 가치있게 사용할 수 있게 됩니다.</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_IDOLGENKYU_PEDIA'>
<Text>오토노키자카에는 특이하게도 알파카를 사육하고 있습니다. 알파카는 남미에 거주하는 양과 비슷한 용도를 지닌 동물로서, 털가죽부터 고기까지 매우 값어치 있게 쓰입니다.</Text>
</Row>
</Language_en_US>


말끔하군요!

텍스트 안에 아이콘을 삽입하고 싶을 때는 [ ] 괄호 안에 넣어주면 됩니다.

다만 자원의 경우 [ICON_SHEEP] 이 아니라 [ICON_RES_SHEEP] 으로 넣어줘야 합니다.

RES는 리소스의 약자랍니다.


그럼 다 합치면...


<Gamedata>
<BuildingClasses>
<Row>
<Type>BUILDINGCLASS_ALPACA </Type>
<DefaultBuilding>BUILDING_ALPACA </DefaultBuilding>
<Description>TXT_KEY_BUILDING_ALPACA _DESC</Description>
</Row>
</BuildingClasses>
<Buildings>
<Row>
<Type>BUILDING_ALPACA</Type>
<BuildingClass>BUILDINGCLASS_ALPACA</BuildingClass>
<Cost>100</Cost>
<PrereqTech>TECH_ANIMAL_HUSBANDRY</PrereqTech>
<Description>TXT_KEY_BUILDING_ALPACA</Description>
<Civilopedia>TXT_KEY_BUILDING_ALPACA_PEDIA</Civilopedia>
<Strategy>TXT_KEY_BUILDING_ALPACA_STRATEGY</Strategy>
<Help>TXT_KEY_BUILDING_ALPACA_HELP</Help>
<ArtDefineTag>ART_DEF_BUILDING_STABLE</ArtDefineTag>
<MinAreaSize>-1</MinAreaSize>
<HurryCostModifier>25</HurryCostModifier>
<IconAtlas>ALPACA_ATLAS</IconAtlas>
<PortraitIndex>0</PortraitIndex>
</Row>
</Buildings>
<Building_Flavors>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<FlavorType>FLAVOR_GROWTH</FlavorType>
<Flavor>6</Flavor>
</Row>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<FlavorType>FLAVOR_PRODUCTION</FlavorType>
<Flavor>10</Flavor>
</Row>
</Building_Flavors>
<Building_YieldChanges>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<YieldType>YIELD_PRODUCTION</YieldType>
<Yield>1</Yield>
</Row>
</Building_YieldChanges>
<Building_LocalResourceOrs>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<ResourceType>RESOURCE_SHEEP</ResourceType>
</Row>
</Building_LocalResourceOrs>
<Building_ResourceYieldChanges>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<ResourceType>RESOURCE_SHEEP</ResourceType>
<YieldType>YIELD_PRODUCTION</YieldType>
<Yield>1</Yield>
</Row>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<ResourceType>RESOURCE_SHEEP</ResourceType>
<YieldType>YIELD_FOOD</YieldType>
<Yield>1</Yield>
</Row>
<Row>
<BuildingType>BUILDING_ALPACA</BuildingType>
<ResourceType>RESOURCE_SHEEP</ResourceType>
<YieldType>YIELD_CULTURE</YieldType>
<Yield>1</Yield>
</Row>
</Building_ResourceYieldChanges>
<Language_ko_KR>
<Row Tag='TXT_KEY_BUILDING_ALPACA'>
<Text>사육장</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_ALPACA_HELP'>
<Text>도시의 [ICON_PRODUCTION] 생산력을 1 증가시킵니다. 도시의 [ICON_RES_SHEEP] 양 자원 하나당 [ICON_FOOD] 식량, [ICON_PRODUCTION] 생산력, [ICON_CULTURE] 문화를 1씩 증가시킵니다.[NEWLINE][NEWLINE]도시에 양이 있을 때만 지을 수 있습니다.</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_ALPACA_STRATEGY'>
<Text>단순 생산보너스를 제공해주는 양 자원을 더욱 가치있게 사용할 수 있게 됩니다.</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_ALPACA_PEDIA'>
<Text>오토노키자카에는 특이하게도 알파카를 사육하고 있습니다. 알파카는 남미에 거주하는 양과 비슷한 용도를 지닌 동물로서, 털가죽부터 고기까지 매우 값어치 있게 쓰입니다.</Text>
</Row>
</Language_ko_KR>
<Language_en_US>
<Row Tag='TXT_KEY_BUILDING_ALPACA'>
<Text>사육장</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_ALPACA_HELP'>
<Text>도시의 [ICON_PRODUCTION] 생산력을 1 증가시킵니다. 도시의 [ICON_RES_SHEEP] 양 자원 하나당 [ICON_FOOD] 식량, [ICON_PRODUCTION] 생산력, [ICON_CULTURE] 문화를 1씩 증가시킵니다.[NEWLINE][NEWLINE]도시에 양이 있을 때만 지을 수 있습니다.</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_ALPACA_STRATEGY'>
<Text>단순 생산보너스를 제공해주는 양 자원을 더욱 가치있게 사용할 수 있게 됩니다.</Text>
</Row>
<Row Tag='TXT_KEY_BUILDING_ALPACA_PEDIA'>
<Text>오토노키자카에는 특이하게도 알파카를 사육하고 있습니다. 알파카는 남미에 거주하는 양과 비슷한 용도를 지닌 동물로서, 털가죽부터 고기까지 매우 값어치 있게 쓰입니다.</Text>
</Row>
</Language_en_US>
</Gamedata>


자아, 이제 건물이 완성되었습니다!

하지만 아직 안 한 게 있죠. 바로 아이콘 설정입니다.

여기선 첨부파일을 하나 넣어드릴테니 유용하게 사용하세요. 


안에는 압축파일이 단! 하나! 들어있습니다. DDS 확장자에요.

여기서부터는 포토샵 정도는 필요하게 됩니다...


우선 적당한 그림을 하나 구합니다. 알파카 관련이니 알파카로 가죠.
이걸로 써보기로 하겠습니다!

우선 그림을 활용할 수 있는 사이즈의 원형으로 줄여야합니다.

최종적으로는 178 x 178 픽셀의 원으로 잘라야 하니까...그걸 감안해서 잘라보죠.
우선 우측 레이어 부분의 '배경' 으로 설정되어 있는 것의 잠금을 풉니다.

간단하게 자물쇠 모양을 눌러주면 배경에서 레이어 0이란 이름으로 바뀝니다.

그 다음엔 왼쪽 위에 있는 사각형 선택도구에서 마우스 왼쪽 버튼을 꾹-눌러주면

선택 가능 모드가 되니까 여기서 원형 선택 도구로 바꿔줍니다.

그다음 상단에 보면 스타일에서 사이즈를 고쳐줄 수 있게 되어있습니다.

이 그림은 1280 x 720 사이즈니까...

일단 무식하게(?) 720 x 720 원형으로 해봅시다!
요렇게 원형으로 선택해준 다음에...오른쪽 버튼을 누르면 나오는 메뉴에서 '반전 선택'을 누르면

원형 이외의 부분이 선택됩니다. 그 다음 주저없이 Delete!
빠밤

여기까지 했으면 새 이미지를 만듭시다. 해상도는 720 x 720

그 뒤 이것도 배경을 풀어서 레이어로 만들어주고 선택도구로 선택, 싹 딜리트 해버리세요

그 다음 다시 알파카 그림으로 돌아와서 반전 선택 한 번 더 눌러주고 그림을 복사합니다.

이걸 이제 새 이미지에 옮겨다가 붙여넣기를 하면...
훌륭하게 완성되었습니다!

이제 이미지 크기를 변경합니다. 178 x 178 로!

이걸로 밑준비는 끝났습니다...

아까 제가 업로드시킨 iconAtlas256 을 불러온 다음에 알파카 그림을 붙여넣읍시다.
됐습니다!

이제 이걸 이미지 크기를 변경시켜가며 6개를 저장해야 됩니다.

저장할 때 주의사항은 아래 두 가지

1. 반드시 DDS 파일로 저장할 것

2. 설정은 8.8.8.8 ARGB 32 bpp 로 잡아줄 것


만들어야 하는 해상도는 다음과 같습니다.

1024 x 256

512 x 128

320 x 80

256 x 64

180 x 45

128 x 32

저는 식별이 편하게 AlpacaAltas 란 이름으로 뒤에 256부터 32까지 숫자를 붙여 6개 만들었습니다.

그 다음엔 모드에 첨부해주죠.
이 상태에서 왼쪽에 가서 프로젝트명(여기선 Alpaca)에 오른쪽 클릭 한 뒤에

Add → Existing Item 을 클릭합니다. 그 다음 아까 만든 6개 DDS 파일을 모조리 첨부

이걸로 끝난 게 아닙니다. 첨부된 6개 파일이 성공적으로 추가되었으면 전부 선택한 뒤

오른쪽 화면을 봅니다.
Import into VFS 가 False 로 되어있습니다. 이걸 반드시 True 로 바꿔줍시다.

여기까지 하면 밑준비는 끝났습니다. 이제 아이콘을 넣는 코딩을 해주죠.

아이콘 텍스쳐를 등록해주는 작업은 아래와 같습니다.

아까 ALPACA_ATLAS 라고 이름을 지어줬었죠?


<IconTextureAtlases>
<Row>
<Atlas>ALPACA_ATLAS</Atlas>
    <IconSize>256</IconSize>
    <Filename>AlpacaAtlas256.dds</Filename>
      <IconsPerRow>4</IconsPerRow>
    <IconsPerColumn>1</IconsPerColumn>
    </Row>
<Row>
<Atlas>ALPACA_ATLAS</Atlas>
<IconSize>128</IconSize>
<Filename>AlpacaAtlas128.dds</Filename>
<IconsPerRow>4</IconsPerRow>
<IconsPerColumn>1</IconsPerColumn>
</Row>
<Row>
<Atlas>ALPACA_ATLAS</Atlas>
<IconSize>80</IconSize>
<Filename>AlpacaAtlas80.dds</Filename>
<IconsPerRow>4</IconsPerRow>
<IconsPerColumn>1</IconsPerColumn>
</Row>
<Row>
<Atlas>ALPACA_ATLAS</Atlas>
<IconSize>64</IconSize>
<Filename>AlpacaAtlas64.dds</Filename>
<IconsPerRow>4</IconsPerRow>
<IconsPerColumn>1</IconsPerColumn>
</Row>
<Row>
<Atlas>ALPACA_ATLAS</Atlas>
<IconSize>45</IconSize>
<Filename>AlpacaAtlas45.dds</Filename>
<IconsPerRow>4</IconsPerRow>
<IconsPerColumn>1</IconsPerColumn>
</Row>
<Row>
<Atlas>ALPACA_ATLAS</Atlas>
<IconSize>32</IconSize>
<Filename>AlpacaAtlas32.dds</Filename>
<IconsPerRow>4</IconsPerRow>
<IconsPerColumn>1</IconsPerColumn>
</Row>
</IconTextureAtlases>


이렇게 코딩해주고 XML 안의 적당한 위치에 붙여주면 됩니다!

물론 개인적으로는 XML을 하나 파서 따로 분류하는 걸 추천합니다. 나중에 헷갈리니까요.

<Atlas> : 다른 데서 따와서 활용할 때 쓰일 이름

<IconSize> : 아이콘 사이즈. 총 6개를 지정해줘야 됩니다.

<Filename> :" 아까 첨부해넣은 DDS 파일의 이름

<IconsPerRow> : 횡으로 몇 개인지

<IconsPerColumn> : 종으로 몇 개인지

더 많이 쓰실 거면 크게 만드셔도 무방합니다.


그럼 이제 모든 게 끝났군요.

어제 했던 대로 빌드 솔루션...을 하기 전에 Actions 에서 XML을 활성화하는 걸 잊지 맙시다.
성공적으로 Actions에 추가하면 이렇게 들어가게 됩니다.

그럼 저장하고, 이번에야말로 Build Solution-!! (기합)


뭐 혼자 신났는데(...) 대충 이렇게 하면 조악하나마 하나의 모드가 만들어진 거죠.

애써 만든 모드 하나를 통째로 날려먹어서 조금 데미지가 있지만 가끔 이렇게 연재해볼 생각입니다.

아무도 안 보더라도 이런 건 자기만족 자기만족


핑백

덧글

댓글 입력 영역


통계 위젯 (화이트)

1459
514
1814584