Files
2nd/10_Wiki/Topics/AI_and_ML/Eugen Systems 모딩 매뉴얼.md
T
2026-05-10 22:08:15 +09:00

244 lines
6.1 KiB
Markdown

---
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
- 부모: [[Game-Modding]] · [[RTS-Games]]
- 변형: [[Wargame-Modding]] · [[WARNO-Modding]] · [[Steel-Division-Modding]]
- 응용: [[NDF-Script]] · [[Iriszoom-Engine]]
- Adjacent: [[Steam-Workshop]] · [[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 |