GDD-003
Inventory System
Document Metadata
Purpose
Dokumen ini mendefinisikan sistem penyimpanan item yang dimiliki pemain selama sesi berburu dan setelah kembali ke Lobby. Backpack bukan sekadar penyimpanan, melainkan resource utama yang menentukan durasi expedition, keputusan pemain, dan strategi berburu.
Inventory Architecture
Inventory dibagi menjadi dua ruang yang terpisah tegas dan tidak pernah bercampur. Pemisahan ini bukan sekadar organisasi — ini batas keamanan inti sistem (lihat Session Boundary di bawah).
- Session Inventory (Backpack sewaan) — hidup hanya selama satu sesi Map. Berisi senjata dan ammo bawaan Varian, Consumable yang dibawa, dan hasil buruan. Tidak pernah disimpan permanen.
- Permanent Storage — gudang tetap milik pemain di Lobby. Berisi Animal Record hasil ekstraksi, Skin, Coin, dan progres koleksi. Tidak pernah dibawa ke Map.
Satu-satunya jembatan antara keduanya adalah ekstraksi di Village — dan jembatan itu hanya berjalan satu arah (Session → Permanent), untuk Animal Record dan sisa Consumable milik pemain.
Varian Backpack (Sewa per-Sesi)
Backpack tidak pernah dimiliki, dibeli, maupun di-upgrade. Setiap sesi berburu dimulai dengan menyewa satu Varian Backpack di layar Loadout, dan sewa itu berakhir begitu pemain kembali ke Lobby.
Layar Loadout
Layar transisi antara Lobby dan Map. Bukan bagian dari halaman Lobby (GDD-014) — ini gerbang sekali-pakai per sesi.
- Pemain memilih tepat satu Varian. Tidak ada pencampuran alat lintas Varian.
- Setiap Varian adalah satu paket lengkap: kapasitas loot + senjata + ammo. Knife selalu ada; maksimal 2 dari Spear/Bow/Crossbow. Consumable (Spirit Water, Teleport Stone, dst) tidak termasuk paket — dibeli terpisah di Market dan dipilih sendiri untuk dibawa.
- Makin mahal Varian, makin besar kapasitas dan makin banyak stok ammo-nya. Varian berkapasitas sama dibedakan oleh komposisi senjata, bukan harga — pilihannya soal gaya bermain.
- Unlock Level menentukan Varian mana yang boleh disewa — bukan yang dimiliki. Pemain Level rendah tetap terbatas ke Varian kecil meski Coin-nya banyak.
- Coin baru terpotong saat menekan Depart. Setelah itu tidak ada refund dalam kondisi apa pun.
Varian Dasar (Gratis, Selalu Tersedia)
Wajib selalu ada satu Varian bertarif 0 Coin, berisi Knife dan kapasitas minimum — tanpa ini pemain yang kehabisan Coin akan terkunci permanen (ECO-012).
Aturan Sewa
| Aspek | Ketetapan |
|---|---|
| Masa berlaku | Satu sesi Map, dari Depart sampai ekstraksi |
| Pembayaran | Sekali di muka saat Depart |
| Refund | Tidak ada |
| Upgrade mid-sesi | Tidak mungkin — tidak ada titik transaksi di dalam Map |
| Sisa ammo di akhir sesi | Hangus, tidak masuk Permanent Storage |
| Sisa Consumable | Kembali ke Permanent Storage — milik pemain, bukan sewaan |
| Reset ke default | Otomatis — sewa tidak pernah ditulis ke profil permanen |
Catatan Ide Masa Depan: ada gagasan variasi tata letak grid per Varian (bukan slot bonus, tapi bentuk grid berbeda untuk kapasitas yang sama) — belum didesain, akan dituangkan sebagai DN terpisah ("Grid Backpack") kalau sudah matang.
Backpack Decision Factors
- Loot Capacity — kapasitas yang tertera pada Varian adalah kapasitas hasil buruan bersih. Senjata dan ammo bawaan Varian, serta Consumable yang dibawa, tidak ikut memakan kapasitas ini. Setiap Animal Record memakai kapasitas sebesar Size Value hewan tersebut, bukan 1 slot flat — hewan besar memakan jauh lebih banyak ruang daripada hewan kecil (GDD-005, MDD-001).
- Komposisi Senjata Varian — pembeda utama antar Varian berkapasitas sama. Bow cepat tapi sulit (Cooldown 0.7, Handling 5); Crossbow mudah tapi lambat (1.5, Handling 8); Spear (18) menjangkau 21 dari 28 spesies tanpa memicu kabur sambil berjalan; Bow (24) dan Crossbow (30) menjangkau seluruh 28, tetapi marginnya tipis pada hewan Liar — Bow hanya 2 studs di atas Fear Radius Varadon. (Jangkauan diturunkan dari 45 pada Juli 2026, MDD-002.)
- Bekal Consumable — berapa banyak Spirit Water, Teleport Stone, atau Cold Resistance Wrap yang dibawa. Keputusan terpisah dari Varian, disesuaikan ke biome tujuan.
- Pengelolaan Stamina — Stamina turun saat bergerak dan naik saat berhenti (GDD-002). Berapa banyak Consumable yang dibawa menentukan seberapa sering pemain harus berhenti di tengah sesi.
- Expedition Duration — kapasitas Varian secara langsung menentukan berapa lama pemain dapat berburu sebelum harus kembali.
- Jarak ke Village — karena ekstraksi wajib lewat Village, posisi berburu terhadap Village menjadi pertimbangan nyata. Makin jauh dan makin penuh tas, makin besar risiko waktu.
- Strategic Trade-offs — keputusan utama bergeser dari "slot ini untuk ammo atau loot?" menjadi "Varian mana yang sepadan dengan rencana sesi ini?" — sekali di awal, bukan mikro-manajemen sepanjang sesi.
Backpack Full Condition
Bila tas terlanjur penuh sebelum tujuan pemain tercapai, tersisa dua pilihan:
- Ekstraksi di Village — mengamankan seluruh hasil buruan ke Permanent Storage dan mengakhiri sesi.
- Discard Low-Value Loot — membuang hasil bernilai rendah untuk memberi ruang bagi hasil yang lebih bernilai.
Kapasitas adalah plafon, bukan pemicu — ekspedisi bisa berakhir karena tas penuh, karena pemain merasa cukup, sudah mendapat target, atau kehabisan waktu bermain, bukan hanya karena tas penuh.
Kapasitas adalah batas atas, bukan satu-satunya pemicu. Untuk pemain yang berniat "cari sebanyak mungkin hari ini", tas penuh memang yang mengakhiri sesinya — dan di situ ia benar-benar jadi momen keputusan. Tetapi untuk pemain yang mengejar spesies tertentu bagi pesanan Caravan atau Prestige, sesi berakhir begitu targetnya didapat, jauh sebelum tas terisi. Keduanya sah, dan desainnya harus melayani keduanya.
Konsekuensinya pada pilihan Varian, dan ini penting. Karena sewa dibayar di muka tanpa refund, menyewa Varian besar untuk sesi yang hanya membidik dua ekor adalah kerugian nyata. Pemain yang mengincar 2 Velora cukup menyewa Varian Perintis (12 dari 15 slot terpakai, sewa 800); menyewa Varian Rimba untuk tujuan yang sama membuang 2.000 Coin tanpa manfaat. Ini justru memperkuat tangga sewa yang menanjak (ECO-016): layar Loadout bukan bertanya "seberapa lama saya akan bertahan", melainkan "seberapa besar ambisi saya sesi ini".
Emergency Supplies — Dicabut
Konsekuensi yang perlu dinyatakan terang-terangan: setelah pencabutan ini, hasil buruan tidak lagi punya kegunaan apa pun selama pemain berada di dalam Map — ia murni muatan yang dibawa pulang. Ini bukan kehilangan yang tidak disengaja, melainkan lanjutan logis dari keputusan mencabut seluruh transaksi di Map (DN-006 v2.0.0): seluruh keputusan tentang loot kini terjadi di Lobby, sementara keputusan di dalam Map murni soal berburu — apa yang dikejar, seberapa jauh berani pergi, dan kapan harus pulang. Satu-satunya keputusan loot yang tersisa di Map adalah saat tas penuh: pulang, atau buang yang bernilai rendah.
Pengecualian Resmi — Arena Pembuka
Alur baku Lobby → Loadout → Depart memiliki tepat satu pengecualian: sesi pertama pemain baru dimulai di Arena Pembuka (GDD-002 Tutorial Sequence Bagian 0), dan di sana pemain menerima Varian Dasar — Pisau plus kapasitas 10 — secara otomatis tanpa melewati layar Loadout.
- Yang dilewati adalah layarnya, bukan biayanya. Varian Dasar memang bertarif 0 Coin selamanya dan tidak pernah terkunci Level (ECO-012, INV-014), jadi tidak ada sewa yang diabaikan dan tidak ada aturan ekonomi yang dilanggar.
- Pengecualian berakhir begitu pemain tiba di Lobby. Sejak titik itu seluruh alur baku berlaku penuh — termasuk sesi kedua pemain baru itu sendiri.
- Tidak ada pengecualian kedua. Setiap alur lain yang ingin melewati layar Loadout harus dicatat di sini terlebih dahulu, bukan diasumsikan.
Extraction Protocol
Village adalah satu-satunya Extraction Point di Map. Pemain tidak bisa kembali ke Lobby dari sembarang tempat.
- Saat ekstraksi — server memindahkan Animal Record dan sisa Consumable milik pemain ke Permanent Storage. Senjata dan sisa ammo bawaan Varian ditolak dan ikut musnah bersama sesi.
- Disconnect — sesi dibekukan di server selama 10 menit. Reconnect dalam batas itu mengembalikan pemain ke dalam Map dengan loot utuh — tetap wajib berjalan ke Village untuk ekstraksi. Tidak ada keuntungan apa pun dari disconnect.
- Lewat 10 menit, atau keluar sengaja — sesi dimusnahkan, seluruh loot hangus, sewa hangus.
- Server shutdown — loot hangus, tetapi sewa dikembalikan, karena ini bukan kesalahan pemain.
Alasan grace period: HUNTBLOX tidak punya PvP dan tidak punya kematian, jadi tidak ada situasi berbahaya yang bisa dihindari dengan disconnect. Tanpa grace period, satu-satunya hal yang benar-benar dihukum adalah kualitas koneksi pemain — bertentangan dengan prinsip loop "tidak menghukum pemain secara berlebihan" (Game Flow).
Session Boundary (Keamanan)
Batas antara Session Inventory dan Permanent Storage adalah titik paling rawan eksploitasi di seluruh sistem. Aturan berikut mengikat implementasi:
- Sewa tidak pernah ditulis ke profil permanen. State Varian hidup di memori server sebagai state sesi. "Reset ke default" bukan aksi penghapusan — ia konsekuensi otomatis dari tidak pernah disimpan. Kalau terjadi crash, arah kegagalannya aman (pemain kehilangan sewa) alih-alih bocor (pemain menyimpan Varian termahal selamanya).
- Ekstraksi memakai allowlist, bukan blocklist. Hanya Animal Record yang boleh lolos ke Permanent Storage. Item jenis baru yang lupa didaftarkan otomatis tertolak, bukan otomatis lolos.
- Setiap item bawaan Varian ditandai session-bound di server, supaya alat sewaan tidak bisa dicuci menjadi properti permanen.
- Kapasitas divalidasi di server, tidak pernah dipercayakan ke client (CDR-007 Server Authority).
- Semua penulisan ke Permanent Storage lewat satu fungsi server yang sama — baik dari ekstraksi maupun dari sumber lain di masa depan — supaya validasi dan logging tidak berbeda antar jalur.
Permanent Storage
Storage adalah penyimpanan tetap milik pemain. Tidak dibawa ke Map, hanya dapat diakses di Lobby.
- Menyimpan Animal Record hasil ekstraksi.
- Menyimpan semua Skin.
- Menyimpan Coin.
- Menyimpan progres koleksi (Collection Data, MDD-007).
- Menyimpan kepemilikan kosmetik lain (Mount, Character, Accessory).
Tidak ada kepemilikan senjata permanen — Skin adalah satu-satunya lapisan permanen yang tersisa pada kategori peralatan.
Item Categories
- Weapon — alat berburu. Selalu bagian dari paket Varian sewaan, tidak pernah properti permanen pemain.
- Ammo — amunisi untuk senjata jarak jauh. Bagian dari paket Varian, sisa akhir sesi hangus.
- Consumable — alat bantu berburu sekali pakai (Spirit Water, Scent Mask, Decoy, Wild Honey, Teleport Stone, Cold Resistance Wrap). Dibeli di Market, dimiliki permanen, dipilih untuk dibawa di layar Loadout; sisa kembali ke Storage.
- Animal — hasil buruan yang dapat diekstraksi lalu dijual satuan, dikirim via Caravan, dipakai untuk evolusi Mount/Companion, atau dipajang di Trophy Room. Tidak dapat dikonsumsi (Emergency Supplies dicabut Juli 2026).
- Skin — kosmetik permanen. Berlaku ke jenis senjata, bukan ke unit senjata tertentu — skin otomatis menempel pada senjata sejenis yang keluar dari Varian yang sedang disewa. Kalau Varian sesi itu tidak membawa senjata yang cocok, skin-nya pasif untuk sesi tersebut.
- Quest Item — untuk event atau misi khusus (Future).
- Event Item — item terbatas untuk event (Future).
Animal Record
Setiap hasil buruan bukan item biasa, melainkan Individual Record dengan data unik. Record ini memungkinkan ekspansi sistem di masa depan tanpa mengubah struktur dasar.
Di Backpack, Animal Record ditampilkan sebagai ikon/gambar hewan yang ditangkap, bukan ikon daging atau bagian tubuh (non-letal, GDD-005).
- Species — jenis hewan yang ditangkap.
- Rarity — tingkat kelangkaan hewan.
- Coin Value — harga jual sebagai Coin.
- Prestige Value — nilai reputasi untuk Lifetime Prestige.
- Trophy Information — status kelayakan display (lihat Trophy Room, MDD-007). Tidak ada field weight/dimensi — tidak ada varian berat per individu.
- Timestamp & Location — kapan dan di mana hewan ditangkap.
- Future Data — slot untuk atribut tambahan yang mungkin dibutuhkan.
Setiap Animal Record dapat dijual di Lobby, dikirim via Caravan, dipakai untuk evolusi Mount/Companion, disimpan sebagai koleksi, atau dipajang sebagai syarat Statue Miniatur. (Dikoreksi Juli 2026: baris ini masih menyebut "dikonsumsi di Map" — Emergency Supplies dicabut permanen, Animal Record tidak pernah bisa dikonsumsi.)
Item Stack Rules
| Item | Stack | Catatan |
|---|---|---|
| Arrow | Stack | Ammo untuk Bow. Bawaan Varian, session-bound. |
| Spear | Stack | Ammo throwable. Bawaan Varian, session-bound. |
| Crossbow Bolt | Stack | Ammo untuk Crossbow. Bawaan Varian, session-bound. |
| Consumable | Stack | Milik pemain, dibawa sesuai pilihan. Tidak memakan kapasitas loot; sisa kembali ke Storage. |
| Animal | Individual Record | Setiap hasil buruan memiliki data unik. Satu-satunya kategori yang lolos ekstraksi. |
| Weapon | Individual Record | Bawaan Varian, session-bound. Tidak pernah masuk Permanent Storage. |
| Skin | Individual Record | Kosmetik permanen, di-key ke jenis senjata. |
Auto Save
Yang disimpan saat pemain keluar atau sesi berakhir:
- Coin.
- Permanent Storage (Animal Record hasil ekstraksi, Skin, kosmetik).
- Progres koleksi, Level, dan Lifetime Prestige.
Yang tidak disimpan:
- Isi Backpack sewaan — hidup di memori server sebagai state sesi, musnah bersama sesi.
- Varian yang sedang disewa — tidak pernah menjadi kepemilikan.
Saat pemain masuk kembali, seluruh data permanen dipulihkan otomatis. Sesi Map tidak pernah dipulihkan kecuali lewat grace period 10 menit (lihat Extraction Protocol).
Inventory Rules
- INV-001 — pemain hanya dapat membawa hasil buruan sesuai kapasitas Varian yang disewa.
- INV-002 — (direvisi v2.0.0) Permanent Storage hanya dapat diakses di Lobby. Tidak di Village, tidak di Hunting Zone.
- INV-003 — semua item permanen yang diperoleh pemain harus tersimpan secara otomatis.
- INV-004 — (direvisi v2.0.0) Progres permanen tidak boleh hilang akibat disconnect. Isi Backpack sesi bukan progres permanen sampai diekstraksi di Village — lihat Extraction Protocol untuk aturan grace period.
- INV-005 — (direvisi v2.0.0) Hasil buruan tidak dapat dijual di dalam Map. Penjualan hanya terjadi di Lobby, setelah ekstraksi.
INV-006— (dicabut Juli 2026) Emergency Supplies dihapus dari desain. Nomor tidak digunakan ulang.INV-007— (dicabut Juli 2026) Emergency Supplies dihapus dari desain. Nomor tidak digunakan ulang.- INV-008 — setiap hasil buruan adalah Individual Record dengan data unik dan multi-purpose.
- INV-009 — (direvisi Juli 2026) Kapasitas Backpack adalah batas atas. Ia menjadi momen keputusan bila tercapai lebih dulu, tetapi ekspedisi juga sah berakhir karena tujuan pemain sudah tercapai.
- INV-010 — pemain dapat membuang hasil buruan bernilai rendah untuk memberi ruang bagi hasil yang lebih bernilai.
INV-011— (dicabut Juli 2026) Emergency Supplies dihapus dari desain. Nomor tidak digunakan ulang.- INV-012 — Senjata dan ammo bawaan Varian bersifat session-bound dan tidak pernah boleh masuk Permanent Storage. Consumable dikecualikan — ia sudah milik pemain sebelum dibawa, jadi sisanya kembali ke Storage.
- INV-013 — (baru v2.0.0) Ekstraksi hanya dapat dilakukan di Village, dan hanya memindahkan Animal Record.
- INV-014 — (baru v2.0.0) Harus selalu tersedia satu Varian bertarif 0 Coin yang tidak pernah terkunci, agar pemain tanpa Coin tidak pernah terkunci dari permainan.
Design Philosophy
Inventory dibuat sederhana agar pemain dapat memahami sistem tanpa tutorial panjang. Keputusan besar dipusatkan di satu titik per sesi — memilih Varian di layar Loadout — bukan disebar menjadi puluhan keputusan kecil sepanjang sesi (beli senjata, beli ammo, upgrade tas, restock di Village). Setelah masuk Map, fokus pemain sepenuhnya pada berburu dan memutuskan kapan pulang.
Model sewa menjaga setiap sesi tetap punya taruhan: tidak ada titik "semua sudah dibeli, selesai", dan Coin tetap relevan sepanjang permainan. Progression bergeser dari menumpuk peralatan menjadi akses dan koleksi — selaras dengan prinsip "Horizontal over Vertical" (CDR-004) yang sudah dikunci.
Revision Note (v1.7.0 → v2.0.0)
Elemen berikut dicabut permanen dari desain:
- Kepemilikan senjata permanen dan pembelian senjata per-unit.
- Pembelian ammo dan Utility secara terpisah.
- Seluruh transaksi di dalam Map (jual hasil buruan, restock, sewa darurat di Village).
- Upgrade/sewa Backpack di tengah sesi.
- Pemilihan bebas kombinasi senjata di Lobby (maksimal 2 senjata tambahan) — digantikan paket Varian.
- Penyimpanan isi Backpack sebagai data permanen.
Dampak ke dokumen lain (GDD-004 Equipment, GDD-006 Economy, DN-006 Merchant Flow, MDD-002/003/005, TDD-002/003) dikerjakan sebagai tahap sinkronisasi terpisah.
Dependencies
- GDD-000 — Document Information.
- GDD-002 — Gameplay Loop (Stamina Depletion, Exhausted State).
- GDD-004 — Equipment System.
- GDD-005 — Animal System.
- GDD-006 — Economy System.
- GDD-008 — World System (Village sebagai Extraction Point).
- GDD-009 — Player Progression System.
- GDD-014 — Lobby System.
- MDD-001 — Animal List.
- MDD-003 — Item & Skin Data.
- DN-002 — Player Movement Speed.
- DN-006 — Merchant & Economy Flow.
- CDR-004 — Progression Philosophy.
- CDR-007 — Technical Philosophy (Server Authority).