Butuh banyak iterasi dan pengujian cepat di awal proses untuk membuat rumah ini menyenangkan dan menyeramkan, mudah dijelajahi, dan sesuatu yang ingin Anda telusuri. Kami akan menunjukkan kepada Anda bagaimana kami memikirkan ruang dan membangunnya menggunakan paket untuk mempercepat pembaruan kursi individu dan seluruh ruangan menjelang akhir.

Mulai dengan tata letak 2D
Karena rumah ini merupakan sebagian besar area yang dapat dimainkan dan merupakan karakter tersendiri, kami ingin memberikan banyak pemikiran tentang bagaimana memastikan rumah ini tetap nyata dan menyenangkan. Kami mulai dengan ide bahwa rumah ini harus mengandung beberapa lelucon visual dan audio, lore, dan ruangan teka-teki yang rusak, dan kami ingin pemain awalnya mendekati rumah dengan sedikit pengetahuan tentang apa yang terjadi, belajar apa yang terjadi pada rumah dan keluarga yang tinggal di sana saat mereka bermain.
Untuk menyeimbangkan semua elemen penting ini, kami mulai membayangkan lingkungan 3D dengan tata letak 2D! Dimulai dengan menentukan momen cerita atau momen kunci yang ingin dialami pemain, kami menggambar tata letak ruang, dan memikirkan bagaimana kami akan membimbing pemain ke tempat yang kami inginkan sambil mempertahankan lingkungan yang terasa lebih besar dari kehidupan.

Setelah kami memiliki draft awal dari tata letak keseluruhan, kami menggunakan terrain untuk dengan cepat menyusun bukit, danau, jalan, dan jalan masuk ke rumah. Kami tidak memperhatikan kualitas visual demo pada titik ini, tetapi lebih fokus pada berapa lama waktu yang dibutuhkan untuk sampai ke rumah dan apa yang diperlukan untuk memberikan pemain sekilas tentang rumah dan peristiwa di langit.

Dengan menggunakan bagian sederhana bersama dengan aset Creator Store, kami dapat dengan cepat menambahkan konten yang akan membantu kami menyusun lingkungan, termasuk:
- Membuat jalan berbelok sehingga pemain tidak bisa melihat sepanjang jalan.
- Menambahkan pohon dengan area yang lebih padat di mana kami ingin jelas bahwa pemain tidak bisa mengakses, bersama dengan area yang lebih tipis di mana kami ingin mendorong mereka untuk menjelajahi.
- Menaikkan jalan masuk rumah sehingga ketika pemain mendekatinya, mereka harus mendaki. Ini memberikan rumah kehadiran yang lebih menakutkan.
- Memposisikan peristiwa raksasa di belakang badai di langit sehingga pemain bisa melihat sebagian, tetapi tidak semuanya, sampai mereka mendekati rumah itu sendiri.
- Menempatkan dan menentukan bentuk umum rumah yang akhirnya kami pilih.
Tidak ada pengalaman yang menjamin bahwa ide pertama Anda adalah yang terbaik. Inilah sebabnya kami cepat memasukkan aset ke dalam Studio dan menggunakan bagian sederhana serta aset Creator Store untuk mengisi lingkungan dengan aset sementara. Ini memungkinkan kami untuk tidak harus membuat semuanya di depan, dan kami bisa mulai melakukan pengujian permainan dalam beberapa hari pertama.

Meskipun kami ingin akhirnya mengganti aset sementara dengan milik kami sendiri, satu-satunya hal yang kami pedulikan di awal adalah menyusun dasar-dasarnya dan memainkan permainan untuk memastikan lingkungan menyenangkan untuk dijelajahi dan tidak terlalu besar atau terlalu banyak "jalur lurus" sehingga pemain didorong untuk menjelajahi.

Rencanakan setiap ruangan
Bagian luar hanya dimaksudkan sebagai rasa dari keseluruhan cerita untuk membenamkan pemain dan membuat mereka akrab dengan dunia yang mereka mainkan. Karakter utama adalah rumah itu sendiri, dan kami ingin pemain menghabiskan sebagian besar permainan mereka di dalamnya mencari rahasia dan menemukan kejutan di setiap ruangan. Untuk melakukan ini, kami perlu menentukan ruangan apa yang harus ada di rumah, kapan kami ingin pemain menemui mereka, dan di mana mereka harus berada di dalam rumah. Kami menggambar tata letak 2D dari rumah, dan tim saling bertukar ide untuk hal-hal keren yang bisa terjadi. Tidak ada ide yang diabaikan pada titik ini.

