Pertemuan 9

GUI Kustomisasi & Desain Antarmuka Game

Mengubah tampilan default Ren'Py menjadi antarmuka yang sesuai dengan tema dan identitas visual novel kamu. GUI yang baik memperkuat brand visual game.

150 menit
UI/UX Design Workshop

Target Kompetensi

CPL-09 & Sub-CPMK P9

Mahasiswa mampu merancang antarmuka pengguna interaktif dengan mengkustomisasi GUI Ren'Py menggunakan gui.rpy dan screen language, mempertimbangkan aspek estetika dan konsistensi visual.

Anatomi GUI Visual Novel

GUI (Graphical User Interface) Ren'Py terdiri dari beberapa elemen utama yang perlu dipahami sebelum dikustomisasi.

Elemen GUIFungsiFile Konfigurasi
Textbox (Dialog Box)Area tampilan dialog dan nama karaktergui.rpy, screens.rpy
Main MenuLayar awal (New Game, Continue, dll)screens.rpy
Save/Load ScreenManajemen file simpanscreens.rpy
Preferences ScreenPengaturan volume, teks, dllscreens.rpy
Quick MenuTombol cepat di bagian bawah layarscreens.rpy
Choice ScreenTampilan pilihan menuscreens.rpy

File gui.rpy: Pusat Konfigurasi Tampilan

File gui.rpy adalah tempat Ren'Py menyimpan semua pengaturan visual. Kamu bisa mengubah hampir semua aspek tampilan hanya dengan mengedit file ini.

Contoh Pengaturan di gui.rpy
## Pengaturan utama tampilan

## Warna aksen (warna dominan tema GUI)
define gui.accent_color = '#0055a5'     # Biru universitas

## Warna latar utama
define gui.idle_color = '#888888'
define gui.hover_color = '#ffffff'

## Warna teks dialog
define gui.text_color = '#ffffff'

## Ukuran font
define gui.text_size = 24              # Ukuran teks dialog
define gui.name_text_size = 30         # Ukuran nama karakter
define gui.interface_text_size = 30   # Ukuran teks menu

## Font
define gui.text_font = "fonts/NotoSansID.ttf"  # Font custom (file harus ada)

## Transparansi textbox (0.0 = transparan, 1.0 = solid)
define gui.textbox_height = 185
define gui.textbox_yalign = 1.0        # 1.0 = bawah layar, 0.0 = atas

## Ukuran tombol menu
define gui.button_width = 490
define gui.button_height = 45

Warna dan Font: Identitas Visual Gamemuv

Tips Memilih Palet Warna

Pilih 3 Warna Utama

Primary (dominan), Secondary (pendukung), Accent (highlight). Contoh untuk tema sosial: biru tua (kepercayaan), putih (kejujuran), kuning (harapan).

Pastikan Kontras yang Cukup

Teks harus mudah dibaca di atas background. Gunakan tool cek kontras seperti coolors.co atau WebAIM Contrast Checker.

Menggunakan Font Kustom

Menginstall Font Kustom
# 1. Unduh font dari Google Fonts (fonts.google.com)
#    Contoh: "Noto Sans ID" untuk bahasa Indonesia yang baik

# 2. Simpan file .ttf di game/fonts/
#    Contoh: game/fonts/NotoSansID-Regular.ttf

# 3. Daftarkan di gui.rpy
define gui.text_font = "fonts/NotoSansID-Regular.ttf"
define gui.name_text_font = "fonts/NotoSansID-Bold.ttf"

# 4. Atau gunakan langsung dalam Character
define n = Character("Nabilah", 
    color="#c8ffc8",
    who_font="fonts/NotoSansID-Bold.ttf")
Font Rekomendasi untuk Bahasa Indonesia

Gunakan Noto Sans Indonesian dari Google Fonts. Font ini mendukung semua karakter bahasa Indonesia termasuk huruf seperti é, ê, dan sebagainya, dengan desain yang bersih dan mudah dibaca.

