Nyahpepijat permainan terjana AI

Updated 2026-09-05

Cari sempadan pertama yang gagal, berikan ejen simptom boleh dihasilkan semula dan uji semula tindakan pemain yang sama. Mulakan dengan enjin dan build yang benar-benar anda jalankan.

Kelaskan kegagalan sebelum meminta pembaikan

Kenal pasti langkah paling awal yang gagal: penemuan projek, import, parsing atau kompilasi, permulaan scene, input pemain, keadaan gameplay, eksport atau pelancaran sasaran. Simptom kemudian mungkin akibat kegagalan pertama itu. Simpan versi enjin, semakan projek, sasaran dan pembiakan tepat bersama.

Contohnya, scene yang tidak pernah bermula tidak boleh memberitahu sama ada butang mula semulanya berfungsi. Pelayar yang tidak boleh mendapatkan pakej permainan tidak boleh menguji pengawal. Halakan ralat ke sempadan yang betul sebelum menukar kod; ini menghalang gelung pembaikan daripada mengumpul patch tidak berkaitan sementara prasyarat asal masih rosak.

Gameplay gagal kembali kepada perubahan yang boleh disemak melalui pemerhatian enjin sebelum pemeriksaan penerimaan seterusnya.
Pembaikan perlu kembali kepada tingkah laku diperhatikan yang sama sebelum bergerak ke eksport.
SimptomPeriksa dahuluHasil uji semula
Projek tidak boleh dibukaLaluan, versi, kebergantunganProjek yang dijangka dimuatkan
Scene kosongRalat permulaan, scene, kamera, keterlihatanKandungan yang dijangka muncul
Input tiada kesanFokus, pemetaan tindakan, keadaan, pengendaliTindakan mengubah keadaan permainan
Eksport gagalPraset atau prasyarat sasaranArtifak tercipta
Build gagal hanya pada sasaranSumber dipakej dan log platformSasaran menyelesaikan gelung yang sama

Tangkap ralat enjin pertama yang bermakna

Dalam Godot, gunakan panel penyahpepijat dan output runtime berkaitan. Dalam Unity, periksa ralat kompilasi dan runtime secara berasingan dan tunggu editor bersedia sebelum mentafsir keputusan permainan. Simpan tindanan atau lokasi yang mengenal pasti skrip gagal dan operasi yang mencetuskannya.

Hantar petikan terfokus bersama konteks scene atau objek berkaitan kepada ejen. Elakkan log besar tanpa beza yang mengaburkan ralat pertama, tetapi simpan rekod penuh secara tempatan untuk pemeriksaan kemudian. Padamkan kelayakan dan data peribadi. Laporan berguna menyatakan tindakan pemain, perkara yang sepatutnya berlaku dan perkara yang sebenarnya dilaporkan enjin.

Kurangkan pembiakan tanpa mengubah keperluan

Mulakan daripada keadaan projek yang boleh dipulihkan dan asingkan scene atau tindakan terkecil yang masih menunjukkan kecacatan. Kekalkan pengawal sebenar, peraturan collision atau sempadan simpanan yang terlibat. Membuang sistem gagal sepenuhnya mungkin menghasilkan larian bersih sambil kehilangan tingkah laku yang perlu dibaiki.

Taklimat di bawah ialah templat diagnosis asli. Isikannya dengan butiran diperhatikan dan bukannya meminta model menganggap punca. Minta satu penjelasan dicadangkan dan perubahan berskop sempit. Apabila ujian selesai, sambungkan semula perjalanan pemain penuh supaya pembaikan tempatan tidak menyembunyikan peralihan scene yang rosak.

Project revision: <record actual revision>
Engine and target: <record actual environment>
Steps: launch -> start round -> perform the failing action
Expected state: <specific result>
Observed state: <specific result>
First engine error: <relevant error and location>
Inspect the referenced scene and script before editing.
Propose one cause, make a scoped fix, then repeat these steps.
Preserve the required behavior and report any remaining failure.

Siasat skrin kosong secara berlapis

Tentukan dahulu sama ada enjin bermula dan scene yang dimaksudkan dimuatkan. Kemudian periksa pemilihan kamera, dimensi viewport, keterlihatan objek, kedudukan dan sebarang overlay yang menutup scene. Gunakan keadaan enjin dan tangkapan sebenar bersama: imej sahaja mungkin tidak mendedahkan scene dijeda, di luar kamera atau kosong.

Gunakan input dan perhatikan sama ada keadaan berubah walaupun tiada yang kelihatan. Jika kedudukan berubah tetapi imej tidak, tumpukan pada render atau rujukan scene. Jika kedua-duanya tidak berubah, siasat permulaan dan input sebelum melaras karya. Kaitkan setiap hipotesis dengan pemerhatian supaya ejen tidak menulis semula kedua-dua sistem tanpa perlu.

