VERSION
This article is timeless and should be accurate for any version of the game.
모딩 또는 모드 만들기는 기존 게임(보통 바닐라로 불림)을 수정하는 행위입니다. 개인적 또는 대중에게 공개할 목적으로 만들어지며, 스팀 워크샵을 예로 들 수 있습니다.
다른 파라독스사의 게임과 마찬가지로 스텔라리스도 모드 제작에 최적화 되어있습니다. 모드의 제작 동기는 제작자마다 매우 다릅니다. 질 좋은 번역, 더 많은 상황이나 결정, 좋은 지역, 대대적인 수술 등이 있습니다.
이 안내서는 스텔라리스의 모딩의 진입장벽을 낮추기 위해 제작되었습니다. 그러나 지침서 이외에도 학습해 볼 것이 많으며 정상 작동하는 기존 코드를 읽는 것과 여러 오류를 경험하는 것은 그 어떤 것과도 바꿀 수 없는 경험입니다!
지침
모드만 제작하세요. 모드를 사용하는 것은 작은 변화를 가져옵니다. 그리고 예기치 못한 오류를 가져올 수 있으니 절대로 게임 파일을 직접 수정하지 마세요.
좋은 편집기를 사용하세요. ( Atom, Notepad++ , Sublime Text 등) 여러 파일을 비교, 편집하는데 유용합니다. 좋은 편집기는 인코딩을 변경 할 수 있어 파일 깨짐을 방지하고, 완성/미흡한 부분을 강조할 수 있습니다.
기존 게임 파일과 겹치는 부분을 최소화 하세요. 독립된 파일을 추가하고 가능한 폴더에서 불러오세요. 유지 보수를 쉽게 해주고 안정성도 높혀 줍니다. (여러분의 파일은 어떠한 이름이라도 가질 수 있으며, 게임이 읽습니다. 그래서 파일 이름은 여러분의 모드 이름과 같은 다른 사람이 절대로 안 쓸 것 같은 이름을 고르세요.)
적절한 병합 도구를 사용하세요. ( WinMerge 같은 도구가 유용), 폴더를 병합하고, 수전된 기존 파일을 ㅐ 파일로 갱신합니다.
작업 사본을 만드세요. 애써 만든 것을 모두 날리지 않게 해줍니다. Git 돠 같은 소스 관리자나 공동 작업용 GitHub 을 고려해 볼 수 있습니다.
UTF-8 인코딩을 사용하세요. 글이 들어있는 모든 파일에 적용합니다.
UTF-8(BOM)을 사용하세요. 번역 파일에 적용합니다.
들여쓰기를 하세요. 다시 한 번 강조하지만, 좋은 편집기는 중괄호를 쉽게 찾을 수 있습니다. 기본적으로 띄어쓰기 대신 탭 글쇠로 들여쓰기 합니다.
주석을 활용하세요. #으로 시작하는 문장으로 복잡한 코드의 이해를 도와줍니다.
모드 구조
모든 모드는 이 폴더에 있습니다.
운영체제 |
주소 |
리눅스 |
|
윈도우 |
|
매킨토시 |
|
다음을 반드시 포함해야 합니다.
모드에 관한 정보를 담은 .mod 확장자 파일
모드 폴더나 압축된 모드 파일. 모드 파일은 반드시 게임 내 stellaris.exe와 동일한 파일과 폴더 구조를 갖추어야 합니다.
(스팀
워크샵에서 받은
모드는 .../ParadoxInteractive/Stellaris/workshop/content/281990
나
...\SteamLibrary\SteamApps\workshop\content\281990
있습니다.
)
폴더와 파일명은
매킨토시와 리눅스에서
대소문자 구분 됩니다.
추가적으로
.../Paradox
Interactive/Stellaris
주소의
폴더 내에 있어야 하며,
절대
주소가 다를 경우 작동하지 않습니다.
예시를 들면 새 파일인
test1.mod 는'test1'
폴더와
함께 .../Paradox
Interactive/Stellaris/mod
폴더에
생성되야 합니다.
name="Test1" path="mod/test1" tags={ "Economy" } picture="test1.jpg" supported_version="1.0.3"
test1 폴더에서 test1.mod 파일을 복사하여 descriptor.mod로 이름을 바꿀 수 있습니다.
그림 파일의 확장자는 ".jpg" 이어야 합니다. 그렇지 않으면 스팀 워크샵에 올릴 수 없습니다.
모드 파일은 이제 기존 게임 폴더 구조와 동일해야 합니다. 00_species_traits.txt 파일을 가진 traits 폴더를 하위 폴더로 둔 common 폴더가 생성되었으며, 구조는 아래와 같습니다.
C:\Users\Jason\Documents\Paradox Interactive\Stellaris\mod test1.mod test1 (dir) test1.jpg descriptor.mod common (dir) traits (dir) 00_species_traits.txt
여러 특성을 가진 trait_super 라 불리는 새 특성은 추가될 수 있습니다. 인공지능이 사용하지 못하도록 높은 가격을 책정할 수 있으며, 사용자는 콘솔을 이용해 해당 특성을 사용할 수 있습니다. ( is_ai = no 를 사용하는 것도 같은 효과가 납니다.)
trait_super = { cost = 1000 modifier = { tile_resource_food_mult = 10 tile_resource_energy_mult = 10 tile_resource_minerals_mult = 10 } }
추가로 내려받은 모드는 zip 파일 안에 내용물이 있을 것입니다. 이 경우 '.mod' 파일은 아래와 같이 'remote_file_id'와 'archive'를 정의하는 명령줄을 포함해야 합니다.
name="999 Core Planets - All your planets are belong to you" archive="workshop/content/281990/678893824/999cores.zip" tags={ "Balance" "Gameplay" "Utilities" } remote_file_id="678893824" supported_version="1.0.0"
이 구조는 기존 스텔라리스 폴더의 구조를 기반으로 합니다. 예를 들어 이 압축파일의 주소는 다음과 같습니다.
C:\Users\<사용자명>\Documents\Paradox Interactive\Stellaris\workshop\content\281990\678893824\999cores.zip
아래 예시는 보조모드의 .mod 파일의 작성예 입니다. (모드를 위한 모드입니다.)
name="Fight For Universe: Infinite Legacy - No Maintenance" path="mod/ffu_ilno" dependencies={ "Fight For Universe: Infinite Legacy" } replace_path="Fight For Universe: Infinite Legacy" tags={ "Balance" "Overhaul" "Graphics" "Gameplay" } picture="NoMaintenance.png" remote_file_id="911971558" supported_version="1.5.1"
게임 정보
콘솔 명령어는 모드를 시험하는데 좋습니다.
정의(Define)는 게임 작동에 영향을 미칠 수 있습니다.
범위(Scopes), 조건(Conditions), 명령(Commands)은 스크립트를 짜는데 사용됩니다.
수정자(Modifier)는 게임 내 계산에 영향을 미칩니다.
이벤트는 팝업창과 함께 결정을 내려야 할 때 사용됩니다.
지도(Map)은 미리 생성되는 은하 지도에 사용됩니다.
게임 구조
아래는 게임 파일 및 폴더 목록이며 관련 모딩 안내가 있습니다.
Stellaris/common/
폴더 및 파일명 |
설명 |
분류 |
---|---|---|
agendas |
의제는 독재 정부의 후보자들에게 주어집니다. |
|
ambient_objects |
배경 물체를 참조하여 불러오는데 사용됩니다. |
|
anomalies |
연구선의 이벤트입니다. |
|
armies |
군대 형태를 정의합니다. |
|
army_attachments |
군대에 추가할 수 있는 부속품을 정의합니다. |
|
attitudes |
인공지능이 사용하는 태도에 대한 제한의 정의를 포함 합니다. |
|
buildable_pops |
로봇과 같이 제작 가능한 인구에 대한 정의입니다. |
|
buildings |
행성에 건설 가능한 건물 및 사건을 통해 주어진 건물에 대한 설정 |
|
colors |
국가 색깔 선정에 관한 정의입니다. |
|
component_flags |
선택된 구성 요소에 따른 인공 지능의 국기 정의입니다. |
|
component_sets |
함선 부품의 정의입니다. |
|
component_tags |
공통되는 수정자의 구성 요소를 묶는데 사용됩니다. |
|
component_templates |
각 무기의 속성 및 함선용 템플릿 |
|
country_types |
게임 내 각 국가별 규칙입니다. |
|
defines |
기본 게임 행동과 설정입니다. |
|
deposits |
행성의 자원 매장량 설정입니다. |
|
diplo_phrases |
두 나라 사이에 사용되는 외교적 어투를 설정합니다. |
|
diplomatic_actions |
외교 행동의 규칙을 설정합니다. |
|
edicts |
국가 및 행성 칙령의 설정입니다. |
|
ethics |
윤리관의 수정자와 범주를 설정합니다. |
|
event_chains |
event 폴더에 사용되는 이벤트 순서를 포함 합니다, |
|
fallen_empires |
몰락 제국용 초기 국가 및 초기 체제을 설정 합니다. |
|
game_rules |
다양한 게임 작동의 논리를 포함 합니다.(예 : can_enslave_pop) 여기 규칙은 하드 코딩된 규칙보다 우선됩니다. |
|
global_ship_designs |
각 함성에 사용되는 설계도입니다. |
|
governments |
정부 설정 입니다. |
|
graphical_culture |
함선에 사용되는 빛을 조절하며, 그래픽 문화마다 다릅니다. |
|
mandates |
각 세력이 사용하는 권한을 포함 합니다. |
|
name_lists |
각 종족이 사용하는 이름을 포함 합니다. |
|
observation_station_missions |
윤리관에 따른 관측소의 행동입니다. |
|
on_actions |
여러분이 어떤 행위를 했을 때 발생하는 이벤트 와 사건입니다. |
|
opinion_modifiers |
한 제국이 다른 제국에 대해 정치 및 윤리관에 의거한 의견입니다. |
|
personalities |
제국 인공지능, 몰락 제국의 능력과 성격을 보여주며 수정 가능케 합니다. |
|
planet_classes |
게임 내 모든 행성의 설정 입니다. |
|
planet_modifiers |
행성 등장 설정자입니다. (위험한 날씨 등). |
|
policies |
인공지능의 정책 입니다. (정책 수립 순서입니다.) |
|
pop_faction_types |
세력의 인구와 성격입니다? |
|
precursor_civilizations |
선구 문명 가중치입니다. |
|
random_names |
무작위 제국명의 목록 입니다. |
|
scripted_effects |
이벤트의 좋은 효과와 나쁜 효과 입니다. |
|
scripted_triggers |
스크립트된 이벤트와 시작 조건입니다. |
|
section_templates |
함선 인공지능과 작동 방식입니다. |
|
sector_types |
구역의 종류와 작동 방식입니다. |
|
ship_behaviours |
표준 함선 행동입니다. |
|
ship_sizes |
함선의 크기입니다. |
|
solar_system_initializers |
||
spaceport_modules |
||
special_projects |
||
species_classes |
||
start_screen_messages |
||
static_modifiers |
||
strategic_resources |
||
subjects |
||
technology |
||
terraform |
||
tile_blockers |
||
traits |
||
triggered_modifiers |
||
war_demand_counters |
||
war_demand_types |
||
achievements.txt |
(분류 없음) |
|
alerts.txt |
||
message_types.txt |
Stellaris/events/
폴더 및 파일명 |
설명 |
분류 |
---|---|---|
example_events.txt |
이벤트를 발생시키기 위한 번호를 포함 합니다. |
Stellaris/flags/
폴더 및 파일명 |
설명 |
분류 |
---|---|---|
*.dds |
국기 그림입니다. |
|
colors.txt |
허용되는 색과 무작위 조합의 설정입니다. |
Stellaris/fonts/
File |
설명 |
분류 |
---|---|---|
fonts.asset |
게임 내 글꼴입니다. |
Stellaris/gfx/
폴더 및 파일명 |
설명 |
분류 |
---|---|---|
advisorwindow |
조언자를 위한 3차원 시야를 설정합니다. |
|
arrows |
화살표에 사용되는 다양한 그림입니다. |
|
cursors |
게임 내 커서 및 그림을 포함 합니다. |
|
이벤트에 사용되는 그림입니다. |
||
fonts |
게임 내 글꼴 파일을 포함 합니다. |
|
FX |
FX 세이더를 포함 합니다. |
|
interface/ |
게임 내 인터페이스에 사용되는 그림을 포함 합니다. |
|
interface/anomaly |
기술 이상에 사용되는 그림을 포함 합니다. |
|
interface/buttons |
버튼에 사용되는 그림을 포함 합니다. |
|
interface/diplomacy |
외교창에 사용되는 그림을 포함 합니다. |
|
interface/elections |
선거창에 사용되는 그림을 포함 합니다. |
|
interface/event_window |
이벤트 창에 사용되는 그림을 포함 합니다. |
|
interface/flags |
국기를 만드는데 사용되는 그림을 포함 합니다. |
|
interface/fleet_view |
함대에 사용되는 그림을 포함 합니다. |
|
interface/frontend |
프론트 엔드 인터페이스에 사용되는 이미지를 포함합니다. |
|
interface/government_mod_window |
정부 변화에 사용되는 그림을 포함 합니다. |
|
게임 내 모든 아이콘을 포함 합니다. |
||
interface/main |
일반 행동의 그림을 포함 합니다. |
|
interface/old |
유로파 유니버셜리스 4에 사용된 그림을 포함 합니다. |
|
interface/outliner |
아웃라이너 인터페이스에 사용되는 그림을 포함 합니다. |
|
interface/planetview |
행성 내부 창에 사용되는 그림이 들어 있습니다. |
|
interface/progressbars |
진행도 표시기에 사용되는 그림을 포함 합니다. |
|
interface/ship_designer |
함선 설계창에 사용되는 그림을 포함 합니다. |
|
interface/situation_log |
상황 기록창에 사용되는 그림을 포함 합니다. |
|
interface/sliders |
게임 내 슬라이더에 사용되는 그림을 포함 합니다. |
|
interface/system |
체제 보기창에 사용되는 그림을 포함 합니다. |
|
interface/tech_view |
기술창에 사용되는 그림을 포함 합니다. |
|
interface/tiles |
지표면에 사용되는 그림을 포함 합니다. |
|
interface/topbar |
상단 바에 사용되는 그림을 포함 합니다. |
|
interface/waroverview |
전쟁창에 사용되는 그림을 포함 합니다. |
|
keyicons |
게임 내 버튼에 사용되는 그림입니다. |
|
lights |
게임 내 빛 효과 논리를 포함 합니다. |
|
loadingscreens |
불러오기 중 배경 그림을 포함 합니다. |
|
models |
모델 .mesh 파일과 그림을 포함 합니다. |
|
models/portraits |
초상화의 .mesh 파일과 그림을 포함 합니다. |
|
particles |
입자에 사용되는 논리와 그림을 포함 합니다. |
|
pingmap |
핑에 사용되는 논리를 포함 합니다. |
|
portraits |
초상화에 사용되는 논리를 포함 합니다. |
|
projectiles |
발사체에 사용되는 논리를 포함 합니다. |
|
shipview |
함선 보기에서 사용되는 논리를 포함 합니다. |
|
worldgfx |
세계 그래픽 효과에 사용되는 논리와 그림을 포함 합니다. |
Stellaris/interface/
Folder |
설명 |
분류 |
---|---|---|
*.gfx |
가변 인터페이스의 보조를 설정 합니다. |
|
*.gui |
인터페이스의 시각 설정을 포함 합니다. |
Stellaris/localisation/
File |
설명 |
분류 |
---|---|---|
*l_english.yml |
영어 언어 파일 입니다. |
|
*l_french.yml |
불어 언어 파일 입니다. |
|
*l_german.yml |
독어 언어 파일 입니다. |
|
*l_polish.yml |
폴란드어 언어 파일 입니다. |
|
*l_russian.yml |
러시아어 언어 파일 입니다. |
|
*l_spanish.yml |
스페인어 언어 파일 입니다. |
|
*l_braz_por.yml |
브라질 포르투갈어 언어 파일 입니다. |
Stellaris/map/
폴더 및 파일명 |
설명 |
분류 |
---|---|---|
galaxy |
은하 설정을 포함 합니다. 현재는 아무것도 수정 할 수 없습니다. |
|
setup_scenari |
각기 다른 크기의 은하의 논리를 제어합니다. |
Stellaris/music/
폴더 및 파일명 |
설명 |
분류 |
---|---|---|
*.ogg |
음악 파일입니다. |
|
songs.asset |
음악에 코드이름을 붙이며, 음량을 설정 합니다. |
|
songs.txt |
Stellaris/prescripted_countries/
폴더 및 파일명 |
설명 |
분류 |
---|---|---|
*.txt |
미리 만들어진 국가를 설정합니다. 게임 내에 표시됩니다. |
|
setup_scenarios |
은하의 크기마다 사용되는 논리를 조정합니다. |
Stellaris/sound/
폴더 및 파일명 |
설명 |
분류 |
---|---|---|
*.asset |
음향 설정 |
|
*.wav |
음향 파일 |
유용한 도구
Atom - Powerful, hackable, free open source editor from GitHub.
Notepad++ - 파일을 변경하는데 강력한 편집기 입니다.
VS Code - Powerful, hackable, free open source editor from Microsoft.
Maya exporter - 클라우제비트 마야 추출기로 사용자 정의 입체 모형을 만들 때 사용됩니다.
Spaceship Generator - 입체 함선 모형을 만드는 블렌더 스크립트 입니다.
Static Galaxy Generator - 모드에 사용할 정적 은하 생성기 입니다.. (How to use)
Steam Workshop - 다른 사용자들과 모드를 나눔 할 수 있는 공간 입니다.
Sublime Text - Powerful, moddable, hackable text editor. Install packages as your needs evolve.
확장 주소
Stellaris
Dev Diary #31 - Modding (Scripting 이상
현상)
Stellaris
Dev Diary #32 - Modding art
같이 읽기
참고 문헌
Modding
Static modding |
Defines • Static modifiers • Map • Species • Traits • Ethos • Governments • Empires • Policies • Edicts • Technology • Buildings • Ships • Fleets • Events • Crisis • Anomalies • Agenda |
Dynamic modding |
Effects • Conditions • Scopes • Modifiers • Gameplay • Decisions • Objectives • AI |
Media/localisation |
Maya exporter • Graphics • Portraits • Flags • Event pictures • Event sounds • Interface • Icons • Music • Localisation |
Other |