Tambahkan kepribadian dan latar belakang pada karakter Anda dengan sistem dialog yang menarik.

Dalam pengembangan game, gameplay yang menarik dan penyampaian cerita yang menawan adalah kunci untuk menciptakan pengalaman yang mengesankan. Salah satu alat ampuh yang dapat membantu Anda mencapai hal ini adalah sistem dialog.

Dengan sistem dialog yang diterapkan dengan baik, karakter dapat berkomunikasi, berbagi informasi, dan berinteraksi dengan pemain, menambah kedalaman dan imersi pada permainan Anda.

Menyiapkan Game Godot Anda

Mulailah dengan menciptakan fondasi permainan Anda. Untuk contoh ini, siapkan lingkungan 2D sederhana dengan karakter yang dapat dikontrol dan dapat dipindahkan menggunakan tombol panah.

Kode yang digunakan dalam artikel ini tersedia di sini Repositori GitHub dan gratis untuk Anda gunakan di bawah lisensi MIT.

Mulailah dengan membuat adegan baru untuk karakter pemain Anda. Di dalam adegan ini, tambahkan komponen yang diperlukan. Membuat KarakterTubuh2D node untuk mewakili tubuh karakter pemain. Lampirkan a

instagram viewer
Bentuk Tabrakan2D dengan bentuk persegi panjang untuk menentukan area tumbukan pemain.

Sekarang, menambahkan gerakan karakter dan interaksi dengan platform menggunakan GDScript. Ganti skrip default node CharacterBody2D dengan kode berikut:

extends CharacterBody2D

var speed = 300

func _physics_process(delta):
var input_dir = Vector2.ZERO

if Input.is_action_pressed("ui_left"):
input_dir.x -= 1

if Input.is_action_pressed("ui_right"):
input_dir.x += 1

if Input.is_action_pressed("ui_up"):
input_dir.y -= 1

if Input.is_action_pressed("ui_down"):
input_dir.y += 1

velocity = input_dir.normalized() * speed
move_and_collide(velocity * delta)

Skrip ini memungkinkan karakter Anda bergerak ke kiri, kanan, atas, dan bawah berdasarkan masukan tombol panah. Itu bergerak_dan_bertabrakan fungsi memastikan bahwa karakter berinteraksi dengan platform dan merespons tabrakan.

Menambahkan Kotak Dialog

Sekarang, Anda dapat mulai membuat sistem dialog. Langkah pertama adalah menambahkan kotak dialog yang akan menampilkan teks ketika karakter Anda berinteraksi dengan objek atau NPC tertentu.

Di dalam kamu KarakterTubuh2D skrip, perkenalkan beberapa variabel lagi untuk menangani kotak dialog dan isinya:

var dialogue_box: Label
var close_button: Button
var dialogue_lines: Array = ["Hello, adventurer!", "Welcome to our village."]

var current_line: int = 0
var line_timer: float = 0

Itu kotak_dialog akan bertanggung jawab untuk menampilkan teks dialog, sedangkan tutup_tombol akan memungkinkan pemain untuk menutup kotak dialog bila diperlukan.

Dalam _siap berfungsi, membuat dan menginisialisasi kotak dialog:

func _ready():
dialogue_box = Label.new()
dialogue_box.visible = false
add_child(dialogue_box)

Menampilkan Teks Dialog

Sekarang Anda dapat fokus menampilkan teks di dalam kotak dialog. Anda dapat membuat teks membentang lebih dari satu baris dan menggulirnya, menampilkan satu baris teks dalam satu waktu.

Ubah milik Anda _fisika_proses berfungsi untuk menangani tampilan baris dialog:

if line_timer > 0:
line_timer -= delta
elif current_line < dialogue_lines.size():
show_next_dialogue_line()

Segmen kode ini memeriksa apakah line_timer lebih besar dari 0. Jika ya, maka timer akan berkurang sebesar nilai delta. Jika pengatur waktu tidak aktif, dan ada lebih banyak baris dialog untuk ditampilkan, maka akan dipanggil tampilkan_next_dialogue_line fungsi.

Menerapkan tampilkan_next_dialogue_line berfungsi sebagai berikut:

func show_next_dialogue_line():
dialogue_box.text = dialogue_lines[current_line]
current_line += 1

# Display each line for 3 seconds
line_timer = 3.0

Fungsi ini memperbarui teks dalam kotak dialog dengan baris dialog saat ini dan menambah garis_saat ini indeks. Itu line_timer memastikan bahwa setiap baris ditampilkan dalam waktu singkat sebelum melanjutkan ke baris berikutnya.

Menambahkan Tombol Tutup