Jejaki input melalui peralihan gameplay

Ikuti tindakan daripada fokus dan pemetaan ke pengendalinya, kemudian ke keadaan yang sepatutnya diubah. Semak keadaan jeda dan pintasan UI sebelum menyalahkan matematik pergerakan. Kegagalan mula semula mungkin berpunca daripada pengendali hilang, rujukan scene lapuk atau keadaan yang tidak pernah ditetapkan semula.

Selepas pembaikan, uji tindakan dari beberapa keadaan berkaitan: pelancaran pertama, selepas menang dan selepas kalah jika terpakai. Cari pengendali pendua atau objek lapuk yang muncul hanya selepas pusingan berulang. Miniflow lengkap kecil boleh mengesan kecacatan kitar hayat ini dengan lebih berkesan daripada menguji butang secara berasingan berulang kali.

Asingkan pemuatan pelayar daripada logik permainan

Untuk eksport web Godot, periksa panel rangkaian dan konsol pelayar sebelum menyunting kod gameplay. Sahkan HTML, JavaScript, WebAssembly dan pakej permainan eksport dimuatkan dari lokasi yang dimaksudkan. Bandingkan tetapan pengehosan dengan dokumentasi eksport web rasmi, termasuk keperluan konfigurasi thread yang dipilih.

Kekalkan nama fail pasangan eksport konsisten dan uji artifak, bukan campuran fail lama dan baharu. Jika projek salah muncul, periksa cache service-worker dalam pelayar ujian. Kemudian gunakan input dan sahkan kandungan bergerak. Canvas tidak kosong ialah pemeriksaan render awal, bukan bukti gelung permainan berfungsi.

Semak kegagalan khusus eksport pada sasaran

Apabila editor berfungsi tetapi build diedarkan gagal, bandingkan pemilihan scene permulaan, sumber disertakan, konfigurasi dan log sasaran. Kekalkan hash artifak tepat supaya eksport semula tidak membatalkan rekod pembiakan. Uji dengan keadaan mula bersih sebelum bergantung pada simpanan sedia ada atau cache editor.

Jangan ubah mekanik teras untuk menyelesaikan fail pakej hilang. Betulkan sempadan pakej dan ulang laluan penerimaan yang sama dalam build sasaran. Untuk artifak desktop, gunakan sistem operasi sebenar; untuk artifak pelayar, gunakan pelayar dan persediaan pengehosan yang dimaksudkan. Eksport silang sahaja tidak membuktikan tingkah laku sasaran.

Tutup pembaikan dengan hasil sebelum dan selepas

Kekalkan pembiakan gagal, diff berskop dan tindakan berulang yang kini menghasilkan keadaan dijangka. Tambah pemeriksaan regresi pada sempadan yang menyebabkan kecacatan, kemudian ulang gelung permainan sekeliling. Rekod pembetulan manual dan permintaan yang digunakan oleh pembaikan gagal.

Contoh ini ialah prosedur diagnosis, bukan kes kegagalan-dan-pembaikan yang diterbitkan. Gunakannya untuk menghasilkan laporan konkrit daripada projek anda. Apabila simptom sama kekal selepas cadangan berulang, hentikan gelung automatik dan kumpulkan pemerhatian yang hilang dan bukannya meluaskan penulisan semula tanpa bukti baharu.

Soalan lazim

Ejen berkata permainan sudah dibaiki tetapi skrin kosong. Apa seterusnya?

Hasilkan semula simptom dan periksa ralat permulaan, scene aktif, kamera dan respons input. Mesej selesai bukan pemerhatian runtime.

Patutkah saya menjana semula seluruh projek?

Asingkan sempadan gagal paling awal dan kekalkan keadaan kerja dahulu. Pembiakan terfokus biasanya lebih mudah disemak daripada penggantian yang mengubah banyak sistem.

Mengapa pelayar menunjukkan permainan lama?

Semak identiti artifak, fail yang disajikan dan cache service-worker dalam pelayar ujian. Sahkan eksport semasa benar-benar dimuatkan.

Adakah pemeriksaan skrip lulus membuktikan boleh dimainkan?

Ia meliputi pemeriksaan yang dilaksanakan. Pendawaian scene, input, render, peralihan keadaan dan ketekalan memerlukan bukti runtime.

Apakah kandungan laporan pepijat berguna?

Identiti projek dan enjin, sasaran, langkah, keadaan dijangka dan diperhatikan, ralat berkaitan pertama serta scene atau fail terkecil untuk pembiakan.