GDD-007

Animal AI System

Document Metadata

Purpose

Dokumen ini mendefinisikan sistem AI hewan dalam HUNTBLOX. AI harus mudah dipahami pemain, terlihat alami, ringan di server, dan mudah dikembangkan untuk hewan baru.

AI Design Philosophy

AI State Machine

  1. Spawn — hewan muncul di habitat.
  2. Idle — hewan diam dengan animasi kecil.
  3. Roaming — hewan berjalan di dalam habitat.
  4. Eating — hewan berhenti dan memainkan animasi makan.
  5. Alert — pemain memasuki Fear Radius.
  6. Escape — hewan berlari menjauh.
  7. Calm — hewan kembali ke aktivitas normal.

State Description

Personality Profile

Personality Profile adalah sekumpulan parameter yang memengaruhi perilaku hewan (DN-007). Semua hewan berbagi satu Animal AI Engine, tetapi dengan nilai parameter berbeda.

Empat profil ditambahkan Agustus 2026 (Stoik, Peledak, Pengintai, Torpid) untuk memberi tiap hewan Beast Signal bentuk kesulitan yang berbeda, bukan angka yang lebih besar. Namanya generik dan bukan “profil Beast Signal”: keempatnya arketipe perilaku yang kebetulan berpenghuni satu ekor hari ini. Angka lengkapnya di MDD-008.

PersonalityBehaviorExample
PanickyLari tanpa arah, mudah ketakutan.Renggo (Ayam)
HiderCepat mencari semak atau batu terdekat.Vulpyra (Rubah)
RunnerBerlari lurus dengan kecepatan tinggi lalu berhenti jauh.Rapyra (Kelinci)
WaryMenjaga jarak sambil mengawasi pemain sebelum kabur.Velora (Rusa)
StoikBergerak terus, tidak pernah lari.Mammorak (Mammuth)
PeledakKabur sangat jauh, lalu diam total.Phoenyx (Phoenix)
PengintaiMenjaga jarak dan selalu menghadap pemain; tidak kabur.Sabertooth
TorpidNyaris tak bergerak.Varadon (Komodo)

AI Parameters

Fear Radius

Formula final: Fear Radius = 5 + round(Rarity Value × 0.5) + Personality Modifier — lihat MDD-001 Fear Radius & Movement Speed Formula untuk nilai final seluruh 28 spesies. Tidak diduplikasi di sini agar tidak ada dua sumber angka yang bisa saling drift.

Tiga Tingkat Kewaspadaan

Tingkat diikat ke Rarity Value, karena Rarity sudah sejalan dengan nilai jual. Pembagiannya hampir rata:

TingkatRarityJumlahSpesies
Tenang1–1010Renggo, Kravix, Hogrider, Cygnara, Rapyra, Lilith, Sheevara, Skyron, Rakora, Pavoris
Waspada11–199Ermyra, Nycthera, Lutrion, Velora, Quillan, Capragon, Chelora, Vulpyra, Cavalier
Liar20+9Ursakor, Scorvan, Crovak, Jagoryx, Leorak, Sabertooth, Varadon, Phoenyx, Mammorak

Lima dari sembilan hewan Liar dapat diburu sehari-hari (sejak Agustus 2026). Empat sisanya — Sabertooth, Varadon, Phoenyx, Mammorak — hanya muncul lewat Beast Signal. Sebelumnya empat dari delapan; Leorak dikembalikan ke passive spawn Hutan justru karena angka itu: seluruh lapisan keahlian di halaman ini berdiri di atas hewan Liar, dan empat spesies terlalu tipis sebagai pijakan (MDD-004).

Tingkat Tenang tidak menerima satu pun perilaku baru. Pemain baru berburu Ayam dan Kelinci dengan cara yang persis sama seperti hari pertama — ia tidak pernah menyentuh sistem ini sampai ia sendiri memilih mengincar hewan yang lebih berharga.

Waspada — menambah dua perilaku

