---
category: AI & Games
status: Final
converted_at: 2026-04-28
---

# WARNO 모딩

## 📌 Brief Summary
WARNO 모딩은 Eugen Systems의 독자적인 스크립트 언어인 NDF(Neutral Data Format) 파일을 수정하여 게임의 소스 코드 변경 없이 유닛의 성능, 무기 제원, 편제 등을 커스터마이징하는 과정입니다 [1]. 개발사가 공식 모딩 가이드와 생성 도구를 제공하며, 커뮤니티 주도의 다양한 모드 에디터와 데이터 분석 도구가 활성화되어 있습니다 [2-4]. 이를 통해 플레이어는 단순한 수치 조정을 넘어 현실주의 지향 모드 등 자신만의 고유한 전술 시뮬레이션 환경을 데이터 기반으로 직접 구축할 수 있습니다 [4].

## 📖 Core Content
* **NDF(Neutral Data Format) 기반의 데이터 구조:** WARNO의 모든 논리적 설계는 NDF 파일 내에 텍스트 기반으로 정의되어 있습니다 [1]. 유닛의 물리적/기술적 속성을 정의하는 `UniteDescriptor.ndf`, 무기의 메커니즘을 설정하는 `WeaponDescriptor.ndf`, 탄약의 타격 로직과 관통력을 결정하는 `Ammunition.ndf`, 그리고 사단 구성 및 가용성을 다루는 `Divisions.ndf` 등을 통해 유닛 데이터와 게임 코드가 분리되어 체계적으로 관리됩니다 [1, 5-7].
* **모드 생성 및 작업 프로세스:** 모드 생성은 게임 내의 `Mods` 폴더에서 `CreateNewMod.bat` 배치 파일에 모드 이름을 인수로 입력 및 실행하여 시작할 수 있습니다 [3]. 이 과정을 거치면 `CommonData`, `GameData` 디렉터리와 함께 `GenerateMod.bat`, `UpdateMod.bat` 등의 필수 스크립트가 포함된 모드 폴더가 생성됩니다 [8]. 생성된 모드 내에서 유닛 구성, 활성화 포인트, 가용성을 수정하거나 `DivisionRules.ndf`, `DivisionCostMatrix.ndf` 파일 등을 편집하여 새로운 유닛 및 사단을 추가할 수 있으며, 새로운 3D 모델(.fbx) 묘사를 연결하는 것도 가능합니다 [5, 9-11].
* **모딩 도구 및 커뮤니티 지원:** .ndf 파일을 편집하기 위해서는 텍스트 편집기(Notepad++, Sublime Text 등)와 함께 각 요소에 고유 식별자를 부여하기 위한 GUID 생성기가 필요합니다 [12]. 커뮤니티에서는 이러한 기능들을 통합하여 시각적 편집을 돕는 WME(Warno Mod Editor)를 제작하여 지원하고 있습니다 [2, 13]. 또한, GitHub의 'WARNO-DATA' 위키나 'Warno-Armory', 'War-Yes' 등의 데이터 파싱 도구를 통해 공식 문서에 누락된 숨겨진 데이터 구조를 파악하고 모딩에 활용할 수 있습니다 [4, 13, 14].
* **대표적인 모딩 사례:** 커뮤니티 모드인 'Reb's FRAGO'는 현실주의(Realism)를 지향하여 게임 내 모든 무기 데이터를 실제 제원값으로 치환하고 시뮬레이션의 시간 축과 경제 시스템을 재설계하는 등 데이터 기반 설계를 극한으로 활용한 대표적인 모딩 사례입니다 [4].

## 🔗 Knowledge Connections
- **Related Topics:** [[NDF (Neutral Data Format)|NDF (Neutral Data Format)]], [[데이터 기반 설계 (Data-Driven Design)|데이터 기반 설계 (Data-Driven Design)]], [[Iriszoom 엔진|Iriszoom 엔진]]
- **Projects/Contexts:** [[Reb's FRAGO 모드|Reb's FRAGO 모드]], [[WME (Warno Mod Editor)|WME (Warno Mod Editor)]], WARNO-DATA 위키
- **Contradictions/Notes:** WARNO의 NDF 파일 시스템은 세부적인 데이터 접근성을 제공하지만, 무기의 관통력과 같은 특정 데이터 값이 단일 무기 파일에만 명시된 것이 아니라 손상 계통(Family)을 지정하는 복잡한 참조 구조(`DamageResistanceFamilyListImpl.ndf` 등)로 얽혀 있어 모더들이 원하는 값을 찾고 수정하는 데 혼란을 겪기도 합니다 [15, 16].

---
*Last updated: 2026-04-28*