Yapay zekâ ile üretilmiş oyunlarda hata ayıklama
Updated 2026-09-05
Başarısız olan ilk sınırı bulun, ajana yeniden üretilebilir bir belirti verin ve aynı oyuncu eylemini yeniden test edin. Gerçekte çalıştırdığınız motor ve derlemeyle başlayın.
Düzeltme istemeden önce arızayı sınıflandırın
En erken başarısız adımı belirleyin: proje keşfi, içe aktarma, ayrıştırma veya derleme, sahne başlangıcı, oyuncu girdisi, oynanış durumu, dışa aktarma veya hedefte başlatma. Sonraki belirtiler ilk arızanın sonucu olabilir. Motor sürümünü, proje revizyonunu, hedefi ve kesin yeniden üretimi birlikte tutun.
Örneğin hiç başlamayan bir sahne yeniden başlatma düğmesinin çalışıp çalışmadığını söyleyemez. Oyun paketini getiremeyen bir tarayıcı da denetleyiciyi test edemez. Kodu değiştirmeden önce hatayı doğru sınıra yönlendirin; böylece asıl önkoşul bozukken düzeltme döngüsü ilgisiz yamalar biriktirmez.
| Belirti | Önce incele | Yeniden test sonucu |
|---|---|---|
| Proje açılmıyor | Yol, sürüm ve bağımlılıklar | Beklenen proje yüklenir |
| Boş sahne | Başlangıç hataları, sahne, kamera ve görünürlük | Beklenen içerik görünür |
| Girdinin etkisi yok | Odak, eylem eşlemesi, durum ve işleyiciler | Eylem oyun durumunu değiştirir |
| Dışa aktarma başarısız | Ön ayar veya hedef önkoşulları | Varlık oluşturulur |
| Derleme yalnızca hedefte başarısız | Paketlenmiş kaynaklar ve platform günlükleri | Hedef aynı döngüyü tamamlar |
İlk anlamlı motor hatasını yakalayın
Godot'ta hata ayıklama panelini ve ilgili çalışma zamanı çıktısını kullanın. Unity'de derleme ve çalışma zamanı hatalarını ayrı inceleyin; oynama sonuçlarını yorumlamadan önce editörün hazır olmasını bekleyin. Başarısız komut dosyasını ve onu tetikleyen işlemi tanımlayan yığını veya konumu koruyun.
Ajana ilgili sahne veya nesne bağlamıyla birlikte odaklanmış bir alıntı gönderin. İlk hatayı gizleyen dev bir ayrışmamış günlükten kaçının, fakat tam kaydı yerel inceleme için saklayın. Kimlik bilgilerini ve kişisel verileri redakte edin. Yararlı bir rapor oyuncunun ne yaptığını, ne olması gerektiğini ve motorun gerçekte ne bildirdiğini söyler.
Gereksinimi değiştirmeden yeniden üretimi küçültün
Geri alınabilir bir proje durumundan başlayın ve kusuru hâlâ gösteren en küçük sahneyi veya eylemi izole edin. Soruna dahil olan gerçek denetleyiciyi, çarpışma kuralını veya kayıt sınırını koruyun. Arızalı sistemi tamamen kaldırmak temiz bir koşu üretebilir, fakat düzeltmeniz gereken davranışı da kaybettirir.
Aşağıdaki özet özgün bir teşhis şablonudur. Modelden sebep varsaymasını istemek yerine gözlemlenen ayrıntılarla doldurun. Tek bir açıklama ve dar kapsamlı bir değişiklik isteyin. Test tamamlandığında yerel düzeltmenin bozuk bir sahne geçişini gizlememesi için tam oyuncu yolculuğuna dönün.
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.Boş ekranı katmanlar hâlinde inceleyin
Önce motorun başlayıp başlamadığını ve hedeflenen sahnenin yüklenip yüklenmediğini belirleyin. Sonra kamera seçimini, görünüm boyutlarını, nesne görünürlüğünü, konumları ve sahneyi kaplayan bir katmanı inceleyin. Motor durumu ile gerçek bir yakalamayı birlikte kullanın: tek bir görsel sahnenin duraklatılmış, kamera dışında veya boş olduğunu göstermeyebilir.
Hiçbir şey görünmese bile girdi uygulayın ve durumun değişip değişmediğini gözlemleyin. Konum değişiyor fakat görsel değişmiyorsa işleme veya sahne başvurularına odaklanın. İkisi de değişmiyorsa sanatı ayarlamadan önce başlangıç ve girdiyi araştırın. Ajanın iki sistemi gereksiz yere yeniden yazmaması için her hipotezi bir gözleme bağlayın.
Girdiyi oynanış geçişi boyunca izleyin
Eylemi odak ve eşlemeden işleyicisine, ardından değiştirmesi gereken duruma kadar izleyin. Hareket matematiğini suçlamadan önce duraklatma durumunu ve arayüz müdahalesini kontrol edin. Yeniden başlatma arızası eksik bir işleyici, eski bir sahne başvurusu veya hiç sıfırlanmamış bir durum olabilir.
Düzeltmeden sonra eylemi birden fazla ilgili durumda test edin: ilk açılışta, kazanma sonrasında ve uygunsa kaybetme sonrasında. Yalnızca tekrarlanan turlarda görünen yinelenmiş işleyicileri veya eski nesneleri kontrol edin. Küçük ve eksiksiz bir mini akış bu yaşam döngüsü kusurlarını düğmeyi tekrar tekrar tek başına test etmekten daha iyi yerelleştirebilir.
Tarayıcı yüklemesini oyun mantığından ayırın
Godot web dışa aktarmasında oynanış kodunu düzenlemeden önce tarayıcı ağ ve konsol panellerini inceleyin. Dışa aktarılan HTML, JavaScript, WebAssembly ve oyun paketinin hedeflenen konumdan yüklendiğini doğrulayın. Barındırma ayarlarını seçilen iş parçacığı yapılandırmasının gereksinimleri dahil resmî web dışa aktarma dokümantasyonuyla karşılaştırın.
Dışa aktarılan yardımcı dosya adlarını tutarlı tutun ve eski ile yeni dosyaların karışımını değil, varlığı test edin. Yanlış proje görünüyorsa test tarayıcısında service-worker önbelleğini inceleyin. Sonra girdiyi çalıştırın ve hareket eden içeriği doğrulayın. Boş olmayan bir canvas ilk işleme kontrolüdür; oyun döngüsünün çalıştığını kanıtlamaz.
Hedefte dışa aktarmaya özgü arızaları kontrol edin
Editör çalışırken dağıtılmış derleme başarısız oluyorsa başlangıç sahnesi seçimini, dahil edilen kaynakları, yapılandırmayı ve hedef günlüklerini karşılaştırın. Daha sonra yeniden dışa aktarma yeniden üretim kaydını geçersiz kılmasın diye kesin varlık hash'ini koruyun. Mevcut kayıtlara veya editör önbelleklerine güvenmeden önce temiz başlangıç durumuyla test edin.
Eksik paketlenmiş dosyayı çözmek için temel mekaniği değiştirmeyin. Paketleme sınırını düzeltin ve aynı kabul yolunu hedef derlemede yeniden çalıştırın. Masaüstü varlıklarında gerçek işletim sistemini, tarayıcı varlıklarında hedeflenen tarayıcı ve barındırma düzenini kullanın. Yalnızca başka bir platforma dışa aktarmak hedef davranışını kanıtlamaz.
Düzeltmeyi önce ve sonra sonuçla kapatın
Başarısız yeniden üretimi, sınırlı farkı ve artık beklenen durumu üreten tekrarlanmış eylemi koruyun. Kusura neden olan sınırda bir regresyon kontrolü ekleyin, ardından çevredeki oyun döngüsünü yeniden oynatın. Manuel düzeltmeleri ve başarısız onarımların tükettiği istekleri kaydedin.
Buradaki örnekler yayımlanmış bir arıza ve düzeltme vakası değil, teşhis prosedürleridir. Bunları projenizden somut bir rapor oluşturmak için kullanın. Aynı belirti tekrarlanan önerilerden sonra sürüyorsa otomatik döngüyü durdurun ve yeni kanıt olmadan geniş bir yeniden yazmaya geçmek yerine eksik gözlemi toplayın.
Sık sorulan sorular
Ajan oyunun düzeldiğini söylüyor ama ekran boş. Sırada ne var?
Belirtiyi yeniden üretin ve başlangıç hatalarını, etkin sahneyi, kamerayı ve girdi yanıtını inceleyin. Tamamlanma mesajı çalışma zamanı gözlemi değildir.
Tüm projeyi yeniden üretmeli miyim?
Önce en erken başarısız sınırı izole edin ve çalışan durumu koruyun. Odaklanmış bir yeniden üretim, birçok sistemi değiştiren bir değiştirmeden genellikle daha kolay incelenir.
Tarayıcı neden eski oyunu gösteriyor?
Test tarayıcısında varlık kimliğini, sunulan dosyaları ve service-worker önbelleğini kontrol edin. Güncel dışa aktarmanın gerçekten yüklendiğini doğrulayın.
Başarılı komut dosyası kontrolleri oynanabilirliği kanıtlar mı?
Yalnızca çalıştırılan kontrolleri kapsar. Sahne bağlantıları, girdi, işleme, durum geçişleri ve kalıcılık çalışma zamanı kanıtı gerektirir.
Yararlı bir hata raporunda ne bulunmalı?
Proje ve motor kimliği, hedef, adımlar, beklenen ve gözlemlenen durumlar, ilk ilgili hata ve yeniden üretim için gereken en küçük sahne veya dosyalar.