Narasi imersif

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Seperti demo Beyond the Dark, salah satu keputusan awal kami adalah menghadirkan sebanyak mungkin gameplay dan cerita yang diceritakan secara diegetik dalam dunia itu sendiri. Ini bisa menjadi proses yang sulit ketika Anda ingin menyeimbangkan baik mengomunikasikan kemajuan kepada pemain melalui antarmuka pengguna sambil juga membuat mereka merasa seolah-olah mereka benar-benar berada dalam dunia yang telah Anda bangun. Untuk memenuhi tujuan ini dalam pengalaman kami, kami membagi cara kami mengomunikasikan informasi kepada pemain menjadi empat teknik:

  1. Isyarat visual - Objek, gambar, atau penataan aset yang secara pasif memperkuat cerita atau memberikan petunjuk kepada pemain ketika masuk akal untuk dunia tersebut.
  2. Lore - Ketika seorang pemain mengklik/menggoyangkan pada item tertentu di rumah, informasi cerita penting ditampilkan di seluruh layar. Narasi ini hanya terlihat oleh pemain yang mengklik/menggoyangkan objek tersebut. Nada selalu bersifat informasional dalam nada dan frasa.
  3. Gelembung pikiran - Ketika seorang pemain mengklik/menggoyangkan pada item tertentu di rumah, dialog teks "reaksi" ditampilkan dekat objek. Narasi ini hanya terlihat oleh pemain yang mengklik/menggoyangkan objek tersebut. Nada selalu menggunakan sudut pandang orang pertama dan observasional.
  4. Pengumuman - Ketika seorang pemain mengklik/menggoyangkan pada item yang rusak di rumah, dialog pihak ketiga ditampilkan di layar setiap pemain sekaligus. Narasi ini kadang-kadang membawa semua pemain ke keadaan ruangan yang rusak yang mereka masuki.

Dalam bagian ini, kami akan menunjukkan bagaimana kami menggunakan teknik-teknik ini dan fitur spesifik untuk membawa pemain ke dalam narasi kami sambil tetap mendorong eksplorasi, mengomunikasikan kemajuan, dan menjaga gameplay tetap intim bagi pemain individu serta adil dalam pengalaman multipemain.

Sebuah pengumuman di overlay layar dari pemikiran internal karakter.
Sebuah gelembung pikiran, atau dialog spesifik objek, yang ditampilkan saat Anda memilih objek tertentu.

Isyarat visual

Isyarat visual adalah alat penting untuk baik memperkuat narasi dan memberi tahu pemain apa yang perlu mereka ketahui tentang tujuan mereka tanpa kata-kata. Menggunakan penataan aset, seperti papan tulis, patung, dan wallpaper, kami dapat secara pasif memberikan kedalaman informasi tentang karakter utama Duvall Drive, serta panduan tentang cara menyelesaikan teka-teki tanpa harus menyertakan elemen UI yang invasif. Kami memulai proses ini dengan terlebih dahulu menentukan apa yang ingin kami komunikasikan kepada pemain, lalu bagaimana cara terbaik untuk mengomunikasikannya dalam dunia pengalaman kami. Misalnya, kami ingin pemain memahami betapa terobsesi kakek dalam misinya untuk menentang kematian, jadi kami meninggalkan kamarnya dalam keadaan berantakan dengan banyak penelitiannya dan beberapa dinding yang dipenuhi dengan pikirannya yang disuratkan.

Coretan di seluruh kamar kakek mengkomunikasikan sifat kompulsif kakek.
Berbagai patung dan foto referensi menunjukkan bagaimana putrinya adalah seorang seniman.

Aturan pertama kami adalah jika kami ingin menggunakan isyarat visual untuk mengajarkan pemain sesuatu, itu harus memiliki alasan untuk ada bahkan jika pemain tidak hadir. Jika kami meletakkan tanda besar dengan instruksi jelas tentang apa yang harus dilakukan untuk teka-teki, maka ini akan terasa tidak pada tempatnya di dalam rumah. Namun, jika kami menetapkan seorang kakek yang terobsesi menggambar di segala sesuatu, termasuk dinding kamarnya, jauh lebih dapat dipercaya untuk memiliki papan tulis dengan rencananya yang ditulis secara sembarangan untuk diikuti pemain.