Kami menggunakan kotak 2D dari setiap ruangan untuk menentukan bagaimana kami ingin mengatur mereka satu sama lain. Setiap ruangan harus menjadi kesempatan untuk melakukan sesuatu, dan kami mengemukakan banyak ide, termasuk penggunaan utama setiap ruangan, lelucon menyeramkan apa yang bisa kami gunakan untuk mengejutkan pemain, dan teka-teki potensial yang bisa mereka hadapi.


Setiap ruangan harus bekerja sama, dan kami ingin menceritakan kisahnya secara perlahan dan progresif. Kami tahu kami tidak bisa mengontrol ke mana seseorang pergi pertama kali, jadi kami merencanakan beberapa teka-teki yang lebih sulit untuk lebih jauh dari pintu depan dan lebih sulit untuk ditemukan. Ini berarti menambahkan beberapa lantai ke rumah, termasuk loteng dan ruang bawah tanah untuk alasan gameplay dan tema. Teka-teki terakhir di ruang bawah tanah yang terlihat jahat dan menakutkan? Daftarkan kami!


Bangun tata letak 3D
Semua perencanaan awal dan ide di dunia tidak membuat permainan yang menyenangkan, jadi saatnya untuk mulai membuat ide tersebut menjadi 3D! Tata letak eksterior telah diblokir dan kami membuat ruang untuk rumah agar dapat diperluas atau diperkecil. Iterasi paling awal dilakukan di aplikasi 3D lain di mana kami bisa membuat kotak dan bentuk sederhana untuk mulai mengubah gambar 2D itu menjadi ruang yang dapat dimainkan. Anda mungkin menemukan bahwa membangun versi awal di Studio dan menggunakan bagian sederhana adalah metode favorit Anda. Tidak ada cara yang salah, selama Anda bisa mendapatkan ide Anda ke dalam 3D dan dapat dimainkan dengan cepat!



Tidak ada yang menjadi lebih mudah seiring dengan semakin kompleksnya pekerjaan, jadi penting bagi kami untuk sering bereksperimen dan menentukan struktur lingkungan yang ingin kami buat. Iterasi paling awal dari rumah ini sesederhana gambar-gambar yang Anda lihat di atas, dan bentuk sederhana memungkinkan kami untuk fleksibel mungkin dan dengan cepat membuat perubahan pada ukuran ruangan saat kami memainkan demo. Skala juga penting di awal, jadi kami selalu membangun dengan avatar baik di aplikasi 3D kami maupun di dalam Studio sehingga kami bisa tahu seberapa besar pintu atau seberapa tinggi langkahnya.


Kami melalui banyak iterasi kecil dan besar untuk menetapkan apa yang kami miliki dalam demo akhir. Bandingkan draft awal di atas dengan versi foyer yang jauh lebih baru, dan Anda akan melihat banyak keputusan awal yang kami buat setelah bermain melalui rumah dapat tetap ada!

Perabotan dan properti
Kami membutuhkan banyak perabotan dan properti untuk mengisi rumah sebesar ini, jadi sebelum kami mulai membuat kotak abu-abu dari kontennya, kami membuat dokumen untuk melacak semua yang bisa kami gunakan yang akan melengkapi jenis ruangan dan teka-teki yang sedang kami proses. Dengan mendapatkan semua pemikiran kami ke dalam satu tempat, kami bisa mengatur, memprioritaskan, dan melihat di mana kami bisa menggunakan kembali konten di ruangan yang berbeda. Meskipun ini adalah sejumlah perencanaan di awal, ini menyelamatkan kami dari membuat konten yang tidak cukup atau terlalu banyak barang yang tidak perlu.

Daftar ini memberi kami pemahaman yang baik tentang apa yang perlu diprioritaskan saat membuat kotak abu-abu dari konten dan mempopulasikannya di seluruh rumah. Dengan menambahkan konten prioritas tinggi lebih awal, kami bisa dengan mudah melihat kapan aset berulang, memiliki proporsi yang salah, atau kapan mereka membutuhkan variasi kedua atau pertukaran tekstur saat mereka berada di ruangan tertentu. Beberapa konten yang kami blokir di awal ternyata tidak penting untuk permainan dan dihapus, tetapi kami tidak kehilangan banyak pekerjaan dalam proses karena mereka hanya blokir cepat. Untuk semua perabotan dan properti yang kami simpan, kami menjadikannya sebagai paket dalam fase blokir mereka, dan ini memudahkan kami untuk mengganti semuanya di seluruh rumah dengan versi akhir mereka.


