Cari tahu kemacetan Anda
Beberapa ratus benda bergerak seharusnya tidak menjadi masalah. Namun, beberapa ratus benda bertabrakan mungkin. Ini akan membutuhkan beberapa pengujian, namun saya percaya hambatan yang Anda miliki adalah tabrakan.
Ngomong-ngomong, berapa banyak benda yang kita bicarakan? Apa platformnya? Seratus objek untuk game mobile tidak sama dengan seratus untuk game web atau seratus objek untuk game desktop.
Uji permainan yang sama tetapi dengan tabrakan antara objek yang dipotong dinonaktifkan, dan lihat apakah Anda membuatnya ketinggalan pada jumlah objek yang sama. Jika itu masalahnya, itu berarti jumlah benda yang banyak adalah penyebab masalah; jika tidak, tabrakan adalah masalahnya.
Ini akan menginformasikan keputusan Anda tentang apa yang akan Anda lakukan untuk meningkatkan kinerja. Tidak semua gagasan di bawah ini akan berlaku, dan Anda tetap akan perlu pengujian.
Saya tidak akan berbicara tentang mengoptimalkan sejumlah besar objek yang jauh dari pemain, karena masalah tampaknya datang ketika berinteraksi dengan objek.
ada masalah saat Anda menyebabkan mereka bergerak.
Jika masalah terjadi ketika berinteraksi dengan objek, tidak jelas bagaimana menghapus objek yang tidak terlihat akan menyelesaikannya ... namun, saya akan menganggap itu mungkin membantu.
Saya hanya akan mengatakan bahwa jika objek yang jauh dari pemain adalah masalah, Anda bisa mulai dengan memiliki level yang lebih kecil, atau melihat ke dalam membagi permainan dalam potongan-potongan yang dapat Anda muat dan lepas tergantung pada ke mana pemain pergi.
Di luar batas
Saya percaya bahwa ketika datang untuk membersihkan puing-puing, hal pertama yang harus dimiliki adalah menghilangkan benda-benda yang berada di luar batas. Misalnya, potongan yang jatuh ke lubang. Jika tidak ada cara agar pemain bisa sampai di sana untuk melihatnya, tidak ada alasan untuk tetap melakukannya.
Saya akan kembali ke sini.
Jadikan lebih realistis (bagian 1)
Ketika Anda memotong kayu dengan gergaji, kapak atau alat serupa, akan ada material yang hilang (untuk serbuk gergaji, serutan, dll). Bahkan jika Anda memotong dengan laser, laser akan membakar kayu. Selain itu, untuk benda yang bukan kayu biasanya akan ada deformasi di sekitar potongan, remuk, dll.
Apa yang saya katakan adalah bahwa potongannya tidak sempurna, dan beberapa materi akan hilang. Anda bisa memodelkan itu dalam game Anda. Benda ajaib memotong merah itu memiliki ketebalan. Hapus ketebalan itu dari objek (tambahkan efek partikel jika Anda merasa terlalu bersalah).
Ini berarti bahwa Anda tidak akan dapat memotong apa pun yang lebih kecil dari ketebalan itu, pada kenyataannya, mencoba melakukannya akan menghapusnya dari permainan. Itu bagus! Ini berarti bahwa ada batas atas jumlah puing yang akan ada, dan ada cara yang sehat secara mekanis untuk membersihkannya dalam game.
Ubah persneling untuk benda kecil
Ini akan bekerja lebih baik jika tabrakan adalah masalahnya.
Setelah sebuah objek terlalu kecil, detail sudut yang berbeda itu kurang relevan. Anda bisa berubah menjadi mekanik tabrakan yang kurang akurat. Misalnya, Anda bisa menggunakan collider lingkaran.
Anda dapat merawat objek yang lebih kecil tanpa bertabrakan; hanya mempertimbangkan tabrakan antara mereka dan benda-benda agen (seperti avatar pemain atau karakter yang dikendalikan AI).
Akhirnya, benda yang sangat kecil bisa berubah menjadi debu (efek partikel).
Jadikan lebih realistis (bagian 2)
Ini akan bekerja lebih baik jika tabrakan adalah masalahnya.
Bahan berubah bentuk dan pecah di bawah tekanan. Jika Anda berakhir dengan benda panjang dengan ketebalan sangat sedikit, pilah menjadi benda-benda yang lebih kecil sehingga mereka dapat mengambil keuntungan dari solusi di atas.
Kita dapat berpura-pura bahwa ketebalannya terlalu sedikit sehingga hancur dan pecah ketika Anda menabraknya.
Gabungkan objek
Ini akan bekerja lebih baik jika jumlah objek adalah masalahnya.
Trik umum yang digunakan banyak gim untuk menangani sejumlah besar drop yang dapat merusak kinerja adalah dengan menggabungkan drop bersama.
Anda dapat mencoba sesuatu yang serupa untuk benda kecil yang berdekatan satu sama lain. Biarkan mereka menjadi objek tunggal. Namun, saya tidak bermaksud menyatukan potongan-potongan itu. Maksud saya membuat objek tunggal untuk menangani fisika mereka; Anda masih bisa mewakili potongan individual yang membentuk objek, mungkin menggunakan teknik yang mirip dengan efek partikel.
Buat lebih realistis (bagian 3)
Pernahkah Anda mendengar tentang angin? Ada angin di dunia nyata.
Gunakan angin untuk mendorong benda kecil menjauh.
Saya tahu itu bisa terdengar kontra intuitif, karena itu berarti benda kecil tidak bisa beristirahat, setidaknya tidak segera. Baca di bawah sebelum Anda membuat keputusan.
Anda dapat menggunakan angin untuk mendorong benda kecil sebelum - atau segera - mereka mulai menumpuk. Yang akan bekerja lebih baik jika Anda menggunakan optimasi untuk objek kecil (seperti menggabungkannya atau menghapus tabrakan di antara mereka).
Selanjutnya, jika Anda dapat menggunakan angin untuk mendorong item ke lubang atau keluar batas, Anda dapat menggunakan sebagai alasan untuk menghapus item. Sudah kubilang aku akan kembali ke sana. Bahkan jika Anda tidak, itu bisa berfungsi sebagai alasan untuk menghapus benda-benda kecil yang terlalu jauh dari pemain, hanya berpura-pura angin menyingkirkan mereka saat pemain tidak melihat.
Anda dapat menghapus beberapa objek saat pemain tidak melihat, Anda mendapat restu.
Selain itu, Anda sekarang memiliki alasan untuk menambahkan angin, yang dapat Anda tambahkan angin sebagai bagian dari mekanika lain atau hambatan dalam permainan. Anda bahkan dapat menambahkan ke dalam narasi semangat angin yang mencoba menjaga kebersihan, jika Anda memang cenderung.
Catatan : Anda tidak perlu harus memicu angin ketika ada puing-puing untuk dibersihkan (meskipun itu akan berhasil), Anda mungkin dapat memiliki angin terjadi secara berkala.
Berang-berang!
Beberapa berang-berang yang mengganggu datang dan mencuri kayu Anda!
Sekarang Anda memiliki tipe musuh!
Selain itu, tentu saja, mereka menghilangkan kayu saat Anda tidak melihat. Anda bahkan dapat mendesainnya sehingga Anda kembali melihat satu berang-berang melarikan diri dengan sepotong kayu yang dulunya adalah tumpukan. Itu akan membuat momen yang mengesankan, akan menjelaskan mengapa kayu menghilang dan akan menyelesaikan beberapa masalah kinerja yang Anda hadapi, sekaligus.
Itu semua adalah kompromi
Ada batasan platform atau alat yang telah Anda pilih, bahkan waktu dan anggaran yang Anda miliki untuk mengembangkan game adalah batasan. Anda tidak dapat membuat simulasi sempurna dari realitas, namun . Tidak ada yang bisa .
Setiap pengembang bekerja dalam batasan yang platform target mereka dan alat yang mereka miliki pada waktu yang dikenakan pada mereka, dan permainan terbaik harus melakukan pertukaran untuk membuat permainan menyenangkan dan menarik ... bahkan jika itu berarti kurang realisme, pada kenyataannya, sering kali mereka menyenangkan dan menarik karena mereka tidak realistis.
Biarkan kreativitas datang dari keterbatasan itu.
Meskipun, Anda juga dapat membuat game Anda lebih realistis , dengan memilih bagian-bagian realitas yang nyaman untuk pengembangan Anda. Pertimbangkan bahwa kadang-kadang menghilangkan benda yang jauh dari pemain adalah bagian dari biaya membuat permainan yang menyenangkan.