Yang kedua adalah yang paling berharga. Ia menciptakan ketegangan detik-per-detik hanya dari satu animasi, dan pemain langsung memahaminya tanpa perlu diberi tahu — karena tanda visualnya jelas dan konsekuensinya langsung terasa.

Makan — Jendela Aman

State Eating sudah ada di AI State Machine sejak awal tetapi tidak pernah punya efek mekanis. Ia sekarang mendapat satu pekerjaan: selama hewan menunduk makan, Fear Radius-nya dikalikan 0,6.

Ini pasangan langsung dari “mengangkat kepala”. Keduanya memakai tanda visual yang sama — posisi kepala — dan bergerak ke arah berlawanan:

Posisi kepalaPengaliBeruang (FR 19), jongkok di rumputYang dilakukan pemain
Naik (mengawasi)×2,022,8 studsMembeku
Netral (roaming)×1,011,4 studsBergerak hati-hati
Turun (makan)×0,67,0 studsMaju sekarang

Ayunannya 3,3× antara momen paling berbahaya dan paling aman. Inilah yang mengubah mengintai dari garis lurus menjadi berirama — pemain tidak merayap terus-menerus, melainkan menunggu, maju, membeku, maju lagi. Dan seluruh informasinya dibaca dari animasi hewan, bukan dari indikator di layar.

Berlaku untuk seluruh tingkat, termasuk Tenang — dan itu tidak melanggar AI-007. Aturan itu melarang menambah perilaku yang membuat hewan pemula lebih sulit. Jendela makan justru membuat mereka lebih mudah (Renggo turun dari 6,0 ke 3,6 studs), dan Eating memang sudah menjadi state milik semua hewan sejak awal — tidak ada perilaku baru yang ditambahkan, hanya state lama yang diberi arti.

Nilainya baru terasa penuh pada tingkat Waspada dan Liar, karena hanya merekalah yang punya lawan tandingnya (mengangkat kepala). Pada tingkat Tenang ia sekadar jendela longgar tambahan.

Rumput Tinggi — Penutup Medan

Area rumput tinggi memberi konsealmen 0,6, tetapi hanya bila pemain jongkok atau tiarap — berdiri tegak di tengah rumput tidak menyembunyikan siapa pun. Ia masuk kategori Konsealmen, jadi ia tidak menumpuk dengan sikap tubuh; yang berlaku yang paling menyembunyikan (Aturan Penumpukan Deteksi).

Konsekuensinya inilah nilai sesungguhnya:

Mengintai Beruang (FR 19)Jarak deteksiKecepatan gerak
Tiarap di tanah terbuka10,5 studs3 studs/detik
Jongkok di rumput tinggi11,4 studs8 studs/detik

Rumput tinggi membuat mengintai 2,7× lebih cepat dengan persembunyian nyaris setara. Ini jawaban langsung atas risiko terbesar sistem sikap tubuh: kalau satu-satunya cara mendekati hewan berharga adalah merayap 3 studs/detik, mengintai berubah menjadi menunggu, dan menunggu membosankan. Dengan rumput, pemain yang membaca medan bergerak jauh lebih cepat daripada yang sekadar tiarap menyeberangi lapangan.

Dan peta akhirnya ikut bermain. Sebelum ini, terrain sepenuhnya pemandangan — tidak ada satu pun keputusan berburu yang dipengaruhi bentuk lahan. Rumput tinggi menjadikan jalur sebagai keahlian: mana rute yang tertutup, di mana celah terbuka yang harus diseberangi dengan tiarap.

Implementasinya sengaja murah: area rumput adalah zona yang dicat di terrain, bukan objek per-rumpun. Server cukup memeriksa apakah posisi pemain berada di dalam zona — satu pengecekan, bukan raycast vegetasi. Sebaran per biome ada di MDD-004.

Liar — menambah dua lagi, di atas Waspada

Kalau empat perilaku terasa terlalu banyak untuk MVP, kerucut pandang dan mengangkat kepala saja sudah memberi sebagian besar nilainya. Alarm beruntun dan berpindah dapat menyusul tanpa mengubah apa pun yang sudah dibangun.

