⚔️ ARCLUX — Combat & World Validator (Layer I)
Visual boleh cinematic. Hasil harus deterministic + tervalidasi. “Users create the machines. ARCLUX defines the physics. The server verifies reality.”Desain combat dua lapis yang dipisahkan tegas. Prinsip inti: client boleh menggambar perang, client tidak boleh menentukan kebenaran perang.
I.1 — Visual serangan (client-side, cinematic)
Target lock: kapal mengidentifikasi target (distance, velocity, heading, available weapons); UI menampilkan bracket/marker; kamera zoom cinematic ringan namun gameplay tetap taktikal. Senjata punya archetype visual, bukan instruksi visual mentah dari user. User memberi capability (component → mis. weapon.plasma); ARCLUX
menerjemahkannya:
I.2 — Damage berdasarkan subsystem
Bukan sekadar HP = 73%, tapi per-subsystem:I.3 — Catastrophic damage
State turun 100% → … → 0% →VESSEL DESTROYED → berubah menjadi wreckage;
world-state menyimpan event (lihat 04-wreckage-history.md).
Repo project asli tidak dihancurkan — yang berubah hanya layer .arclux/ /
world-state.
I.4 — World Validator (server = referee)
Server/middleware memvalidasi setiap request sebelum event sah:I.5 — Vessel state fingerprint/version
armor = infinity), state lokal tidak cocok
dengan validated state → ditolak.
I.6 — Component authorization
Validator memastikan component benar-benar milik/terizinkan: license valid, terpasang, capability sesuai, tidak expired/revoked, vessel state mengenal component tersebut. Mencegah: “copy component legendary punya orang ke .arclux/ gue”.I.7 — Damage ceiling / ruleset
User bebas membuat weapon kompleks, tapi hasil simulation terjepit aturan:I.8 — Replay / event log
Pertempuran penting direkam (battle ID, aksi, impact, subsystem, damage, state awal/akhir, event hash). Dasar sengketa (“dia cheat!”), preventasi cheat, dan fondasi Hall of Fame / history (lihat 04-wreckage-history.md).I.9 — Environmental Collision (nabrak benda langit = damage nyata)
Tidak hanya senjata yang menyebabkan damage. Kapal yang menabrak benda langit COLLIDABLE juga kena dampak nyata — asteroid, meteor, planet, puing anomali. Ini bagian dari dunia yang hidup (lihat 01-spatial-ux.md §2.2), bukan sekadar efek visual.- Server authoritative: server menentukan posisi kapal & benda langit (orbit deterministik, 01 §2.3), lalu mendeteksi tabrakan. Client tidak memutuskan.
- Damage model sama dengan sistem combat (I.2 per-subsystem, I.7 ceiling); bukan sistem damage terpisah. Kode harus di-debug melalui jalur damage yang sama.
- Tercatat sebagai event + replay (I.8); kerusakan parah yang menghancurkan kapal memicu wreckage (04) & provenance tetap terjaga.
- COMMENT: lingkungan adalah ancaman nyata — pilot harus menghindar; manuver menjadi keputusan taktis, bukan sekadar gerak.