DN-008

Data-Driven Design + MDD

Document Information

Prinsip

"Jika sebuah sistem bisa dibuat menggunakan data (parameter), jangan membuat sistem baru."

Konsekuensinya dua arah, dan keduanya sama pentingnya:

Usulan Asli

Dipertahankan apa adanya sebagai catatan asal-usul:

Contohnya AI. Daripada membuat 15 script AI untuk 15 hewan, kita cukup punya 1 Animal AI Engine dengan data berbeda untuk setiap spesies: Fear Radius, Walk Speed, Run Speed, Personality, Habitat, Spawn Weight.

Dengan pendekatan ini, menambah hewan baru bisa dilakukan hanya dengan mengisi data tanpa menulis ulang logika AI. Ini akan sangat menghemat waktu dan membuat target 3 bulan jauh lebih realistis.

Aku juga ingin mulai menyusun Master Data Document (MDD) secara paralel dengan GDD. MDD tidak berisi penjelasan, hanya angka dan data. Nantinya programmer cukup membaca MDD untuk mengisi konfigurasi game, sedangkan GDD menjelaskan alasan desainnya.

Status Implementasi

Usulan MDD dijalankan penuh dan tumbuh melampaui tiga dokumen yang disebut di usulan asli:

DokumenIsi
MDD-001Animal List — 28 spesies × 15 kolom.
MDD-002Weapon List — statistik senjata dan ammo.
MDD-003Item List — Varian Backpack, Consumable, Fuel, Companion, Skin, Mount, Character, Catalyst, Accessory.
MDD-004Biome & Spawn Data — 7 biome, distribusi 28 spesies, Spawn Weight.
MDD-005Economy & Price List — peta sumber harga, bukan tabel harga (lihat Batas Prinsip).
MDD-006Player Progression Data — Level, Hunter Rank, Achievement, Unlock, reward.
MDD-007Loot & Collection Data — Trophy Room, Pedestal, Statue Miniatur.
MDD-008Personality Profile Data — 4 profil AI (lihat DN-007).

Di lapisan teknis, prinsip ini menjadi salah satu Architecture Pillar di TDD-001: "tabel MDD diterjemahkan apa adanya menjadi ModuleScript data, bukan logika if/else per spesies." Setiap MDD punya satu file pasangan di ServerStorage/GameData/.

Bagaimana Prinsip Ini Terbukti

Bukan klaim teoretis — berikut kejadian nyata di proyek ini, tempat prinsip ini menghemat pekerjaan yang besar:

Pola yang muncul dari semuanya: yang sesungguhnya dibeli prinsip ini bukan kecepatan menulis kode di awal, melainkan kemurahan berubah pikiran di kemudian hari. Proyek yang angkanya ditetapkan manual akan mempertahankan keputusan yang buruk semata-mata karena mahal untuk diperbaiki.

Batas Prinsip — Kapan Ia Gagal

Dependencies