Keempatnya memakai parameter yang sudah ada di MDD-008 — Alert Duration, Calm Duration, Escape Distance, Turn Rate. Tidak ada struktur data baru, dan aturan AI-006 tetap dipatuhi: perbedaan hewan berasal dari data parameter, bukan script AI terpisah.

Kenapa Ini Perlu Ada

Sampai Juli 2026, seluruh sistem di dokumen ini praktis tidak pernah aktif setelah pemain mencapai Level 5. Bow berjangkauan 45 studs sementara Fear Radius tertinggi hanya 22 — artinya tidak ada satu pun hewan yang pernah menyadari kehadiran pemain. Fear Radius, empat Personality Profile, status Alert, dan Escape Distance seluruhnya mati.

Jangkauan Bow/Crossbow sudah diturunkan ke 24/30 (MDD-002) untuk memulihkannya. Tiga tingkat kewaspadaan ini adalah lapisan keduanya: memastikan hewan yang paling berharga juga yang paling menuntut keahlian, sementara hewan pemula tetap semudah semula.

Akibatnya pada Ekonomi — disengaja

Isi tas kini mengikuti keahlian, dan nilai per slot ikut bergerak:

Yang sanggup ditangkap pemainCoin per slot
Hanya tingkat Tenang (Rarity ≤ 10)155
Sampai Waspada (Rarity ≤ 19)273
Seluruh spesies termasuk Liar374

Sebarannya 2,41×, dan seluruhnya ditentukan keahlian — bukan Level. Inilah yang selama ini hilang: sebelum perubahan ini, nilai per slot mendatar di 374 sepanjang Level 5 sampai 40, sehingga pemain Level 8 dan Level 38 melakukan hal yang persis sama dengan tas berbeda ukuran.

Harganya: NTP berubah dari rata-rata menjadi batas atas (MDD-005). Pemain yang belum mahir menghasilkan di bawahnya, sehingga rasio sewa Varian terasa lebih berat bagi mereka daripada 19–29% yang dirancang. Tangga sewa wajib diperiksa ulang setelah playtest, dan bila pemain menengah mulai rugi menyewa Varian besar, sewanya yang diturunkan — bukan kesulitannya. Pengaman yang sudah ada dan kini menjadi penting: Varian Dasar gratis selamanya (ECO-012), sehingga pemain yang gagal berkali-kali tidak pernah terkunci.

Teropong — Tanpa Ini, Seluruh Seksi di Atas Tidak Dapat Dimainkan

Baru Agustus 2026. Data lengkapnya di MDD-003 Teropong Master List; aturannya GDD-004 EQ-015.

Masalah yang ditemukan setelah seluruh sistem ini dikunci: pemain tidak dapat melihat satu pun keadaan yang menentukan hasilnya. Status Makan (×0,6) dan Angkat kepala (×2,0) adalah dua pengali terbesar di seluruh Aturan Penumpukan Deteksi — dan keduanya tidak punya penampakan yang dapat dinilai dari jarak aman. Akibatnya “tunggu jendela makan” bukan strategi melainkan tebakan: pemain merayap 3 studs/detik lalu berharap.

Teropong membuat keadaan itu terbaca — spesies, status, dan tingkat kewaspadaan, di dalam Jarak Baca yang ditentukan Varian yang disewa (15 tanpa teropong · 30 · 45 · 90). Dengan itu mengintai berubah bentuk:

Tanpa teropongDengan teropong
Berjalan sampai melihat sesuatuPindai dari jauh, lalu pilih target
Merayap dan berharapTunggu status berubah ke Makan, baru maju
Gagal tanpa tahu kenapaBerhenti saat kepala terangkat, lanjut saat turun

Ini jawaban kedua atas risiko kebosanan, di samping rumput tinggi — dan keduanya menyerang sumber yang berbeda. Rumput mempercepat pergerakan; teropong menghapus perjalanan yang sia-sia, karena pemain berhenti berjalan menuju hewan yang ternyata tidak ia inginkan.

