CDR-008
Performance Philosophy
Document Information
Purpose
Dokumen ini mendefinisikan filosofi performa PROJECT HUNTBLOX agar game tetap stabil, responsif, dan nyaman dimainkan di berbagai perangkat Roblox.
Performa bukan tahap akhir setelah fitur selesai, tetapi prinsip desain yang harus dipertimbangkan sejak awal dalam dunia, AI, inventory, economy, UI, dan persistence.
Performance Pillars
- Performance First — fitur tidak boleh mengorbankan stabilitas server atau kenyamanan pemain.
- Simple Runtime Logic — logika runtime harus sesederhana mungkin, terutama untuk AI, spawn, loop update, dan UI.
- Scalable Systems — sistem harus tetap stabil saat jumlah pemain, hewan, item, dan data bertambah.
- Low Waste — hindari objek, event, update, dan data yang tidak diperlukan.
- Device Awareness — desain harus mempertimbangkan pemain mobile, tablet, console, dan PC.
- Measured Optimization — optimasi harus berdasarkan observasi dan masalah nyata, bukan tebakan.
Server Performance Philosophy
Server adalah pusat otoritas untuk data penting dan gameplay utama, sehingga beban server harus dijaga ketat.
- Jumlah hewan aktif harus dibatasi dan dikontrol berdasarkan area, biome, dan kebutuhan gameplay.
- AI hewan tidak boleh menjalankan logika berat setiap frame tanpa alasan jelas.
- Spawn dan despawn harus membantu menjaga dunia terasa hidup tanpa memenuhi server dengan objek tidak aktif.
- Validasi server harus aman tetapi tetap efisien.
- Sistem persistence tidak boleh melakukan save terlalu sering tanpa kebutuhan.
Client Performance Philosophy
Client bertanggung jawab membuat game terasa responsif dan jelas bagi pemain.
- UI harus sederhana, ringan, dan tidak memenuhi layar.
- Efek visual harus memperkuat feedback tanpa menurunkan performa perangkat rendah.
- Animasi, sound, dan feedback harus digunakan secara efisien.
- Informasi penting seperti Coin, ammo, Backpack, dan loot harus mudah dibaca tanpa update berlebihan.
- Pengalaman mobile harus dipertimbangkan sejak awal.
Animal and AI Performance
- AI hewan harus memakai state machine sederhana untuk MVP.
- Perbedaan perilaku antar hewan sebaiknya berasal dari data parameter, bukan AI khusus per spesies.
- Hewan yang jauh dari pemain tidak perlu menjalankan logika yang sama beratnya dengan hewan yang dekat.
- Fear radius, movement, dan alert behavior harus dirancang agar ringan dihitung.
- Desain AI harus mengutamakan kesan hidup yang cukup, bukan simulasi kompleks.
World and Map Performance
- Biome harus dirancang dengan kepadatan objek yang terkendali.
- Landmark dan dekorasi harus membantu navigasi tanpa membebani render berlebihan.
- Area yang tidak relevan dengan pemain tidak perlu aktif penuh setiap saat.
- Weather, time cycle, dan efek lingkungan harus sederhana untuk MVP.
- World expansion harus mempertimbangkan streaming, loading, dan batas perangkat rendah.
Data and Persistence Performance
- Data pemain harus disimpan dalam struktur yang jelas dan tidak berlebihan.
- Auto-save harus cukup sering untuk aman, tetapi tidak terlalu sering sehingga membebani sistem.
- Data inventory, Coin, equipment, dan koleksi harus diprioritaskan dibanding data kosmetik sekunder.
- Perubahan data kecil sebaiknya dikelompokkan secara bijak sebelum disimpan.
- Struktur data harus siap berkembang tanpa memaksa migrasi besar yang berisiko.
UI and Feedback Performance
- UI tidak boleh melakukan update terus-menerus jika nilai tidak berubah.
- Notifikasi loot, Coin, dan upgrade harus ringkas dan tidak menumpuk tanpa kontrol.
- Feedback visual harus jelas tetapi tidak berlebihan.
- UI harus tetap nyaman untuk layar kecil.
- Setiap elemen UI harus punya fungsi yang jelas bagi pemain.
MVP Performance Scope
- Batasi jumlah hewan aktif per area.
- Gunakan AI state sederhana.
- Gunakan world dan biome awal yang terkendali.
- Gunakan UI dasar yang ringan.
- Gunakan persistence untuk data inti terlebih dahulu.
- Tunda sistem berat seperti weather kompleks, event besar, trading, auction house, atau simulasi ekosistem penuh sampai MVP stabil.
Performance Risks
- Terlalu banyak hewan aktif dapat menurunkan performa server.
- AI kompleks dapat membuat gameplay tidak stabil sebelum fitur inti matang.
- World terlalu padat dapat membuat perangkat rendah sulit menjalankan game.
- UI terlalu ramai dapat menurunkan keterbacaan dan performa client.
- Save data terlalu sering dapat menimbulkan risiko teknis dan membebani persistence.
- Optimasi yang terlambat dapat memaksa rewrite sistem besar.
Dependencies
- CDR-001 — Game Vision.
- CDR-002 — Gameplay Philosophy.
- CDR-003 — Player Experience.
- CDR-004 — Progression Philosophy.
- CDR-005 — Economy Philosophy.
- CDR-006 — World Philosophy.
- CDR-007 — Technical Philosophy.
- GDD-005 — Animal System.
- GDD-007 — Animal AI System.
- GDD-008 — World System.
- game-systems.html — Game Systems Overview.