Pertemuan 1

Introduction to Game Engines & The Power of Ren'Py

Di pertemuan pertama ini, kita akan memahami apa itu game engine, mengapa Ren'Py menjadi pilihan tepat untuk membuat visual novel, dan langsung membuat proyek pertama kamu.

150 menit
Teori + Praktik
UNU Cirebon — S1 Teknik Informatika

Informasi Mata Kuliah

KeteranganDetail
Nama Mata KuliahPemrograman Multimedia
Program StudiS1 Teknik Informatika
InstitusiUniversitas Nahdlatul Ulama Cirebon (Filkom)
Dosen PengampuDr. Indra Surya Permana, MM., M.Kom.
SKS3 SKS
Topik UtamaPengembangan Visual Novel dengan Ren'Py + AI

Apa yang Akan Kamu Capai?

CPL-05

Menguasai konsep teoritis untuk mendesain aplikasi teknologi multi-platform.

CPMK-1: Analisis Ekosistem Game Engine

Mampu menganalisis ekosistem Game Engine dan menentukan platform yang tepat untuk sebuah proyek.

Sub-CPMK Pertemuan 1

Mahasiswa mampu membedakan karakteristik berbagai game engine dan memahami urgensi penggunaan Ren'Py dalam pengembangan aplikasi multimedia naratif.

Apa itu Game Engine?

Bayangkan kamu ingin membangun rumah. Kamu bisa saja membuat bata sendiri dari tanah liat, mencampur semen dari batu kapur, dan menebang pohon untuk kayu. Atau, kamu bisa membeli bahan bangunan yang sudah jadi dan fokus merancang rumahnya. Game Engine adalah toko bahan bangunan untuk game.

Secara teknis, Game Engine adalah perangkat lunak yang menyediakan komponen-komponen penting yang dibutuhkan untuk membuat game, sehingga developer tidak perlu membuat semuanya dari nol.

Komponen Utama Game Engine

Rendering Engine (Grafis)

Menggambar semua visual ke layar. Dari sprite 2D hingga model 3D yang kompleks.

Audio Engine

Memainkan musik latar, efek suara, dan mengelola mixing audio secara otomatis.

Input Handler

Mendeteksi klik mouse, tekan keyboard, sentuhan layar, dan input dari controller.

Save/Load System

Menyimpan dan memuat progres game secara otomatis tanpa perlu koding manual.

Cross-Platform Builder

Mengekspor game ke Windows, Android, iOS, atau Web dari satu kode yang sama.

Perbandingan Game Engine Populer

Game Engine Keunggulan Cocok Untuk Bahasa
Ren'Py Khusus visual novel, sangat mudah, save/load otomatis Visual novel, cerita interaktif Python + Ren'Py Script
Unity Serbaguna, komunitas besar, asset store kaya 2D/3D game semua genre C#
Godot Open source, ringan, GDScript mudah 2D game indie GDScript / C++
GameMaker Cepat untuk prototyping 2D Game 2D sederhana GML
Unreal Engine Grafis terbaik, AAA quality Game 3D profesional C++ / Blueprint
Mengapa Kita Pilih Ren'Py?

Karena tujuan mata kuliah ini adalah membuat cerita interaktif yang bermakna (Social Impact Visual Novel), bukan game action. Ren'Py memberikan semua fitur yang kita butuhkan dengan kurva belajar yang jauh lebih rendah dibanding Unity atau Unreal.

Mengenal Ren'Py

Ren'Py (dibaca "ren-pie") adalah game engine gratis dan open-source yang dirancang khusus untuk membuat visual novel dan permainan naratif interaktif. Nama "Ren'Py" berasal dari kata "Ren'ai" (cinta dalam bahasa Jepang, mengacu pada genre yang populer di visual novel) dan "Python" (bahasa pemrograman yang mendasarinya).

Fakta Menarik tentang Ren'Py

  • Digunakan oleh lebih dari 10.000 game yang terdaftar di itch.io dan Steam
  • Game terkenal seperti Doki Doki Literature Club dan Katawa Shoujo dibuat dengan Ren'Py
  • Sudah tersedia sistem save/load, rollback dialog, dan preferensi secara otomatis
  • Dapat di-export ke Windows, macOS, Linux, Android, iOS, dan Web
  • 100% gratis, bahkan untuk proyek komersial

Fitur Bawaan Ren'Py yang Menghemat Waktu

FiturKeteranganBayangkan kalau manual
Save/Load System Pemain bisa menyimpan dan memuat kapan saja Butuh ratusan baris kode
Dialog History Pemain bisa scroll ke dialog sebelumnya Kompleks implementasinya
Auto-Mode Dialog berjalan otomatis tanpa klik Perlu timer system sendiri
Skip Dialog Skip dialog yang sudah pernah dibaca Perlu tracking state kompleks
Rollback Pemain bisa kembali ke dialog sebelumnya Butuh undo-history system