Teropong tidak menyentuh Fear Radius sama sekali — ia bukan suku dalam Aturan Penumpukan Deteksi dan tidak melanggar AI-009. Yang berubah hanya apa yang pemain ketahui, bukan apa yang hewan rasakan. Angka Fear Radius tidak pernah ditampilkan; teropong memberi keadaan, bukan perhitungan.

Respons terhadap Decoy

Decoy (MDD-003, UTL0003) adalah satu-satunya cara pemain memindahkan hewan dengan sengaja. Perilakunya memakai state yang sudah ada, tanpa state baru:

  1. Decoy mendarat → server memilih satu hewan terdekat dalam radius 60 studs.
  2. Hewan itu masuk Roaming dengan tujuan terkunci ke titik Decoy — berjalan, tidak berlari, sehingga tidak terbaca sebagai panik.
  3. Sampai di titik, hewan masuk Eating selama sisa durasi — sehingga Fear Radius-nya ×0,6 (Makan — Jendela Aman).
  4. Durasi habis → hewan kembali ke perilaku normal di lokasi barunya.

Habitat Restriction

Player Detection

Suara Spesies — Mengisi Bagian Loop yang Masih Kosong

Baru Agustus 2026. Angkanya di MDD-001 Radius Dengar & Suara Idle.

Andaian yang selama ini tidak berdasar. DN-004 menulis bahwa pada Beast Signal, "pemain yang familiar dengan suara tiap spesies bisa langsung tahu hewan apa yang muncul dari suaranya saja" — kalimat yang mengandaikan pemain sudah hafal suara tiap hewan. Tetapi tidak ada satu dokumen pun yang menyatakan spesies punya suara. Andaian itu berdiri di ruang kosong sampai sekarang.

Dan ia mengisi bagian loop yang belum pernah disentuh. Kita sudah menebalkan mendekat (sikap tubuh, rumput tinggi, jendela makan) dan menembak (Peluang Tangkap, Kamera Proyektil). Mencari masih persis seperti hari pertama dirancang: berjalan sampai sesuatu terlihat. Teropong memperluas jangkauan penglihatan tetapi tidak memberi tahu ke mana harus memandang — memindai 90 studs ke segala arah tetap menyapu buta.

Suara memberi arah; teropong memberi kepastian. Dengar sesuatu di utara, pindai utara, baca statusnya, lalu putuskan. Tiga langkah, dan seluruhnya memakai sistem yang sudah ada.

Kenapa Jedanya Diikat ke Status Hewan

Ini bagian yang paling berharga, dan ia gratis. Status hewan sudah menentukan Fear Radius; kini ia menentukan bunyi juga — dalam arah yang sama:

Akibatnya suara menjadi versi gratis dari teropong, dan teropong menjadi versi presisinya. Pemain Varian Dasar tetap bisa memainkan jendela makan dengan telinga; pemain bertopong membacanya dengan pasti dari 90 studs. Tangga Varian tetap bermakna tanpa mengunci keahliannya di balik Level.

Bunyi alarm menjadikan alarm beruntun terbaca. Saat hewan Liar masuk Alert, seluruh hewan dalam radius 30 studs ikut waspada — selama ini terjadi tanpa penjelasan apa pun bagi pemain. Dengan bunyi alarm berradius ganda, pemain mendengar rambatannya. Mekanik yang tadinya terasa seperti hukuman misterius menjadi peristiwa yang dipahami.

Ini pendengaran pemain, bukan pendengaran hewan. Aturan "bau dan pendengaran tidak dipakai pada MVP" di bawah menyangkut hewan mendengar pemain — mahal karena berjalan di server untuk tiap AI. Suara spesies berjalan sepenuhnya di client sebagai audio posisional Roblox biasa: satu Sound per model, RollOffMaxDistance = Radius Dengar. Beban server nol.

Skala Dunia (S) — Satu Angka yang Menunggu Playtest

Ditetapkan Agustus 2026 sebagai penampung keputusan, bukan sebagai keputusan. Nilai S ditentukan setelah playtest (keputusan pemilik proyek).

