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.

Başarısız oynanış, yeni bir kabul kontrolünden önce motor gözlemleriyle incelenebilir bir değişikliğe geri döner.
Düzeltme dışa aktarmaya geçmeden önce aynı gözlemlenen davranışa dönmelidir.
BelirtiÖnce inceleYeniden test sonucu
Proje açılmıyorYol, sürüm ve bağımlılıklarBeklenen proje yüklenir
Boş sahneBaşlangıç hataları, sahne, kamera ve görünürlükBeklenen içerik görünür
Girdinin etkisi yokOdak, eylem eşlemesi, durum ve işleyicilerEylem 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ızPaketlenmiş kaynaklar ve platform günlükleriHedef 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.