Polishing, Testing & Debugging
Perbedaan antara proyek yang "selesai" dan proyek yang "siap dipresentasikan" terletak pada proses polishing. Pertemuan ini mengajarkan cara menyempurnakan game sebelum demo day.
Target Kompetensi
Mahasiswa mampu melakukan testing sistematis, debugging, playtesting terstruktur, dan polishing game untuk memastikan proyek siap dipresentasikan dengan profesional.
Apa itu Game Polishing?
Polishing adalah proses menyempurnakan semua aspek game yang sudah dibuat. Ini bukan menambah fitur baru, melainkan memperbaiki kualitas fitur yang sudah ada.
Lima Area Polishing
Bug Fixing
Menemukan dan memperbaiki semua bug (kesalahan teknis yang membuat game tidak berjalan sebagaimana mestinya).
Dialog Editing
Membaca ulang semua dialog untuk menghilangkan typo, kalimat kaku, dan inkonsistensi karakter.
Visual Consistency
Memastikan gaya visual konsisten: brightness gambar, tone warna, ukuran sprite yang seragam.
Audio Mixing
Menyesuaikan volume relatif antara BGM, SFX, dan voice agar tidak ada yang terlalu keras atau terlalu pelan.
UX Smoothing
Memastikan transisi halus, tidak ada jeda yang aneh, dan alur game terasa natural dari awal hingga akhir.
Testing Sistematis
Jenis Testing yang Perlu Dilakukan
| Jenis Testing | Yang Diuji | Cara Melakukannya |
|---|---|---|
| Path Testing | Semua jalur cerita bisa dilewati tanpa error | Main game dari awal, pilih SETIAP opsi di setiap menu |
| Regression Testing | Perbaikan baru tidak merusak yang sudah berjalan | Setelah setiap perubahan, test bagian yang terpengaruh |
| User Testing | Apakah pemain baru bisa memahami dan menikmati game | Minta teman yang belum tahu cerita untuk mencoba |
| Edge Case Testing | Kondisi ekstrem (semua stat maksimum, semua stat minimum) | Gunakan Ren'Py Console untuk set variabel ke nilai ekstrem |
# Buka console dengan Shift+O saat game berjalan
# Test ending dengan stat minimum
integritas = 0
afeksi_nabilah = 0
renpy.jump("scene_hasil")
# Test ending dengan stat maksimum
integritas = 100
afeksi_nabilah = 100
renpy.jump("scene_hasil")
# Lompat langsung ke scene tertentu untuk test
renpy.jump("ending_terbaik")
renpy.jump("scene_konflik_utama")
# Cek nilai variabel saat ini
print(integritas)
print(inventory)
Debugging Lanjutan: Membaca Error Message
Anatomi Pesan Error Ren'Py
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/script.rpy", line 45, in <module>
$ kecerdasan += nilai_bonus
NameError: name 'nilai_bonus' is not defined
-- Full Traceback --
Baris "File ...": Lokasi error (script.rpy, baris 45)
Baris kode: Kode yang menyebabkan error
Jenis Error (NameError): Kategori masalah
Deskripsi: Penjelasan spesifik ('nilai_bonus' tidak didefinisikan)
Solusi: Tambahkan default nilai_bonus = 0 sebelum label start
Review Dialog: Menghilangkan Typo dan Kekakuan
Checklist Review Dialog
- Baca semua dialog keras-keras. Jika tersendat, revisi.
- Pastikan tidak ada typo (kesalahan pengetikan).
- Cek konsistensi nama karakter (jangan ada "Nabilah" dan "Nabila" dalam satu file).
- Pastikan setiap karakter bicara dengan gaya yang konsisten.
- Hilangkan dialog yang tidak menambah cerita atau karakter.
- Pastikan semua pilihan menu memiliki konsekuensi yang terasa.
Optimasi Performa Game
Kompres Gambar
Background JPG tidak perlu di atas kualitas 80%. Gunakan tools seperti TinyPNG atau Squoosh untuk mengkompres tanpa kehilangan kualitas visual yang terlihat. Target: setiap gambar maksimal 500KB.
Konversi Audio ke OGG
Konversi semua file audio ke format .ogg. Ukurannya bisa 10x lebih kecil dari MP3 dengan kualitas yang sama. Gunakan Audacity atau online converter.
Hapus Aset yang Tidak Digunakan
Cek folder game/images/ dan game/audio/ untuk file yang tidak pernah dipanggil dalam script. Hapus untuk mengurangi ukuran game.
Panduan Playtesting dengan Teman
Apa yang Perlu Diamati saat Playtesting
Saat playtester mencoba game kamu: JANGAN menjelaskan apapun. Diam dan amati. Jika mereka bingung, catatan itu. Jika mereka tertawa, catat itu. Jika mereka berhenti dan tidak tahu harus apa, catat itu. Reaksi organik lebih berharga dari opini terstruktur.
Pertanyaan untuk Playtester Setelah Main
- Apakah cerita mudah dipahami dari awal?
- Pilihan mana yang paling berkesan? Mengapa?
- Apakah ada bagian yang membingungkan atau terasa aneh?
- Apa pesan utama yang kamu tangkap dari game ini?
- Apakah kamu ingin main lagi untuk melihat ending lain?
Checklist Final Sebelum Demo Day
Tidak ada error/crash di semua jalur cerita
Semua aset visual sudah final dan konsisten
Audio berfungsi dan tidak ada yang terlalu keras/pelan
Dialog sudah di-proofread, tidak ada typo
Minimal 2 ending yang berbeda dan bisa dicapai
Pesan social impact tersampaikan dengan jelas
Game bisa dimainkan 5-10 menit dari awal ke ending
Sudah playtesting dengan minimal 1 orang lain