Karena jumlah aset yang dibutuhkan untuk demo ini, menggunakan kembali tekstur sebanyak mungkin sangat penting untuk tetap dalam anggaran memori kami. Banyak perabotan berbagi trim yang sama atau lembaran yang dapat ditile untuk kayu, logam, batu, kaca, dan kain, dan kami memanfaatkan tekstur transparan di mana pun kami bisa. Misalnya, kami menggunakan tekstur transparan untuk kain sehingga kami bisa memiliki variasi warna tanpa harus membuat tekstur Albedo kedua. Untuk informasi lebih lanjut tentang cara menggunakan kembali tekstur, lihat Perencanaan, Penggunaan Kembali, dan Anggaran.




Fotogrametri
Kami tahu kami membutuhkan lebih banyak konten daripada yang kami punya waktu untuk dibangun sendiri, jadi kami memutuskan untuk mempercepat proses pembuatan konten berkualitas tinggi pada lembar tekstur 1:1 dengan memanfaatkan fotogrametri yang bersumber dari Creative Commons (CC0). Fotogrametri adalah proses menangkap ratusan gambar objek dari setiap sudut untuk membuat model berkualitas tinggi dengan proporsi yang akurat, dan model Creative Commons sebagian besar adalah model gratis yang biasanya bersifat edukatif yang dapat Anda gunakan dan/atau bagikan secara legal. Model-model ini dapat berkisar dari aset yang dimodelkan dengan tangan hingga aset yang dibuat dari fotogrametri, dan bekerja dengan mereka dalam proses ini memungkinkan kami untuk melewati langkah yang memakan waktu untuk membuat model resolusi tinggi yang detail.
Latar belakang yang kami buat untuk keluarga menggambarkan mereka sebagai "kolektor eksentrik" yang terlibat dalam okultisme. Mereka telah mengumpulkan artefak dari seluruh dunia, dan kami ingin rumah itu dipenuhi dengan barang-barang untuk mencerminkan cerita itu. Kami dapat memperoleh data pemindaian dari konten museum CC0 untuk model seperti antique, patung, dan taksidermi, kemudian mulai pemetaan UV, retopologisasi, dan pekerjaan tekstur yang diperlukan untuk mengoptimalkannya untuk Studio.


Pemetaan UV adalah proses pemodelan 3D untuk membuka model mesh 3D dan memproyeksikan gambar 2D ke atasnya. "U" dan "V" mewakili sumbu tekstur 2D karena "X", "Y", dan "Z" mewakili sumbu model 3D. UV cenderung otomatis pada saat pemindaian, dan mereka cenderung dilakukan dengan buruk untuk tujuan pengembangan game. Misalnya, UV untuk model fotogrametri tertentu dapat terlihat seperti sekumpulan bidang individu, tetapi ini tidak paling efisien untuk pengalaman seluler ketika pembuat dibatasi hingga 10.000 verteks. Terkadang kami beruntung dengan data pemindaian, tetapi sebagian besar waktu kami perlu memperbarui atau sepenuhnya mengulang koordinat tekstur dua dimensi ini untuk tujuan permainan.

Selain itu, sebagian besar mesh dari model hanya akan menyertakan tekstur Difus dengan informasi pencahayaan yang dibakar ke dalam tekstur saat model awalnya dipindai. Meskipun ini bisa berguna untuk digunakan sebagai dasar untuk tekstur Albedo mesh, itu masih memerlukan pembersihan manual di mana kami perlu mengecat keluar cahaya dan bayangan. Jika sebuah mesh memiliki pencahayaan arah yang kuat, mungkin terlihat aneh di mana pencahayaan dunia tidak cocok. Untuk alasan ini, kami harus membuat ulang sebagian besar tekstur PBR untuk model yang kami gunakan dari konten museum CC0.