Pertanyaan yang belum terjawab: apakah dunia HUNTBLOX terlalu rapat? Bow berjangkauan 24 studs (±7 meter); game panahan Roblox sebanding menembak pada ±55 studs. Kita kira-kira setengahnya. Itu mungkin benar — kita game mengintai, bukan game panahan, dan jarak adalah rintangan kita bukan isi kita — tetapi hanya playtest yang dapat memastikannya.

Menunggu hanya aman bila bentuknya dikunci sekarang. Seluruh jarak spasial dinyatakan sebagai nilai dasar × S, dengan S = 1,0 saat ini. Mengubah skala kelak berarti mengubah satu angka, bukan merancang ulang.

Ikut SNilai dasar (S = 1,0)
Fear Radius4–22 — rumus 5 + round(Rarity × 0,5) + Personality
Lantai deteksi7
Jangkauan senjataKnife 6 · Spear 18 · Bow 24 · Crossbow 30
Jarak Baca teropong15 · 30 · 45 · 90
Radius alarm beruntun30
Radius panggil Decoy60
Kecepatan pemain dan hewanSprint 24 · Jalan 16 · Tiarap 3 · Run Speed hewan 12–20

Baris terakhir itu yang paling penting, dan yang paling mudah dilupakan. Kalau jarak dikalikan tetapi kecepatan tidak, setiap pendekatan memakan waktu berlipat — tepat kebosanan yang dijawab rumput tinggi dan teropong. S mengalikan jarak dan kecepatan bersamaan, atau tidak sama sekali.

Yang tidak ikut S: peluang tangkap (sudah dinyatakan sebagai persentase jangkauan, MDD-002), seluruh pengali Konsealmen/Kondisi/Status, ambang Kamera Proyektil (50% jangkauan), dan seluruh angka ekonomi. Semuanya sudah berupa rasio, sehingga kebal terhadap perubahan skala.

Yang Diukur Playtest untuk Menentukan S

UkuranTargetKesimpulan
Waktu pendekatan median — dari hewan pertama terlihat sampai tembakan dilepas< 20 detikDunia terlalu rapat — naikkan S
30–60 detikS = 1,0 benar
> 90 detikTerlalu lapang — turunkan S

Kandidat yang sudah dihitung bila S perlu naik: S = 1,5 — Bow 36, Crossbow 45, Fear Radius 6–33, lantai 10,5, Sprint 36, Tiarap 4,5. Lebih dekat ke game sebanding tanpa melipatgandakan waktu merayap. S = 2,0 dihitung dan tidak disarankan: rasa gerak seluruh game berubah terlalu jauh untuk memperbaiki satu keluhan yang belum tentu ada.

Aturan Penumpukan Deteksi

Beberapa hal berbeda memodifikasi Fear Radius yang sama — sikap tubuh, rumput tinggi, malam, dan hujan. Tanpa aturan yang mengikatnya, keempatnya akan saling mengalikan dan meruntuhkan seluruh tangga Varian. Aturan ini adalah satu-satunya cara sah menghitung jarak deteksi; tidak ada dokumen lain yang boleh menetapkan pengali sendiri di luar sini.

Rumus

Fear Radius efektif = maks( Base FR × Konsealmen × Kondisi × Status Hewan × Perlengkapan , Lantai )

SukuIsiCara menggabung
KonsealmenSikap tubuh (Sprint 1,5 · Jalan 1,0 · Jongkok 0,8 · Tiarap 0,55) dan rumput tinggi (0,6)Ambil yang terbaik — tidak dikalikan. Rumput hanya berlaku bila pemain jongkok atau tiarap.
KondisiMalam (×1,2) dan hujan (×0,85)Dikalikan. Hasilnya tidak boleh turun di bawah 0,7 — batas berlaku ke bawah saja, tidak ke atas.
Status HewanMengangkat kepala (×2,0) · Netral (×1,0) · Makan (×0,6)Dikalikan. Ketiganya saling meniadakan — hewan hanya berada di satu status pada satu waktu.
PerlengkapanScent Mask (×0,75) selama ±3 menit (MDD-003 UTL0002)Dikalikan. Hanya satu perlengkapan aktif pada satu waktu, sehingga tidak ada yang bertumpuk.
Lantai7 studsBerlaku hanya bila Base FR di atas 7. Hewan ber-FR dasar ≤ 7 (Renggo 6, Kravix 4) tidak terpengaruh.