Aturan kedua kami adalah bahwa kami tidak selalu perlu memberi tahu pemain apa yang harus dilakukan atau bagaimana menyelesaikan teka-teki karena mereka peka terhadap lingkungan mereka. Misalnya, terkadang sebuah saluran listrik yang jatuh di genangan air sudah cukup sebagai isyarat visual untuk mengomunikasikan bahwa pemain berada dalam bahaya tersetrum jika mereka terus bergerak ke arah itu.

Lore

Selain menggunakan isyarat visual untuk secara pasif memandu pemain, kami juga memilih untuk menampilkan informasi cerita penting tentang keluarga di seluruh layar sebagai pengantar untuk memulai teka-teki ruangan setiap kali seorang pemain mengklik atau menggoyangkan pada item tertentu di rumah. Untuk membimbing pemain ke objek yang perlu mereka pilih agar lore bisa ditampilkan, kami menggunakan efek visual sorotan baru untuk membuat objek tertentu menonjol dari lingkungan sekitarnya. Efek ini memungkinkan Anda untuk menyoroti dan/atau menutupi objek dengan warna tertentu yang sesuai dengan bentuk objek itu sendiri, dan memilih apakah objek lain dapat menyembunyikan sorotan jika mereka lebih dekat ke kamera.

Awalnya kami menggunakan Highlight untuk setiap objek yang dapat berinteraksi dengan pemain, tetapi kebisingan visualnya sangat berlebihan dan pemain tidak akan tahu dengan jelas apa yang harus diinteraksikan untuk membaca lore tersebut. Kami memutuskan untuk hanya menggunakannya untuk menyoroti item yang baik rusak atau berbahaya, dan umpan balik visual ini memungkinkan pemain untuk dengan mudah memajukan cerita.

Fakta menarik: kami awalnya memiliki lore di setiap objek yang dapat Anda klik! Ini tidak membantu karena pemain tidak yakin informasi mana yang penting dan apa yang hanya untuk bumbu. Akhirnya, kami menghapus banyak dari lore dan menggunakan isyarat visual untuk menyisakan sisa narasi untuk imajinasi pemain.

Setelah pemain mengklik objek dengan lore, kami membutuhkan cara untuk menampilkan informasi di atas layar. Kami memutuskan untuk membuat overlay dengan menggunakan ScreenGui sebagai wadah UI di layar kami dengan anak Frame untuk mengontrol ukuran dan penskalaan anak-anak TextLabels dan ImageLabels. Kami mengatur posisi dan skala dari properti TextLabels dan ImageLabels sehingga mereka cocok secara visual dan bisa diskala untuk perangkat yang berbeda yang digunakan pemain untuk mengakses pengalaman.

TextLabels dan ImageLabels mempengaruhi elemen visual dari teks dan gambar masing-masing, termasuk warna, transparansi, ukuran, dan penataan. Untuk TextLabels secara spesifik, Anda dapat menyesuaikan properti TextLabel.TextScaled dan TextLabel.RichText untuk mengontrol tata letak dan gaya visual teks. TextLabel.TextScaled memungkinkan Anda untuk menskalakan teks untuk mengisi seluruh ruang elemen UI induk, dan TextLabel.RichText memungkinkan Anda untuk menggunakan tag markup sederhana untuk gaya bagian teks menjadi tebal, miring, warna, atau bahkan font yang berbeda.

Kami tahu bahwa pemain akan mengakses pengalaman ini dari berbagai perangkat, termasuk PC, konsol, dan perangkat seluler, dan mereka harus dapat mengklik atau menggoyang layar untuk berinteraksi dengan pengalaman. Kami tidak ingin banyak tombol di layar yang mengalihkan perhatian dari narasi, jadi kami membuat tombol kembali yang tidak terlihat sebesar seluruh layar sehingga pemain dapat mengklik atau menggoyang di mana saja di overlay lore untuk menutup konten dan kembali ke gameplay.

Gelembung pikiran