Rendering berbasis fisika (PBR) adalah gagasan menggunakan pencahayaan dan bayangan yang realistis dengan lebih akurat mensimulasikan dan merepresentasikan material dan pencahayaan di dunia nyata. Ini penting bagi kami saat membuat tekstur PBR untuk tidak memiliki informasi pencahayaan yang dibakar ke dalam tekstur Albedo karena mesin Studio menghitung ini dari Pencahayaan berbasis gambar (IBL), selain menggunakan nilai permukaan Normal, Kekasaran, dan Metalness untuk merepresentasikan material dunia nyata dengan benar. Sebagai perbandingan, tekstur Difus mungkin memiliki beberapa atau semua detail dari peta individu ini yang dibakar ke dalam satu tekstur, yang berguna ketika Anda mungkin memerlukan tekstur Difus untuk membawa detail itu sendiri tanpa bantuan IBL atau tekstur PBR individu lainnya. Ketika Anda memutuskan apakah akan mempertahankan tekstur Difus atau membuat tekstur PBR Anda sendiri, pertimbangkan batasan desain atau anggaran memori Anda untuk apa yang masuk akal untuk permainan Anda sendiri.
Mesh dari data pemindaian yang kami gunakan biasanya cukup baik, tetapi beberapa mesh perlu dibersihkan. Misalnya, beberapa mesh memiliki lubang bermasalah yang perlu diisi, tepi bergerigi yang perlu diratakan, atau tepi tipis yang perlu dipertebal. Untuk proses ini, kami menggunakan Zbrush untuk mengedit data pemindaian.


Proses ini tidak sempurna, tetapi dengan membersihkan model resolusi tinggi, jauh lebih mudah untuk secara otomatis atau manual melakukan retopologisasi mesh model. Retopologisasi adalah proses memodifikasi distribusi dan struktur tepi model 3D, dan untuk tujuan kami, retopologisasi memungkinkan untuk pembuatan tekstur yang lebih baik saat membuat versi resolusi lebih rendah dari model resolusi tinggi. Model resolusi lebih rendah jauh lebih mudah untuk performa, terutama di perangkat seluler, dan tetap mempertahankan detail resolusi tinggi dari mesh dan tekstur.
Untuk retopologisasi manual atau otomatis, Anda dapat menggunakan aplikasi 3D pilihan Anda. Kami memilih untuk menggunakan 3DS Max untuk retopologisasi manual, dan Zbrush untuk retopologisasi otomatis menggunakan Zremesher atau Alat Decimation. Alat Zremesher memungkinkan kami untuk melakukan retopologisasi otomatis pada mesh untuk mempertahankan quad yang memerlukan jumlah verteks yang lebih tinggi untuk mempertahankan bentuk, sementara alat Decimation memungkinkan kami untuk melakukan retopologisasi otomatis menggunakan segitiga dengan jumlah verteks yang lebih rendah dan masih dapat mempertahankan bentuk.




Terlepas dari rute otomatis yang bisa kami pilih untuk model/mesh kami, kami kemungkinan perlu melakukan beberapa pembersihan karena retopologisasi otomatis sangat bergantung pada mesh resolusi tinggi, bagaimana itu dibangun, dan algoritmanya. Kami cenderung memilih rute decimation dengan mesh tertriangulasi karena lebih penting bagi kami untuk memiliki jumlah verteks yang lebih rendah sambil mempertahankan bentuk aslinya.



Setelah kami menyelesaikan proses retopologisasi mesh dengan UV baru, kami perlu memanggang dan mentransfer detail mesh resolusi tinggi dan tekstur. Marmoset memudahkan untuk melakukan proses ini saat memanggang peta mesh dan mentransfer tekstur asli dari model resolusi tinggi ke resolusi rendah, tetapi Anda mungkin menemukan alur kerja dan metode lain di aplikasi 3D lain yang lebih baik untuk Anda. Terlepas dari alatnya, pastikan semua tekstur asli pada model resolusi tinggi ditugaskan ke model saat memanggang.





Setelah kami menyelesaikan Albedo, Normal, Metalness, dan tekstur PBR Kekasaran kami di Substance Painter, aset baru kami siap untuk diimpor ke dalam Studio! Ada beberapa perbedaan kualitas antara aset data pemindaian vs. aset yang telah diretopologisasi, tetapi pada akhirnya itu adalah trade-off yang layak ketika aset hanya 1.000 verteks alih-alih 1.000.000. Ini juga menjaga anggaran memori kami tetap utuh dan memungkinkan permainan berjalan lebih lancar.




