Island Farm adalah game simulasi pertanian grid-based minimalis yang dikembangkan untuk Micro Jam 061 dengan tema "Islands". Game ini dibuat menggunakan Godot 4.7 (GDScript) dengan fokus pada estetika pixel-art yang hangat dan cozy.
Anda terdampar di satu petak ubin tanah (1×1) di tengah samudra luas tanpa modal awal. Kumpulkan benih tanaman yang hanyut terbawa ombak, tanam di ubin Anda, rawat hingga matang, lalu jual hasil panen untuk mendapatkan koin. Gunakan koin tersebut untuk memperluas pulau Anda petak demi petak — tetapi hati-hati terhadap serangan burung pelikan liar yang suka mencuri hasil panen jika Anda terlalu lama membiarkannya!
Dokumen desain lengkap dapat dilihat di GDD_Castaway_Grid_Farmer_AI_Context.md.
| Tombol | Aksi |
|---|---|
W, A, S, D / Arrow Keys |
Menggerakkan Karakter |
E / Space |
Interaksi (Beli petak baru / Tanam benih / Panen tanaman) |
| Klik Mouse | Memilih Slot Benih di Inventory |
F5 |
Menyimpan Game Manual (Manual Save) |
F9 |
Memuat Game Manual (Manual Load) |
Pungut benih hanyut ➔ Tanam di petak kosong ➔ Tunggu hingga matang ➔ Panen (Dapat Gold) ➔ Beli petak baru (Harga naik 1.5x)
Note
Progres Anda aman karena game ini dilengkapi fitur Auto-Save setiap 20 detik dan penyimpanan otomatis saat jendela game ditutup.
Berdasarkan UX_IMPROVEMENTS.md, beberapa fitur baru telah diintegrasikan untuk memberikan pengalaman bermain yang lebih responsif dan ramah pengguna:
- Pemilihan Benih Aktif: Pemain kini dapat mengklik slot benih di inventory HUD untuk memilih secara manual benih mana yang ingin ditanam berikutnya (dilengkapi outline penanda aktif).
- Progress Bar Pertumbuhan: Setiap tanaman yang sedang tumbuh memiliki bar indikator tipis yang menunjukkan persentase waktu tumbuh hingga matang (bar akan otomatis hilang saat siap panen).
- Penyelamatan & Despawn Halus: Benih hanyut memiliki efek drift & proximity glow (bersinar saat didekati pemain). Jika benih tidak diambil atau menyentuh daratan, benih akan mengecil dan memudar secara halus (graceful despawn) alih-alih hilang mendadak.
- Indikator Kegagalan Finansial: Mencoba membeli ubin tanah baru tanpa koin yang cukup akan memicu efek visual kedip merah (flash) pada label koin serta toast notification kesalahan.
Setiap 18–32 detik, sistem akan memindai ubin tanah Anda untuk mencari tanaman matang yang dianggarkan. Jika ditemukan, seekor Pelikan Liar akan terbang menuju tanaman tersebut.
- Pemain memiliki waktu sekitar 3 detik untuk memanen tanaman tersebut sebelum pelikan mendarat.
- Jika pemain berhasil memanennya terlebih dahulu, pelikan akan terbang kembali dengan tangan hampa.
- Jika terlambat, tanaman tersebut akan dicuri (hilang dari ubin tanpa menghasilkan koin) ditandai dengan partikel bulu yang berhamburan dan label teks "Stolen!".
Ini adalah mekanik pacing tanpa hukuman game over demi menjaga nuansa cozy game.
Terdapat 7 shader kustom yang dibuat khusus menggunakan bahasa shader bawaan Godot untuk menghidupkan visual game (lengkapnya di SHADER_PLAN.md):
ocean_animated.gdshader: Air laut dinamis dengan gelombang berlapis, gradasi warna, dan kilauan cahaya horizontal.crop_wind_sway.gdshader: Membuat tanaman berayun lembut tertiup angin (intensitas goyangan meningkat saat tanaman matang).ghost_tile_dither.gdshader: Efek dithering transparan berpola catur dengan kedipan warna oranye-kuning untuk menandai ubin ekspansi pulau yang valid.sprite_outline.gdshader: Memberikan garis tepi opsional pada elemen penting di layar.selection_glow.gdshader&lens_flare_ghost.gdshader: Untuk menyoroti ubin dan memberikan nuansa pencahayaan tropis yang estetik.
Sistem VFX modular yang ringan berbasis Script + Tween tanpa membebani performa game (lengkapnya di VFX_PLAN.md):
- Pop-In Tanaman: Efek elastic-bounce saat pertama kali benih ditanam.
- Tumbuh Flash: Tanaman akan berkedip hijau terang sesaat saat berubah tahap tumbuh.
- Panen Daun & Koin: Saat panen, koin melayang bertuliskan
+N Goldakan muncul di atas ubin bersama hamburan partikel daun hijau. - Efek Riak Air (Ripple): Riak air melingkar biru-aqua saat pemain membeli ubin pulau baru.
Soundscape game dirancang agar menenangkan namun tetap memberikan umpan balik interaksi yang responsif (lengkapnya di AUDIO_PLAN.md):
- BGM: Musik instrumental tropis bertempo lambat yang diputar berulang untuk kenyamanan bermain.
- SFX:
- Suara gemerisik daun saat menanam/panen.
- Denting koin emas saat menjual hasil panen.
- Suara hempasan ombak lembut ketika pulau diperluas.
- Efek kegagalan transaksi bernada rendah.
- Pekikan burung pelikan saat datang menyerbu tanaman.
- Sistem Simpan/Muat (Save & Load): Memperbaiki kendala di mana
SaveManager.gdsebelumnya tidak pernah dipicu. Kini didukung oleh Autosave berkala, penanganan penutupan jendela game, serta tombol pintas manualF5/F9. - Eksploitasi Pembelian Ubin Ganda: Menambahkan status kunci
_expandingpadaMapManager.gdsaat animasi perluasan tanah berjalan untuk mencegah pemain membeli ubin yang sama berkali-kali melalui spam tombol interaksi.
scripts/
├── autoload/ # Kelas global: EventBus, GameState, SaveManager
├── vfx/ # Emitter VFX: BurstEmitter, FloatingLabel, LeafParticle, RippleEffect
├── MapManager.gd # Logika perluasan pulau & grid map
├── Player.gd # Kontrol pergerakan, deteksi interaksi & pemilihan benih
├── PlantedCrop.gd # Siklus tumbuh, visual progress, & efek panen
├── FloatingItem.gd # Perilaku benih terapung di laut
├── ResourceManager.gd # Pengatur kemunculan benih hanyut
├── PelicanManager.gd # Penjadwal kedatangan musuh pelikan
└── Pelican.gd # AI pergerakan, telegraph, & pencurian oleh pelikan
resources/crops/ # Kumpulan data tanaman (.tres) - Durasi tumbuh, harga jual, tekstur
scenes/ # Kumpulan scene game (.tscn) - Main, Player, Crop, Pelican, dsb.
assets/
├── audio/ # Efek suara (sfx) dan musik latar (bgm)
├── sprites/ # Seluruh sprite 2D pixel-art game
└── shaders/ # Kumpulan file shader kustom (.gdshader)
- Unduh dan buka Godot Engine 4.7+.
- Pilih Import, kemudian arahkan ke direktori yang berisi file project.godot.
- Jalankan scene utama dengan menekan tombol F5 (atau klik tombol Play di pojok kanan atas editor).
- Untuk melakukan ekspor Web (HTML5): Masuk ke menu
Project > Export, tambahkan preset Web, lalu pastikan modenya diatur ke single-threaded.
Jika waktu pengembangan proyek dilanjutkan di masa mendatang:
- Interaksi Pengusiran: Pemain dapat mengusir pelikan dengan menabraknya sebelum pelikan mendarat di tanaman.
- Sistem Cuaca: Pengaruh hujan yang mempercepat pertumbuhan atau badai yang memicu rintangan baru.
- Item Otomatisasi: Menghadirkan orang-orangan sawah (Scarecrow) atau alat panen otomatis (Auto-harvester).
- Animasi Burung Lebih Detail: Sprite pelikan multi-frame dengan animasi mengepakkan sayap.