World Building: Background Design & AI Asset Processing
Menciptakan atmosfer game melalui aset visual. Pertemuan ini membekali kamu dengan kemampuan memproduksi background dan sprite karakter berkualitas tinggi menggunakan AI, lalu mengintegrasikannya ke Ren'Py.
Target Kompetensi
Mahasiswa mampu men-generate latar belakang (background) menggunakan AI, melakukan finishing aset menggunakan Canva agar siap digunakan di Ren'Py, serta memahami sistem tag dan atribut gambar Ren'Py.
World Building: Membangun Dunia Visual Game
Background bukan sekadar "wallpaper" — background adalah bahasa visual yang menyampaikan suasana, waktu, dan konteks tanpa satu kata pun dialog.
Fungsi Background dalam Visual Novel
Menunjukkan Lokasi
Background langsung memberi tahu pemain: "Kita sedang di kantin kampus" atau "Ini kamar tidur Ahmad."
Menunjukkan Waktu
Warna langit memberi info waktu: oranye = sore, gelap = malam, cerah = pagi. Ini menciptakan irama waktu dalam cerita.
Membangun Emosi
Ruangan yang gelap dan sempit menciptakan kecemasan. Taman yang cerah menciptakan kebahagiaan. Visual berbicara sebelum kata-kata.
Berapa Background yang Dibutuhkan?
| Skala Proyek | Jumlah Background | Catatan |
|---|---|---|
| Tugas Perkuliahan (3-5 menit) | 3-5 background | Minimal 1 interior, 1 eksterior |
| Demo/Prototipe (10-15 menit) | 5-10 background | Variasi waktu (pagi/sore/malam) |
| Game Lengkap | 20-50+ background | Termasuk variasi cuaca dan waktu |
Pilihan AI untuk Generate Gambar
Ada beberapa pilihan AI yang bisa kamu gunakan. Masing-masing punya kelebihan dan cara penggunaan yang berbeda.
Google Gemini (Rekomendasi Utama)
Gratis dengan akun Google. Bisa generate gambar langsung dari chat. Buka gemini.google.com, pilih model terbaru. Bagus untuk background dan karakter anime-style.
Genspark.ai — Nano Banana 2
Model AI generasi gambar canggih yang tersedia di Genspark. Buka genspark.ai, pilih "Nano Banana 2" atau "Nano Banana Pro". Kualitas tinggi, konsisten untuk karakter, gratis untuk penggunaan dasar.
ChatGPT / DALL-E
Jika punya akses ChatGPT Plus, gunakan DALL-E untuk generate gambar. Bagus untuk style yang lebih realistis atau ilustratif.
Adobe Firefly (Alternatif)
Tersedia gratis (terbatas) di firefly.adobe.com. Sangat bagus untuk background bertekstur dan pemandangan.
Gunakan Gemini untuk iterasi cepat dan eksplorasi ide. Kemudian gunakan Nano Banana 2 untuk render final berkualitas tinggi. Finishing semua gambar di Canva sebelum dimasukkan ke Ren'Py.
Membuat Prompt Background yang Efektif
Prompt yang baik = gambar yang baik. Berikut adalah template dan contoh prompt untuk berbagai jenis background.
Formula Prompt Background
[JENIS LOKASI], [WAKTU], [GAYA SENI], [SUASANA/MOOD],
[DETAIL SPESIFIK], [ELEMEN YANG ADA],
suitable for visual novel background, 1280x720,
high quality, no characters, no text
Contoh Prompt Background Siap Pakai
Tips Mendapatkan Hasil Terbaik
- Selalu tambahkan "no characters, no people, no text" agar background bersih
- Tambahkan "visual novel background" agar AI tahu konteksnya
- Spesifikasikan waktu (morning, afternoon, evening, night) untuk variasi mood
- Minta format 1280x720 agar sesuai resolusi game
- Gunakan kata "anime art style" untuk konsistensi visual dengan sprite karakter
Membuat Sprite Karakter yang Konsisten
Tantangan terbesar dalam produksi aset karakter dengan AI adalah konsistensi. Karakter harus terlihat sama di setiap ekspresinya.
Kunci Konsistensi Karakter AI
Deskripsi yang Identik
Pakai kalimat deskripsi fisik yang SAMA PERSIS di setiap prompt. Simpan deskripsi ini di notepad untuk copy-paste.
Gunakan Referensi Gambar
Setelah mendapat satu gambar yang bagus, upload gambar itu sebagai referensi di prompt berikutnya. Gemini dan Nano Banana 2 mendukung ini.
Spesifikasikan Pakaian dan Warna
Selalu sebutkan warna pakaian yang sama. "Green university jacket" di setiap prompt untuk karakter yang sama.
Template Prompt Sprite Karakter Lengkap
Setiap karakter utama perlu minimal: (1) Normal/biasa, (2) Senang, (3) Sedih/khawatir. Karakter protagonis sebaiknya punya tambahan: (4) Marah/serius, (5) Kaget/terkejut.
Finishing Aset dengan Canva
AI menghasilkan gambar mentah. Canva adalah tempat kamu "membersihkan" dan menyiapkan gambar agar siap masuk Ren'Py.
Langkah Finishing di Canva
Upload gambar ke Canva
Buka canva.com, buat desain baru dengan ukuran 1280 x 720 px untuk background, atau 600 x 900 px untuk sprite karakter.
Crop dan Resize
Tempatkan gambar AI di kanvas dan sesuaikan ukurannya. Untuk background, pastikan gambar memenuhi seluruh kanvas 1280x720 tanpa area kosong.
Hapus Background Karakter (jika perlu)
Jika sprite karakter masih punya background, gunakan fitur "Remove Background" di Canva (tersedia di versi gratis dan Pro). Ini akan membuat PNG transparan.
Sesuaikan Warna dan Kontras
Gunakan filter "Brightness" dan "Contrast" di Canva untuk menyamakan tone warna antar aset. Semua aset harus terlihat berasal dari "dunia yang sama".
Download dengan Format yang Benar
Background: Download sebagai JPG (kualitas 80-90%). Sprite karakter: Download sebagai PNG (dengan background transparan aktif).
Memasukkan Aset ke Ren'Py
Penamaan File yang Benar
Gunakan: huruf kecil semua, underscore sebagai pemisah, deskriptif. Hindari: spasi, huruf kapital, karakter khusus. Contoh BENAR: bg_kampus_pagi.jpg. Contoh SALAH: Background Kampus 1.jpg
Sistem Tag dan Atribut Ren'Py
Ini adalah fitur paling "cerdas" di Ren'Py. Dengan sistem penamaan yang tepat, Ren'Py akan otomatis mengelola sprite karakter.
game/images/
├── bg_kampus_pagi.jpg ← background biasa
├── bg_kampus_sore.jpg
├── bg_kamar_malam.jpg
├── nabilah normal.png ← sprite: tag="nabilah" atribut="normal"
├── nabilah senang.png ← sprite: tag="nabilah" atribut="senang"
├── nabilah sedih.png ← sprite: tag="nabilah" atribut="sedih"
├── nabilah marah.png ← sprite: tag="nabilah" atribut="marah"
├── ahmad normal.png ← sprite: tag="ahmad" atribut="normal"
└── ahmad senang.png ← sprite: tag="ahmad" atribut="senang"
CATATAN: Nama file karakter pakai SPASI antara tag dan atribut!
Nama background pakai underscore (tidak ada tag-atribut).
Perintah scene, show, dan hide
label scene_kantin:
# Tampilkan background
scene bg_kampus_pagi # Ganti background
# Tampilkan karakter di posisi tertentu
show nabilah normal at left # Nabilah di kiri, ekspresi normal
show ahmad normal at right # Ahmad di kanan, ekspresi normal
n "Hei Ahmad! Sudah makan siang?"
# Ganti ekspresi karakter
show ahmad senang # Ganti ekspresi Ahmad (posisi tetap)
a "Belum! Mau makan bareng?"
# Sembunyikan karakter saat pergi
hide ahmad # Ahmad pergi dari scene
# Ganti scene sepenuhnya
scene bg_kamar_malam # Background langsung ganti
n "(Malam hari. Di kamar kost.)"
Posisi Karakter yang Tersedia
| Posisi | Kode | Keterangan |
|---|---|---|
| Kiri | at left | Sepertiga kiri layar |
| Tengah Kiri | at offscreenleft | Hampir di tepi kiri |
| Tengah | at center | Tepat di tengah layar |
| Kanan | at right | Sepertiga kanan layar |
| Depan | at truecenter | Benar-benar di pusat |
Transisi Gambar
# Tanpa transisi (langsung ganti)
scene bg_kampus_pagi
# Dengan transisi dissolve (paling umum, halus)
scene bg_kamar_malam with dissolve
# Fade ke hitam lalu muncul
scene bg_taman_sore with fade
# Geser dari kiri
scene bg_kampus_sore with blinds
# Tampilkan karakter dengan transisi
show nabilah senang with dissolve
Tugas Pertemuan 5: Produksi Aset
Kumpulkan sebagai folder zip berisi semua file gambar + screenshot game yang menampilkan aset tersebut.
Tugas 5: Produksi Aset Visual
- Generate minimal 3 background berbeda menggunakan AI (Gemini atau Nano Banana 2).
- Generate minimal 2 karakter dengan masing-masing 2 ekspresi (total minimal 4 sprite).
- Finishing semua gambar di Canva (resize, remove background untuk sprite).
- Masukkan semua aset ke folder
game/images/proyek Ren'Py kamu. - Tulis minimal 10 baris dialog yang menggunakan
scene,show, danhidedengan transisidissolve. - Screenshot game yang menampilkan karakter di atas background.
Kuis Pemahaman Pertemuan 5
Uji Pemahamanmu!
1. Bagaimana cara penamaan file sprite karakter yang BENAR agar Ren'Py bisa mengenali tag dan atributnya?
2. Apa perbedaan antara perintah scene dan show?
3. Apa efek dari transisi dissolve dalam Ren'Py?