Bir düzeyde oyunun önceden hesaplanmış bir yolu takip ettiğini söyleyebiliriz. Yarış oyununun parçaları (genellikle) zaten önceden hesaplanmış bir yol olduğundan.
Parçaları rasgele üretmekten bahsediyor olsak bile, oyun arabanın oraya ulaştığı an boyunca parkurların mevcut kısmını hesaplamış olmalı.
Kolaydı. Bununla ilgili başka bir şey var mı?
Her ikisi de, önceden hesaplanmış bir yolu izlemek ve aracı sistematik olarak kontrol etmek oyun endüstrisinde kullanımlara sahiptir. Cevap her ikisini de kullanmaktır.
Öncelikle, "bir eğrinin hesaplanmasının" iki anlama gelebileceğinden bahsetmek istiyorum:
Ne kadar sorgulamak istediğinizi parametre olarak kullanarak, eğri üzerindeki konumu çıktılayacak işlevler oluşturma.
İzlenecek nokta listesi (veya talimatlar ve diğer kontrol bilgileri) olarak anlaşılan bir yol oluşturma.
Birincisi tahmin için veya bazı fizik simülasyonlarında yararlı olabilir. Ancak, bir nesneyi kontrol etmek hakkında konuştuğumuzda, ikincisi önerilen yaklaşımdır.
Not: Eski oyunlar (1980'ler) için daha fazla engelleri taşımak gibi diğer arabalar. Onlardan kaçınmanız ve onları aşmanız için oradaydınız. Biz bunlardan bahsetmiyoruz.
Önceden hesaplanmış bir yolu izlemek için: Bu, sinema veya tekrarlanabilir sahneler için kullanışlıdır. Örneğin GTA San Andreas'ta kovalamaca misyonları kovalamaca hedefini ve tüm arabalar önceden tanımlanmış bir yolu takip eder (bu kovalamaca hedefinin trafiği önleyebilmesini sağlar ※). Yine de, onları rahatsız ettiğiniz anda AI kontrolüne geri dönerler, bu durumda AI, normal yolunu izlemesi gereken yere ulaşmak için yol bulmak zorunda kalacaktır.
※: Aslında önceden kaydedilmişti. Kayıt ve oynatma GTA SA oyun motorunun yeni özelliklerinden biriydi.
AI tarafından kontrol edilir:
AI en basit haliyle bir devlet makinesidir. Ne olduğunu kontrol eder ve buna bağlı olarak bazı eylemler gerçekleştirir. Bu durum ve eylem kombinasyonlarından davranış olarak bahsedeceğim. İşlemlerin oyuncunun gamepad ile eşleşmesi gerekmez. Davranışlar da değil.
Basit bir oyun için, muhtemelen sadece iki önemli davranışa ihtiyacınız vardır: 1) pistlerde ise, diğer otomobillerden ve engellerden kaçınarak pisti takip edin ve 2) pistlerde değilse, pistlere geri dönün.
Bu aşamada, bir yolu (izleri) takip etmekten uzak değildir. Ancak, parkurlar gerçekten bir çizgi olmadığından, bir yolu takip etmekten değil, buna yakın kalmaktan (diğer arabalardan ve herhangi bir engelden kaçınırken) bahsediyoruz. AI'nın “direksiyon, frenleme ve hızlanma” yı çözmesi gerektiği anlamına gelir.
Modern bir oyun için, araba da fizik simülasyonuna tabi olacak (çarpışmayı çözmek ve gerçekçiliği korumak için). Bu nedenle, oyun döngüsünün her bir yinelemesi, otomobilin hızına ve hızlanmasına bağlı olarak güncellenecek ve mevcut davranışı takip etmek için “direksiyon, frenleme ve hızlanma” (hıza ince ayarlar) uygulanacaktır.
Ayrıca modern oyunların daha karmaşık davranışlara sahip olabileceğinden bahsetmek istiyorum, örneğin AI başka bir arabaya çarpmayı veya yollarını engellemeyi seçebilir. Aslında, AI bir tür makine öğrenimine göre hangisinin uygulanacağını bile seçebilir, ancak araştırıyorum.
Son olarak, oyuncu görünümü dışındaki AI araçları için daha basit bir kontrole sahip olmanın da yararlı olabileceğini düşünün. Performans ya da Lastik Bantlama için (bu durumda AI arabalarını oyuncuyu yakın tutmak için yarışı ilginç tutmak için, herhangi bir rakibi gerçekten geride bırakamadığınızda AI hile olarak kabul edilebilir).
Animasyon hakkında, tekerlekler için fiziği bağımsız olarak simüle etmek genellikle iyi bir fikir değildir. Bunu yaparsanız, oyuna gerçekçilik katabilir, ancak performansa mal olacaktır. Genellikle oyun, tekerleklerin hareketi açısından davranışı ifade etmek ve sonuçlarını simüle etmek yerine davranışları temel alarak tekerlekleri canlandıracaktır.
Tabii ki, tekerleklerin zemine uygun olup olmadığı konusunda ek dikkat göstermeniz gerekebilir. Ve belki de süspansiyonun canlandırılması.