Kenapa Scent Mask Butuh Suku Sendiri

Ditambahkan Agustus 2026 — menutup pelanggaran AI-009. Sampai saat itu Scent Mask tertulis “menurunkan Fear Radius sementara” tanpa angka di dokumen mana pun, dan tidak pernah muncul di aturan ini — padahal AI-009 menyatakan aturan ini satu-satunya cara sah memodifikasi Fear Radius. Cacatnya nyata dan menyentuh Day 2: Scent Mask adalah hadiah item Level 5.

Ia tidak muat di ketiga suku yang sudah ada. Konsealmen adalah sikap tubuh dan medan; Kondisi adalah cuaca dan waktu; Status Hewan adalah keadaan hewannya sendiri. Scent Mask adalah sifat perlengkapan pemburu — kategori keempat yang berbeda dari ketiganya, sehingga memaksakannya ke salah satu akan merusak arti suku itu.

Lantai 7 studs tetap melindunginya, dan itu sudah diperiksa. Pada kombinasi paling ekstrem — tiarap 0,55 × Kondisi 0,7 (batas bawahnya) × Makan 0,6 × Scent Mask 0,75 = 0,173 — Crovak (FR 14) turun ke 2,4 dan Varadon (FR 22) ke 3,8, keduanya dilantai ke 7. Knife berjangkauan 6 tetap tidak menjangkau apa pun yang ber-FR dasar di atas 7. Tangga Varian aman tanpa aturan tambahan.

Hanya satu perlengkapan aktif pada satu waktu. Bila kelak ada perlengkapan lain yang menyentuh Fear Radius — Ghillie Suit pernah dibahas dan ditunda — ia menempati suku yang sama dan menggantikan, bukan menumpuk.

Kenapa Konsealmen Tidak Bertumpuk

Rumput tinggi adalah jalan pintas menuju persembunyian, bukan bonus di atasnya. Seseorang yang sudah berbaring rata di tanah tidak menjadi lebih tersembunyi karena ada rumput di sekitarnya — tetapi seseorang yang berjongkok menjadi setara berbaring. Inilah yang membuat rumput bernilai: ia memberi persembunyian setingkat tiarap tanpa ongkos kecepatannya.

Kenapa Ada Lantai 7 Studs

Lantai ini menjaga tangga Varian. Knife berjangkauan 6 studs; selama lantainya 7, Varian Dasar tidak akan pernah dapat berburu hewan tingkat Liar, apa pun kombinasi sikap, medan, dan cuaca.

Ini bukan kehati-hatian teoretis — dihitung dan terbukti. Tanpa lantai, tiarap (0,55) × rumput (0,6) × malam (0,8) × hujan (0,85) menghasilkan pengali 0,224. Seluruh delapan hewan tingkat Liar jatuh ke bawah jangkauan Knife — Crovak turun dari 14 ke 3,1 studs. Pemain bermodal Varian Dasar (sewa 0 Coin) dapat memanen Buaya seharga 6.610 Coin per sesi, mengalahkan setiap tier berbayar di atasnya.

Hewan LiarBase FRTanpa lantai †Dengan lantai 7
Crovak (Buaya)143,1 — Knife tembus7,0 — aman
Phoenyx173,8 — Knife tembus7,0 — aman
Ursakor (Beruang)194,3 — Knife tembus7,3 — aman
Scorvan (Kalajengking)204,5 — Knife tembus7,7 — aman
Varadon (Komodo)224,9 — Knife tembus8,5 — aman

† Pada kondisi paling ekstrem: tiarap + rumput tinggi + malam + hujan. Diverifikasi untuk kedelapan hewan Liar; dengan aturan ini 0 dari 8 dapat dijangkau Knife.

Batas yang Tidak Boleh Digeser

AI Optimization

AI Rules

Dependencies