Seperti demo Di Luar Kegelapan, salah satu keputusan paling awal kami adalah memiliki sebanyak mungkin permainan dan cerita yang diceritakan secara diegetik di dalam dunia itu sendiri.Ini bisa menjadi proses yang sulit ketika Anda ingin menyeimbangkan kemajuan komunikasi ke pemain melalui antarmuka pengguna sambil juga membuat mereka merasa seolah-olah mereka benar-benar berada di dalam dunia yang telah Anda buat.Untuk memenuhi tujuan ini untuk pengalaman kami, kami memecahkan cara kami berkomunikasi informasi kepada pemain menjadi empat teknik:
- Petunjuk visual - Objek, gambar, atau pengaturan aset yang pasif memperkuat cerita atau memberikan petunjuk kepada pemain saat masuk akal bagi dunia.
- Lore - Ketika pemain mengklik/mengetuk item tertentu di rumah, informasi cerita penting ditampilkan di seluruh layar .Narasi ini hanya terlihat oleh pemain yang mengklik/mengetuk objek.Ton selalu informatif dalam nada dan frasa.
- Gelembung pemikiran - Ketika pemain mengklik/mengetuk item tertentu di rumah, dialog teks "reaksi" ditampilkan dekat objek .Narasi ini hanya terlihat oleh pemain yang mengklik/mengetuk objek.Tonanya selalu orang pertama dan observasi.
- Pengumuman - Ketika seorang pemain mengklik/mengetuk item yang rusak di rumah, dialog orang ketiga muncul di layar setiap pemain sekaligus .Narasi ini terkadang beralih semua pemain ke keadaan korup ruangan di mana mereka berada.
Di bagian ini, kami akan menunjukkan bagaimana kami menggunakan teknik dan fitur khusus ini untuk membuat pemain terlibat dalam narasi kami sambil tetap mendorong eksplorasi, berkomunikasi kemajuan, dan menjaga gameplay baik intim kepada pemain individu maupun adil dalam pengalaman multiplayer.



Petunjuk visual
Sinyal visual adalah alat penting untuk meningkatkan narasi dan memberi tahu pemain apa yang perlu mereka ketahui tentang tujuan mereka tanpa menggunakan kata-kata .Menggunakan pengaturan 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 memasukkan elemen UI yang mengganggu.Kami memulai proses ini dengan pertama kali menentukan apa yang ingin kami komunikasikan kepada pemain, lalu bagaimana itu akan masuk akal untuk berkomunikasi bahwa dalam dunia pengalaman kami.Sebagai contoh, kami ingin pemain memahami seberapa terobsesi kakek dalam misinya untuk menentang kematian, jadi kami meninggalkan kamarannya dalam keadaan berantakan dengan banyak penelitian dan beberapa dinding dengan pikiran-pikirannya yang tertulis.


Aturan pertama kami adalah bahwa jika kami ingin menggunakan petunjuk visual untuk mengajarkan sesuatu kepada pemain, itu harus memiliki alasan untuk ada bahkan jika pemain tidak hadir.Jika kita menempatkan tanda raksasa dengan instruksi yang jelas tentang apa yang harus dilakukan untuk teka-teki, ini akan tampak tidak berada di tempatnya di dalam rumah.Namun, jika kita membuat kakek yang dikonsumsi dengan menggambar di segala sesuatu, termasuk dinding kamar tidurnya, jauh lebih dapat dipercaya untuk memiliki papan tulis dengan rencananya yang dicoret untuk pemain mengikutinya.

Aturan kedua kami adalah bahwa kami tidak selalu perlu memberi tahu pemain apa yang harus dilakukan atau cara memecahkan teka-teki karena mereka informatif untuk lingkungan mereka.Sebagai contoh, kadang-kadang saluran daya jatuh di kolam air sudah cukup sebagai petunjuk visual untuk berkomunikasi bahwa pemain berada dalam bahaya terkena listrik jika mereka terus bergerak ke arah itu.