Instalasi Ren'Py: Langkah demi Langkah

Persiapan Sebelum Mulai

Kamu butuh koneksi internet untuk download Ren'Py (~180 MB) dan komputer/laptop dengan RAM minimal 2 GB. Ren'Py bisa jalan di Windows, macOS, dan Linux.

1

Buka Website Resmi Ren'Py

Kunjungi www.renpy.org menggunakan browser kamu. Klik tombol "Download Ren'Py" yang ada di halaman utama.

2

Pilih Versi untuk Sistem Operasi Kamu

Pilih sesuai OS-mu: Windows (.exe), macOS (.zip), atau Linux (.tar.bz2). Untuk mahasiswa, biasanya pilih versi Windows.

3

Ekstrak File yang Didownload

Setelah download selesai, klik kanan pada file zip/bz2 dan pilih "Extract All" atau "Extract Here". Simpan di lokasi yang mudah ditemukan, misalnya C:\RenPy.

4

Jalankan Ren'Py Launcher

Masuk ke folder hasil ekstrak dan double-click file renpy.exe (Windows) atau renpy.app (Mac). Launcher Ren'Py akan terbuka.

5

Konfirmasi Instalasi Berhasil

Jika launcher terbuka dan kamu melihat tampilan dengan beberapa proyek contoh (seperti "The Question"), berarti instalasi BERHASIL.

Tips jika Gagal Install di Windows

Jika muncul pesan error "missing DLL", kamu perlu menginstall Microsoft Visual C++ Redistributable. Download dari website Microsoft (gratis), install, lalu coba jalankan Ren'Py lagi.

Membuat Proyek Pertama

Sekarang kita akan membuat proyek baru dari nol menggunakan Ren'Py Launcher.

1

Buka Ren'Py Launcher

Jalankan renpy.exe seperti saat instalasi. Kamu akan melihat tampilan launcher utama.

2

Klik "Create New Project"

Di panel sebelah kiri launcher, klik tombol berwarna biru bertuliskan "Create New Project".

3

Isi Nama Proyek

Ketik nama proyekmu. Contoh: VisualNovelPertama. Hindari spasi, gunakan underscore atau huruf kapital. Klik "Continue".

4

Pilih Resolusi

Pilih resolusi 1280x720 (HD 16:9). Ini adalah ukuran standar yang paling kompatibel untuk semua platform. Klik "Continue".

5

Pilih Warna Tema GUI

Pilih warna dasar untuk tampilan GUI game kamu. Ini bisa diubah nanti. Klik "Continue" lalu tunggu proses selesai.

6

Klik "Launch Project"

Setelah proyek dibuat, klik tombol "Launch Project" untuk menjalankan game contoh bawaan. Kamu akan melihat game sederhana dengan satu dialog.

Memahami Struktur File Proyek

Setiap proyek Ren'Py memiliki folder dan file standar. Penting untuk kamu pahami agar tidak bingung saat bekerja.

Struktur Folder Proyek Ren'Py
NamaProyek/
├── game/                    <-- FOLDER UTAMA (semua file kerja ada di sini)
│   ├── script.rpy           <-- File utama cerita kamu
│   ├── options.rpy          <-- Pengaturan game (judul, resolusi, dll)
│   ├── gui.rpy              <-- Pengaturan tampilan GUI
│   ├── screens.rpy          <-- Definisi layar-layar game
│   ├── images/              <-- Folder untuk semua gambar (karakter, BG)
│   │   ├── bg/              <-- Background scenes
│   │   └── characters/      <-- Sprite karakter
│   ├── audio/               <-- Folder untuk musik dan SFX
│   │   ├── music/           <-- File musik (.mp3, .ogg)
│   │   └── sfx/             <-- Efek suara
│   └── fonts/               <-- Font kustom (opsional)
├── renpy/                   <-- Folder engine (JANGAN DIUBAH)
└── NamaProyek.exe           <-- File untuk menjalankan game
Aturan Penting Penamaan File Gambar

Nama file gambar di Ren'Py sangat penting. Gunakan huruf kecil semua, tidak ada spasi (ganti dengan underscore), dan nama yang deskriptif. Contoh: bg_kampus_pagi.png, nabilah_senang.png. Ini memengaruhi cara Ren'Py mengenali gambar secara otomatis.

File script.rpy: Jantung Game Kamu

File script.rpy adalah tempat kamu menulis semua dialog, narasi, dan logika cerita. Ini adalah file yang paling sering kamu buka dan edit.