Kustomisasi Textbox dengan Gambar Custom

Kamu bisa mengganti textbox default Ren'Py dengan gambar custom yang dirancang di Canva atau dibuat dengan AI.

Textbox dengan Gambar Custom
# Di gui.rpy:
# Ganti textbox dengan gambar PNG custom
# Buat file: game/gui/textbox.png (ukuran 1280x185)

# Di screens.rpy, modifikasi sayscreen:
screen say(who, what):
    style_prefix "say"

    window:
        id "window"
        
        # Ganti background textbox
        background Frame("gui/textbox.png", 20, 20)
        
        if who is not None:
            window:
                id "namebox"
                style "namebox"
                text who id "who"

        text what id "what"
Cara Buat Textbox di Canva
Buka Canva, buat desain 1280x185 px. Tambahkan rectangle berwarna semi-transparan. Beri tepi/border yang sesuai tema. Tambahkan elemen dekoratif kecil di sudut. Download sebagai PNG dengan background transparan. Simpan sebagai game/gui/textbox.png.

Dasar Screen Language Ren'Py

Screen language adalah bahasa deklaratif Ren'Py untuk membuat UI. Mudah dipelajari dan sangat powerful.

Elemen-elemen Screen Language
# Screen custom: tampilkan statistik pemain
screen tampilkan_stats():
    frame:
        xalign 0.02
        yalign 0.02
        padding (20, 20)
        background "#00000099"
        
        vbox:
            spacing 8
            
            text "Status Karakter":
                size 18
                bold True
                color "#ffdd00"
            
            hbox:
                text "Afeksi Nabilah: ":
                    size 16
                text "[afeksi_nabilah]":
                    size 16
                    color "#c8ffc8"
            
            hbox:
                text "Integritas: ":
                    size 16
                text "[integritas]":
                    size 16
                    color "#88ddff"

# Memanggil screen dari cerita:
label scene_kampus:
    show screen tampilkan_stats    # Tampilkan stats di sudut layar
    n "Hari yang sibuk di kampus."
    hide screen tampilkan_stats    # Sembunyikan stats

Menggunakan AI untuk Elemen GUI

Prompt untuk Membuat Elemen GUI dengan AI
"Create a visual novel GUI element: a transparent dialog text box / namebox. Style: [TEMA VISUAL KAMU]. Colors: [WARNA UTAMA]. The design should be elegant and not obstruct the game's visual. Size: 1280x185 pixels for dialog box. PNG with transparent background. Decorative but minimal."
Cara Mudah: Template Canva

Search "visual novel UI" atau "dialogue box game" di Canva untuk mendapatkan template yang bisa langsung dikustomisasi. Ini jauh lebih cepat daripada membuat dari nol.

Tugas Pertemuan 9

Deadline: Sebelum Pertemuan 10

Kustomisasi GUI Proyekmu

  1. Ubah warna aksen dan skema warna di gui.rpy sesuai tema visual novel kamu.
  2. Ganti font ke font yang lebih sesuai (download dari Google Fonts).
  3. Buat atau sesuaikan gambar background main menu menggunakan AI/Canva.
  4. Buat screen sederhana untuk menampilkan salah satu statistik karakter.
  5. Screenshot tampilan main menu dan in-game yang sudah dikustomisasi.

Kuis Pemahaman Pertemuan 9

Uji Pemahamanmu!

1. File mana yang digunakan untuk mengubah warna aksen dan ukuran font secara global di Ren'Py?

script.rpy
options.rpy
gui.rpy
style.rpy

2. Apa perbedaan vbox dan hbox dalam Screen Language?

vbox untuk gambar, hbox untuk teks
vbox menyusun elemen secara vertikal, hbox menyusun secara horizontal
Keduanya sama, hanya nama yang berbeda
vbox untuk layar penuh, hbox untuk elemen kecil
Kembali ke P8 Lanjut ke P10: Eksplorasi Mandiri