Manfaatkan paket
Paket adalah sistem yang memungkinkan Anda menyimpan dan menggunakan versi dari objek tunggal atau sekelompok objek, dan ketika Anda memperbarui versi itu, semua instance dari objek atau grup tersebut diperbarui sekaligus. Misalnya, jika Anda membuat objek pohon dan menempatkan ratusan objek itu di dalam permainan Anda, Anda hanya perlu memperbarui paket agar ratusan pohon tersebut diperbarui ke versi baru Anda sekaligus. Kami tahu sejak awal bahwa kami akan memiliki dua keadaan dari sebagian besar ruangan di rumah, keadaan normal mereka dan keadaan rusak mereka, dan kami perlu mempertahankan kedua salinan rumah dan isinya sepanjang proses iterasi. Untuk alasan ini, kami memutuskan objek mana yang perlu dibagikan di setiap keadaan rumah dan mengubahnya menjadi paket.

Paket memungkinkan kami untuk memodifikasi segala sesuatu mulai dari trim kayu pada panel dinding hingga seluruh ruangan, kemudian kedua keadaan ruangan akan diperbarui dengan perubahan kami. Kami juga dapat mengubah objek SurfaceAppearance menjadi paket sehingga kami bisa memperbarui penampilan material di mana saja di seluruh permainan sekaligus. Menggunakan kembali material sangat penting untuk membuat demo seefisien mungkin untuk perangkat meskipun jelas kompleksitasnya.
Sebagai contoh, gambar berikut menampilkan paket model armillary dengan kelompok aset anak yang kompleks, termasuk paket penampilan permukaan logam yang kami gunakan di beberapa tempat dalam demo. Di mana pun kami memperbarui paket penampilan permukaan logam, kami juga dapat melakukan pembaruan massal yang akan memaksa paket model armillary untuk memperbarui paket penampilan permukaan anak juga.



Untuk informasi lebih lanjut tentang cara mengubah objek individu atau sekelompok objek seperti Models atau Folders menjadi paket, atau untuk cara memilih pembuat paket untuk akses edit, lihat Paket. Kami memilih untuk menunjuk Vistech Demo Group sebagai pembuat semua paket kami karena ini memungkinkan semua orang di grup kami mengakses dan mengedit paket kapan pun mereka perlu. Ini juga memungkinkan kami untuk berbagi paket ini di antara setiap permainan yang dimiliki grup!

Kami mengatur paket induk, seperti armillary di atas atau seluruh ruangan, untuk memperbarui secara otomatis sehingga perubahan pada model atau folder secara otomatis dibagikan di semua instance paket tersebut tanpa kami harus memeriksa secara manual. Proses ini berarti kami bisa dengan lancar membuat perubahan untuk keadaan normal dan rusak setiap ruangan. Misalnya, dua gambar berikut menunjukkan keadaan normal dan rusak dari ruang belajar yang dibuat melalui paket yang sama. Hanya beberapa item di luar paket mereka yang berbeda di antara mereka, bahkan mempertimbangkan bahwa keadaan rusak berada di samping!


Alih-alih bekerja sepenuhnya di file tempat yang sama dengan permainan, kami membangun tempat penyimpanan aset dengan semua komponen kami dengan tautan paket. Setiap kali kami melakukan perubahan pada paket di tempat penyimpanan ini, itu akan diperbarui secara otomatis dan segera di setiap tempat yang menggunakan paket itu. Kami bisa memodifikasi objek, menambahkan fungsi, dan mengerjakan detail tanpa harus menavigasi suasana dan pencahayaan permainan utama yang bisa membuat sulit untuk melihat apa yang kami lakukan.

Paket memberi kami lebih banyak kebebasan untuk menjelajahi berbagai ide dalam 3D tanpa harus melakukan banyak pekerjaan tambahan. Kami bisa merencanakan, menguji, atau bahkan kembali ke versi sebelumnya dari aset jika eksperimen tidak berhasil dalam praktik atau merusak permainan. Ada banyak kali di mana jam kerja dipulihkan dengan kembali ke versi dalam paket. Pada akhirnya, kami tidak bisa mencapai tingkat penyelesaian akhir dalam demo ini tanpa paket.