Hello World di Ren'Py

Mari kita tulis kode Ren'Py pertama kamu. Buka file script.rpy dengan teks editor (Notepad, VS Code, atau editor bawaan Ren'Py).

Kode Minimal: Satu Dialog

game/script.rpy
label start:
    "Halo! Selamat datang di game pertamaku."
    "Ini adalah dialog narator. Tidak ada nama yang tampil."
    return
Penjelasan Kode

label start: adalah titik awal game. Ren'Py selalu mulai dari label bernama "start". return menandakan akhir game.

Menambahkan Karakter

game/script.rpy
# Mendefinisikan karakter
define n = Character("Nabilah", color="#c8ffc8")
define a = Character("Ahmad", color="#ffc8c8")

label start:
    n "Hei! Nama saya Nabilah. Senang bertemu kamu!"
    a "Hai Nabilah, saya Ahmad. Saya mahasiswa Informatika UNU."
    n "Wah, kebetulan! Saya juga dari Informatika."
    return
Warna Karakter

Kode warna seperti #c8ffc8 (hijau muda) akan mewarnai nama karakter di textbox dialog. Pilih warna yang berbeda untuk setiap karakter agar pembaca mudah membedakannya.

Menambahkan Menu Pilihan Sederhana

game/script.rpy — Contoh Branching
define n = Character("Nabilah", color="#c8ffc8")

label start:
    n "Hai! Kamu suka belajar pemrograman?"

    menu:
        "Ya, saya sangat suka!":
            jump ending_semangat
        "Lumayan, tapi susah juga...":
            jump ending_biasa

label ending_semangat:
    n "Bagus! Dengan semangat itu, kamu pasti bisa membuat game keren!"
    return

label ending_biasa:
    n "Wajar kok susah. Yang penting tidak menyerah. Satu langkah kecil per hari!"
    return
Selamat! Kamu Baru Saja Membuat Cerita Bercabang!

Kode di atas adalah struktur dasar sebuah visual novel. Ada karakter, ada dialog, ada pilihan, dan ada ending yang berbeda. Ini adalah fondasi dari semua yang akan kamu pelajari.

Menjalankan Game

1

Simpan file script.rpy

Setelah mengetik kode, simpan dengan Ctrl + S.

2

Kembali ke Ren'Py Launcher

Buka launcher Ren'Py (atau biarkan terbuka), pastikan nama proyekmu sudah terpilih.

3

Klik "Launch Project"

Game akan terbuka. Klik-klik untuk maju dialog dan coba pilih berbagai opsi di menu.

4

Reload saat ada perubahan

Jika game sudah terbuka dan kamu mengubah kode, tekan Shift + R di dalam game untuk reload otomatis tanpa restart.

Tugas Pertemuan 1

Deadline: Sebelum Pertemuan 2

Kirimkan screenshot hasil pekerjaan kamu ke platform yang ditentukan dosen.

Tugas 1: Instalasi dan Hello World

  1. Install Ren'Py di komputer/laptop kamu mengikuti langkah-langkah di atas.
  2. Buat proyek baru dengan nama NamaMu_P1 (ganti NamaMu dengan nama kamu).
  3. Edit file script.rpy: Buat dialog minimal 5 baris dengan 2 karakter.
  4. Tambahkan satu menu pilihan dengan 2 opsi yang mengarah ke ending berbeda.
  5. Jalankan game dan ambil screenshot layar game yang berjalan.
  6. Screenshot juga folder proyek kamu untuk bukti instalasi berhasil.
Tips: Gunakan AI untuk Bantuan

Jika mengalami error, copy pesan errornya dan tanya ke ChatGPT atau Claude: "Saya mendapat error ini di Ren'Py: [paste error]. Bagaimana cara memperbaikinya?"

Kuis Pemahaman Pertemuan 1

Uji Pemahamanmu!

1. Apa fungsi dari label start: dalam Ren'Py?

Mendefinisikan karakter dengan nama "start"
Menentukan titik awal eksekusi cerita game
Mengakhiri sebuah scene
Membuat menu pilihan bernama "start"

2. Di folder mana file script .rpy sebuah proyek Ren'Py tersimpan?

Folder renpy/
Folder lib/
Folder game/
Folder assets/

3. Kata kunci apa yang digunakan untuk mendefinisikan karakter di Ren'Py?

create
character
define
new

4. Manakah fitur yang TIDAK disediakan secara otomatis oleh Ren'Py?

Sistem save dan load
Dialog history (riwayat dialog)
Grafis 3D real-time rendering
Auto-mode (dialog berjalan otomatis)
Lanjut ke P2: Interactive Narrative