docs(10_Wiki): Topic_Business/General/Graphic/Programming을 Topics/ 하위로 이동
최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치. 콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서 전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한 업데이트0615/무제 3.canvas 뿐).
This commit is contained in:
@@ -0,0 +1,242 @@
|
||||
---
|
||||
id: wiki-2026-0508-eugen-systems-모딩-매뉴얼
|
||||
title: Eugen Systems 모딩 매뉴얼
|
||||
category: 10_Wiki/Topics
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: [Eugen modding, Wargame mod, Steel Division mod, WARNO mod, Iriszoom modding]
|
||||
duplicate_of: none
|
||||
source_trust_level: B
|
||||
confidence_score: 0.88
|
||||
verification_status: applied
|
||||
tags: [game-modding, eugen-systems, wargame, warno, steel-division, ndf-script, iriszoom]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
tech_stack:
|
||||
language: NDF (Eugen)
|
||||
framework: Eugen Systems Iriszoom Engine / WARNO Mod Tools
|
||||
---
|
||||
|
||||
# Eugen Systems 모딩 매뉴얼
|
||||
|
||||
## 매 한 줄
|
||||
> **"매 Wargame / Steel Division / WARNO 의 mod 의 NDF script + Mod Tools"**. Eugen 의 자체 Iriszoom 엔진 — 매 NDF (Numerical Description Files) 매 unit / weapon / division. 매 modding 생태계 의 RTS 의 longevity 의 핵심.
|
||||
|
||||
## 매 핵심
|
||||
|
||||
### 매 Eugen game line
|
||||
- **Wargame**: European Escalation, AirLand Battle, Red Dragon (cold war).
|
||||
- **Steel Division**: Normandy 44, 2 (WW2).
|
||||
- **WARNO**: 매 modern Eugen RTS — 매 1989 가상 cold war.
|
||||
|
||||
### 매 Iriszoom 엔진 특징
|
||||
- 매 self-developed (Eugen).
|
||||
- 매 NDF script 의 unit data.
|
||||
- 매 dat / pak 의 archive.
|
||||
- 매 multi-resolution streaming.
|
||||
- 매 large-scale battlefield.
|
||||
|
||||
### 매 mod tool
|
||||
- **WARNO Mod Tools**: 매 Steam 의 official.
|
||||
- **Wargame Mod Manager**: 매 community.
|
||||
- **Mod.io / Steam Workshop** integration.
|
||||
|
||||
### 매 modding category
|
||||
1. **Unit balance**: 매 stats tweak.
|
||||
2. **New unit**: 매 historical / fictional.
|
||||
3. **Division**: 매 deck composition.
|
||||
4. **Map**: 매 scenario, terrain.
|
||||
5. **AI**: 매 behavior tweak.
|
||||
6. **Visual**: 매 skin, texture.
|
||||
|
||||
## 💻 패턴
|
||||
|
||||
### NDF unit definition
|
||||
```
|
||||
TUnitModernGfxModuleDescriptor is TUnitModernGfxModuleDescriptor
|
||||
(
|
||||
Tags = ["Tank", "Heavy"]
|
||||
BlindageProperties = TModuleSelector
|
||||
(
|
||||
ResistanceFront = TResistanceTypeRTTI(Family="ERA" Index=10)
|
||||
ResistanceSides = TResistanceTypeRTTI(Family="ERA" Index=8)
|
||||
)
|
||||
MaxPhysicalDamages = 12
|
||||
Speed = 60.0 // km/h
|
||||
)
|
||||
```
|
||||
|
||||
### Weapon NDF
|
||||
```
|
||||
TWeaponManagerModuleDescriptor is TWeaponManagerModuleDescriptor
|
||||
(
|
||||
Salves = [
|
||||
TWeaponSalvoDescriptor
|
||||
(
|
||||
Type = "Cannon"
|
||||
Caliber = 125
|
||||
RangeGRU = 2310 // 매 unit
|
||||
ReloadTime = 12
|
||||
)
|
||||
]
|
||||
)
|
||||
```
|
||||
|
||||
### Division deck (WARNO)
|
||||
```
|
||||
TDeckPackDescriptor is TDeckPackDescriptor
|
||||
(
|
||||
Faction = ~/EFactionCategory/UnitedStates
|
||||
DivisionName = "11th Armored Cavalry Regiment"
|
||||
UnitCards = [
|
||||
~/Descriptor_Unit_M1_Abrams,
|
||||
~/Descriptor_Unit_M2_Bradley,
|
||||
// ...
|
||||
]
|
||||
)
|
||||
```
|
||||
|
||||
### Mod folder structure
|
||||
```
|
||||
WARNO/Mods/MyMod/
|
||||
├── meta.ini
|
||||
├── GameData/
|
||||
│ ├── Generated/
|
||||
│ │ ├── Gameplay/
|
||||
│ │ │ ├── Gfx/UniteDescriptor.ndf
|
||||
│ │ │ ├── Gfx/WeaponDescriptor.ndf
|
||||
│ │ │ └── Decks/Divisions.ndf
|
||||
└── ModSettings.ini
|
||||
```
|
||||
|
||||
### meta.ini
|
||||
```ini
|
||||
[mod]
|
||||
name = "Operation: Custom"
|
||||
author = "PlayerOne"
|
||||
version = "1.2.0"
|
||||
game_version_min = "1.0.0"
|
||||
description = "Adds 5 new divisions"
|
||||
```
|
||||
|
||||
### Stat tweak (balance mod)
|
||||
```
|
||||
// 매 BTR-80 의 health ↑ 의 buff
|
||||
~/UniteDescriptor.ndf:
|
||||
TUnitDescriptor is TUnitDescriptor
|
||||
(
|
||||
Name = ~/Descriptor_Unit_BTR_80
|
||||
BlindageProperties = TBlindageProperties (
|
||||
MaxPhysicalDamages = 6 // 4 → 6
|
||||
)
|
||||
)
|
||||
```
|
||||
|
||||
### New unit (clone + modify)
|
||||
```
|
||||
~/UniteDescriptor.ndf — append:
|
||||
TUnitDescriptor is TUnitDescriptor
|
||||
(
|
||||
Name = ~/Descriptor_Unit_M1A2_Custom
|
||||
InheritFrom = ~/Descriptor_Unit_M1_Abrams
|
||||
OverrideWeapons = [...]
|
||||
)
|
||||
```
|
||||
|
||||
### Steam Workshop publish
|
||||
```bash
|
||||
# 매 WARNO Mod Tools UI:
|
||||
# 1. Build mod → 매 .pak
|
||||
# 2. Steam Workshop login
|
||||
# 3. Upload (image, description, tag)
|
||||
```
|
||||
|
||||
### Compatibility check
|
||||
```python
|
||||
# 매 mod conflict 의 detect (overlapping NDF symbol)
|
||||
def check_conflict(mods):
|
||||
symbols = {}
|
||||
for mod in mods:
|
||||
for ndf in mod.parsed_ndf:
|
||||
for sym in ndf.symbols:
|
||||
if sym in symbols:
|
||||
print(f'CONFLICT: {sym} in {mod.name} and {symbols[sym]}')
|
||||
symbols[sym] = mod.name
|
||||
```
|
||||
|
||||
### AI behavior tweak
|
||||
```
|
||||
~/AIDescriptor.ndf:
|
||||
TAIDescriptor is TAIDescriptor
|
||||
(
|
||||
Aggressiveness = 1.5 // 매 1.0 → 1.5
|
||||
PreferredEngagementRange = 1500
|
||||
)
|
||||
```
|
||||
|
||||
### Map scripting (Lua)
|
||||
```lua
|
||||
-- 매 trigger 의 specific area
|
||||
function on_unit_enter(unit, zone)
|
||||
if zone == 'OBJECTIVE_ALPHA' and unit.faction == 'BLUFOR' then
|
||||
spawn_reinforcements('OPFOR', 'NORTH_EDGE')
|
||||
broadcast('Enemy reinforcements arriving!')
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
### Locale (multi-language)
|
||||
```
|
||||
LOCALISATION/UNITS.csv:
|
||||
TOKEN,EN,FR,DE,RU
|
||||
DESC_M1_CUSTOM,"Custom Abrams","Abrams Custom","..","..."
|
||||
```
|
||||
|
||||
### Mod testing checklist
|
||||
```yaml
|
||||
test_checklist:
|
||||
- faction_balance: PvP test 5 games
|
||||
- unit_stats: per-unit damage curve
|
||||
- division_validity: each card spawns
|
||||
- texture_asset: no missing
|
||||
- performance: 60fps@1440p large battle
|
||||
- multiplayer_sync: deterministic
|
||||
```
|
||||
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| Balance tweak | NDF stat override |
|
||||
| New faction | Inherit + override |
|
||||
| Map | Mission editor + Lua |
|
||||
| Cosmetic | Texture replace |
|
||||
| AI | AI NDF tweak |
|
||||
| Multi-mod | Compatibility audit |
|
||||
|
||||
**기본값**: 매 official WARNO Mod Tools + 매 NDF inherit 의 minimize 의 conflict + 매 Workshop publish + 매 multiplayer test.
|
||||
|
||||
## 🔗 Graph
|
||||
- 변형: [[WARNO-Modding]]
|
||||
- 응용: [[Iriszoom-Engine]]
|
||||
- Adjacent: [[게임 밸런싱|Game-Balance]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: 매 Eugen game mod. 매 NDF parsing.
|
||||
**언제 X**: 매 non-Eugen RTS.
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **NDF override without inherit**: 매 update break.
|
||||
- **No version pin**: 매 game patch fail.
|
||||
- **No conflict check**: 매 multi-mod break.
|
||||
- **No multiplayer test**: 매 desync.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (Eugen Systems community wiki, WARNO Mod Tools docs).
|
||||
- 신뢰도 B.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — NDF + Iriszoom + 매 unit / weapon / division / Lua / Workshop code |
|
||||
Reference in New Issue
Block a user