Sekarang, Anda dapat memberi pemain kemampuan untuk menutup kotak dialog dan melanjutkan permainan. Lakukan ini dengan tombol tutup yang, ketika ditekan, akan menyembunyikan kotak dialog dan memungkinkan pemain melanjutkan perjalanannya.

Pertama, modifikasi _siap berfungsi untuk membuat tombol tutup dan melampirkan fungsinya.

func _ready():
dialogue_box = Label.new()
dialogue_box.visible = false
add_child(dialogue_box)

close_button = Button.new()
close_button.text = "Close"
close_button.position = Vector2(50, 30)
close_button.visible = false
close_button.pressed.connect(_on_close_button_pressed)
add_child(close_button)

Kode ini membuat sebuah instance dari Tombol kelas dan menyesuaikan penampilan dan posisinya. Ini juga menghubungkan ditekan sinyal ke _on_close_button_pressed fungsi.

Sekarang terapkan _on_close_button_pressed fungsi. Dalam fungsi ini, atur visibilitas kotak dialog dan tombol tutup menjadi PALSU. Ini secara efektif menyembunyikan antarmuka dialog dari pemain.

Ingatlah untuk mengatur ulang garis_saat ini indeks ke 0 untuk memastikan bahwa dialog dimulai dari awal saat pemain memulai percakapan lagi:

func _on_close_button_pressed():
dialogue_box.visible = false
close_button.visible = false
current_line = 0

Dengan perubahan ini, pemain akan dapat terlibat dalam dialog dan menutup kotak dialog ketika mereka siap untuk terus menjelajah atau berinteraksi dengan dunia game.

Praktik Terbaik untuk Sistem Dialog Anda

Saat Anda terus mengembangkan dan menyempurnakan sistem dialog Anda, ingatlah praktik terbaik berikut akan membantu memastikan bahwa sistem Anda meningkatkan pengisahan cerita dan keterlibatan pemain secara maksimal cakupan.

Konsistensi Adalah Kuncinya

Pertahankan nada, gaya penulisan, dan kosa kata yang konsisten di seluruh sistem dialog Anda. Konsistensi membantu pemain terhubung dengan karakter dan dunia game, menciptakan pengalaman yang mulus dan mendalam.

Suara Karakter Kerajinan

Setiap karakter harus memiliki suara dan kepribadian berbeda yang tercermin dalam dialognya. Pertimbangkan latar belakang, motivasi, dan emosi mereka saat menulis dialog mereka.

Diferensiasi ini menambah kedalaman karakter Anda dan membuat interaksi lebih berkesan. Anda bisa dengan mudah menambahkan suara yang berbeda untuk karakter yang berbeda di Godot.

Pilihan yang Bermakna

Rancang pilihan dialog yang memiliki konsekuensi bermakna. Pilihan yang memengaruhi narasi game, hubungan, atau bahkan mekanisme gameplay mendorong pemain untuk terlibat dengan sistem dialog dan berinvestasi secara emosional dalam keputusan mereka.

Pengujian dan Iterasi

Uji urutan dialog Anda secara menyeluruh untuk menemukan kesalahan ketik, kesalahan tata bahasa, atau masalah tempo. Terlibat dalam pengujian permainan untuk mengumpulkan masukan dari pemain dan melakukan penyesuaian yang diperlukan untuk memastikan bahwa sistem dialog mengalir dengan lancar dan meningkatkan pengalaman bermain game secara keseluruhan.

Konsistensi UI

Pastikan desain dan presentasi sistem dialog sesuai dengan keseluruhan desain antarmuka pengguna (UI) game Anda. Elemen UI, font, dan warna yang konsisten menciptakan pengalaman visual kohesif yang berkontribusi pada pengalaman bermain game.

Dengan mengikuti praktik terbaik ini, Anda dapat merancang sistem dialog yang tidak hanya meningkatkan narasi game Anda tetapi juga menciptakan pengalaman yang mengesankan dan mendalam bagi para pemain.

Tingkatkan Permainan Godot Anda Dengan Sistem Dialog

Memasukkan sistem dialog ke dalam game Godot Anda dapat meningkatkan keterlibatan pemain dan merevolusi cara bercerita Anda. Dengan memungkinkan karakter berkomunikasi, mengekspresikan emosi, dan bereaksi terhadap keputusan pemain, Anda menciptakan dunia game yang lebih mendalam dan interaktif.

Dengan lingkungan Godot yang ramah pengguna dan kekuatan GDScript, Anda memiliki alat untuk membuat kerajinan sistem dialog menarik yang menarik pemain ke dalam narasi Anda dan meningkatkan permainan mereka secara keseluruhan pengalaman.