Kami membutuhkan cara bagi karakter pemain untuk mengkomunikasikan ide kepada pemain, seperti memberikan rasa tambahan dalam narasi atau memperkuat apa yang perlu mereka lakukan. Solusi kami adalah menampilkan gelembung pikiran, atau reaksi teks dari karakter pemain, di dekat objek non-lore setiap kali pemain memilihnya. Narasi ini hanya ditampilkan kepada pemain yang mengklik atau menggoyangkan objek tersebut, dan nada selalu bersifat orang pertama dan observasional.

Sistem yang relatif sederhana namun kuat untuk membuat dunia bereaksi terhadap interaksi pemain!

Untuk membuat gelembung pikiran, kami mengaitkan BillboardGui dengan anak TextLabel ke objek non-lore. Ini memungkinkan kami untuk menampilkan dialog di ruang 3D dekat objek tanpa teks mengambil seluruh layar. Serupa dengan proses kami dalam membuat lore, kami menggunakan properti TextLabel.RichText untuk gaya teks dan menambahkan efek visual seperti makhluk dari dunia lain yang mengganggu pikiran pemain sendiri. Berikut adalah contoh HTML RichText yang digunakan untuk membuat gambar berikut.

"Apa ini…ini…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....lapar….kekosongan….tarik…</i></font></font></stroke>

Dengan menggunakan TextLabels daripada gambar, kami menjaga teks tetap terbaca oleh Roblox, dan kami dapat secara otomatis menerjemahkan konten ini dan membuatnya dapat diakses oleh lebih banyak pemain tanpa harus melakukan hal apapun! Untuk informasi lebih lanjut tentang proses ini, lihat terjemahan otomatis.

Pengumuman

Meskipun kami ingin karakter pemain memiliki reaksi terhadap dunia, kami juga ingin dunia itu sendiri bereaksi terhadap kehadiran mereka. Untuk memenuhi tujuan ini, kami menyertakan pengumuman, atau dialog pihak ketiga, yang ditampilkan di layar setiap pemain sekaligus. Serupa dengan lore, kami membuat pengumuman dengan menggunakan ScreenGui sebagai wadah UI di layar kami dengan anak TextLabel. Kami juga menggunakan properti TextLabel.RichText untuk mengubah warna, font, dan ukuran dialog untuk membantu menyampaikan "entitas" yang berbeda berbicara kepada pemain di rumah.

Pengumuman dengan teks putih biasa adalah reaksi karakter pemain yang bersifat umum untuk sebuah area, bukan objek seperti teknik narasi lore.
Pengumuman dengan teks ungu adalah reaksi dari entitas yang rusak.
Pengumuman dengan teks kuning adalah reaksi dari entitas yang dipulihkan.

Dengan menggunakan properti TextLabel.RichText dan memberikan beberapa perintah HTML di dalamnya untuk memicu perubahan, kami juga diperbolehkan untuk melakukan perubahan di tengah kalimat! Misalnya, markup teks kaya berikut memungkinkan kami untuk menginterupsi reaksi karakter pemain dengan pikiran entitas yang rusak:

Apa ini…ini…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....lapar….kekosongan….tarik…</i></font></font></stroke>

Kami memiliki beberapa jenis pengumuman ini, baik dipicu oleh volume bagian tak terlihat yang dilewati pemain, atau dengan menyelesaikan tujuan tertentu. Untuk menghindari puluhan ScreenGuis individu, kami menggunakan skrip terpisah dalam demo yang memungkinkan kami untuk memberikan teks yang kemudian akan ditambahkan ke satu objek yang kami beri nama StoryNote di folder PlayerGui kami. Objek ini adalah satu ScreenGui dengan anak TextLabel. Dengan menggunakan skrip, kami bisa menyuntikkan frasa apa pun yang kami inginkan langsung ke dalam TextLabel yang tunggal, yang membuatnya jauh lebih mudah untuk melakukan perubahan saat kami mencari tahu bagaimana dan apa yang ingin kami komunikasikan kepada pemain!

StoryNote adalah objek yang kami panggil untuk setiap instansi yang memicu melalui skrip. Skrip yang sama memberikan teks dan format yang kami inginkan untuk setiap kejadian.
Contoh skrip yang memanggil objek tersebut dan mendefinisikan teks, per kejadian.
The TextLabel sebenarnya kosong, dan menggunakan skrip kami menyuntikkan RichText sesuai kebutuhan ke objek yang sama.
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.