Pertemuan 12

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.

150 menit
QA & Polish Session

Target Kompetensi

Sub-CPMK P12

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

1

Bug Fixing

Menemukan dan memperbaiki semua bug (kesalahan teknis yang membuat game tidak berjalan sebagaimana mestinya).

2

Dialog Editing

Membaca ulang semua dialog untuk menghilangkan typo, kalimat kaku, dan inkonsistensi karakter.

3

Visual Consistency

Memastikan gaya visual konsisten: brightness gambar, tone warna, ukuran sprite yang seragam.

4

Audio Mixing

Menyesuaikan volume relatif antara BGM, SFX, dan voice agar tidak ada yang terlalu keras atau terlalu pelan.

5

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 TestingYang DiujiCara 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
Testing dengan Ren'Py Console
# 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

Contoh Error dan Cara Membacanya
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 --
Cara Membaca Error

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

  1. Baca semua dialog keras-keras. Jika tersendat, revisi.
  2. Pastikan tidak ada typo (kesalahan pengetikan).
  3. Cek konsistensi nama karakter (jangan ada "Nabilah" dan "Nabila" dalam satu file).
  4. Pastikan setiap karakter bicara dengan gaya yang konsisten.
  5. Hilangkan dialog yang tidak menambah cerita atau karakter.
  6. Pastikan semua pilihan menu memiliki konsekuensi yang terasa.
Prompt AI untuk Proofreading Dialog
"Tolong lakukan proofreading pada dialog visual novel berikut dalam bahasa Indonesia. Cari: (1) Typo dan kesalahan ejaan, (2) Kalimat yang tidak natural, (3) Inkonsistensi karakter, (4) Dialog yang bisa dipersingkat tanpa kehilangan makna. Kemudian tulis versi yang sudah diperbaiki: [PASTE DIALOG KAMU]"

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

Peraturan 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

  1. Apakah cerita mudah dipahami dari awal?
  2. Pilihan mana yang paling berkesan? Mengapa?
  3. Apakah ada bagian yang membingungkan atau terasa aneh?
  4. Apa pesan utama yang kamu tangkap dari game ini?
  5. Apakah kamu ingin main lagi untuk melihat ending lain?

Checklist Final Sebelum Demo Day

Wajib Selesai Sebelum P13

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

Kembali ke P11 Lanjut ke P13: Build & Publishing