Pengetahuan
Selain menggunakan petunjuk visual untuk memandu pemain secara pasif, kami juga memilih untuk menampilkan informasi penting tentang keluarga di seluruh layar sebagai prasyarat untuk memulai teka-teki ruangan setiap kali pemain mengklik atau mengetuk item tertentu di rumah.Untuk membimbing pemain ke objek yang mereka butuhkan untuk dipilih agar lore ditampilkan, kami menggunakan efek visual sorotan baru untuk membuat objek tertentu menonjol dari lingkungannya.Efek ini memungkinkan Anda untuk menggambarkan dan/atau menumpangkan objek dengan warna spesifik yang sesuai dengan bentuk objek itu sendiri, dan memilih apakah objek lain dapat menyembunyikan sorotan jika mereka lebih dekat ke kamera.




Kami awalnya menggunakan Highlight untuk setiap objek yang bisa berinteraksi dengan pemain, tetapi kebisingan visual sangat menyakitkan dan pemain tidak akan dengan jelas tahu apa yang harus berinteraksi untuk membaca lore.Kami memutuskan untuk hanya menggunakannya untuk menyoroti item yang rusak atau berbahaya, dan umpan balas visual ini memungkinkan pemain untuk dengan mudah mengarahkan cerita ke depan.

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

TextLabels dan ImageLabels mempengaruhi elemen visual dari teks dan gambar masing-masing, termasuk warna, transparansi, ukuran, dan penataan mereka.Untuk TextLabels khusus, Anda dapat menyesuaikan properti TextLabel.TextScaled dan TextLabel.RichText mereka untuk mengontrol tata letak dan penataan visual teks. TextLabel.TextScaled memungkinkan Anda untuk memperbesar teks untuk mengisi seluruh elemen UI orang tua, dan TextLabel.RichText memungkinkan Anda untuk menggunakan tag penandaan sederhana untuk menyangkut bagian teks dalam tebal, italik, 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 mengetuk layar untuk berinteraksi dengan pengalaman.Kami tidak ingin banyak tombol di layar mengalihkan perhatian dari narasi, jadi kami membuat tombol mundur tak terlihat berukuran seluruh layar sehingga pemain dapat mengklik atau mengetuk di mana saja di lore overlay untuk menutup konten dan kembali ke gameplay.

Gelembung pikiran
Kami membutuhkan cara bagi karakter pemain untuk berkomunikasi ide kepada pemain, seperti memberikan rasa naratif tambahan atau memperkuat apa yang perlu mereka lakukan.Solusi kami adalah untuk 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 mengetuk objek, dan nada selalu orang pertama dan observasi.

Untuk membuat gelembung pemikiran, kami membesarkan BillboardGui dengan anak TextLabel ke objek non-lore.Ini memungkinkan kami untuk menampilkan dialog di ruang 3D dekat objek tanpa teks mengambil seluruh layar.Mirip dengan proses kami dalam menciptakan pengetahuan, kami menggunakan properti TextLabel.RichText untuk menyunting teks dan menambahkan efek visual seperti makhluk lain di luar alam yang mengganggu pikiran pemain.Berikut adalah contoh RichText HTML yang digunakan untuk membuat gambar di bawah ini.
"What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

Dengan menggunakan TextLabels alih-alih gambar, kami menjaga teks dapat dibaca oleh Roblox, dan kami dapat menerjemahkan konten ini secara otomatis dan membuatnya dapat diakses oleh lebih banyak pemain tanpa harus melakukan apa pun! Untuk informasi lebih lanjut tentang proses ini, lihat terjemahan otomatis.
Pengumuman
Sementara 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 orang ketiga, yang menampilkan di layar setiap pemain sekaligus .Mirip 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 mengkomunikasikan "entitas" yang berbeda kepada pemain di rumah.



Dengan menggunakan properti TextLabel.RichText dan memberikan beberapa perintah HTML di dalamnya untuk mendorong perubahan, kami juga diizinkan untuk membuat perubahan di tengah kalimat! Misalnya, penanda teks kaya berikut memungkinkan kami untuk mengganggu reaksi karakter pemain oleh pikiran entitas korup:
What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</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 lusinan individu , kami menggunakan skrip terpisah di demo yang memungkinkan kami untuk memberikan teks yang nantinya akan ditambahkan ke objek tunggal yang kami beri nama StoryNote di folder kami.Objek ini adalah tunggal ScreenGui dengan anak TextLabel .scripting, kami bisa menyuntikkan frasa apa pun yang kami inginkan langsung ke single TextLabel, yang membuatnya jauh lebih mudah untuk membuat perubahan seperti yang kami cari tahu bagaimana dan apa yang ingin kami komunikasikan kepada pemain!


