Örnek Olaraak
Araba oyunundaki diğer arabalar.
Ateş ettiğiniz canavarlar
RTS oyunlarındaki rakip nişancı
AI Kullanımı
Yapay Zeka Kullanıcının Herbir yeni hareketine göre tekrar kendini çalıştırarak yeni bir konum belirlemelidir.
Her Yerde Kullanılmalımıdır?
Yapay Zekanın Amacı
Amaç Temelli Ne Yapacağı sıkı kurallarla verilmiş. Bu hareketi yap şu hareketi yapma.
Hemen değişen durumlara yanıt verme.
Knowledge intensive - the AI knows a lot about the world and how it behaves, and embodies knowledge in its own behavior
Karakteristik olarak sadece bazı olaylara yanıt verme.
Ayrıca AI sayesinde
AI hızlı ve kolay geliştirmeye yardımcı olur.
CPU ve RAM kullanımını azaltır.
Yapay Zekaların Video Oyunlarında Kullanımı
5-10% CPU Gerçek Zamanlı
25-50% CPU for Durum Temelli
Takip /Kaçış davranışları
Grup davranışları
Sonlu durum makineleri
Adaptasyon / Öğrenme
Takip Kaçma
En kısa yol algoritması bu durumlar için kullanınıla bilir. Canavarın oyuncuyu en kısa yoldan yakalaması. Araba yarışında diğer arabanın oyuncuyu en kısa yolu bularak geçmesi.
Örnek Kod
Oyunu oynayan ile Oyundaki canavarın konumlarının alınıp
en kısa yoldan canavarın kullannıcı üzerine saldırması
Predator is at coordinates (predatorX,predatorY).
Prey is at coordinates (preyX,preyY).
if (predatorX > preyX) {
predatorX--;
} else if (predatorX == preyX) {
// do nothing
} else {
predatorX++;
}
if (predatorY > preyY) {
predatorY--;
} else if (predatorY == preyY) {
// do nothing
} else {
predatorY++;
}
Algoritmayı Geliştirmek
En Kısa Yolun Bulunması
Algoritmayı Geliştirmek
Bresenham’s algoritması ile En Kısa yolun farklı bir şekilde bulunması
Ekran ile Bu işin bulunması
Ekrandaki Pixel ilede bu işler gerçekleştirilebilir.
Ekrandaki Pixel ilede bu işler gerçekleştirilebilir.
Örnek Bir Kaçma Algoritması
Terimleri Tanımlama:
Closing velocity, Vc = Vprey – Vpredator
Range to close, Sc = Pprey – Ppredator
Time to close, Tc = | Sc | / | Vc |
Intercept position hesaplaması
Intercept position = Pprey + Vprey x Tc
Terimleri Tanımlama:
Closing velocity, Vc = Vprey – Vpredator
Range to close, Sc = Pprey – Ppredator
Time to close, Tc = | Sc | / | Vc |
Intercept position hesaplaması
Intercept position = Pprey + Vprey x Tc