2. AI nedir?
• Oyun programlamadaki yapay zeka; oyun içierisindeki
kullanıcı dışındaki bütün objelerin insana özgü bazı
davranışları oluşturmasını sağlamaktır.
• Örnek Olarak
• Araba oyunundaki diğer arabalar.
• Ateş ettiğiniz canavarlar
• RTS oyunlarındaki rakip nişancı
3. 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?
4. 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.
5. 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
6. 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.
7. Örnek Kod
if (predatorX > preyX) {
predatorX--;
} else if (predatorX == preyX) {
// do nothing
} else {
predatorX++;
}
if (predatorY > preyY) {
predatorY--;
} else if (predatorY == preyY) {
// do nothing
} else {
predatorY++;
}
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).
9. Algoritmayı Geliştirmek
• Bresenham’s algoritması ile En Kısa yolun farklı bir şekilde
bulunması
prey
predator
10. Ekran ile Bu işin bulunması
• Ekrandaki Pixel ilede bu işler gerçekleştirilebilir.
11. Örnek Bir Kaçma Algoritması
Define a few terms:
Closing velocity, Vc = Vprey – Vpredator
Range to close, Sc = Pprey – Ppredator
Time to close, Tc = | Sc | / | Vc |
Current velocity of prey
We can calculate intercept position:
Intercept position = Pprey + Vprey x Tc
Current position of predator