Merhaba arkadaşlar,
Uzun süredir üzerinde çalıştığım multiplayer bir oyun projem var ve projemde yapay zekanın önemi büyük.
Hayatımda ilk defa behavior tree kullanarak yapay zeka yapmak istedim, çünkü kaliteli olmalı ve zor kararları alabilmeli.Fakat bir problem yaşıyorum.
Yapay zeka beni kovalıyor vuruyor diyelim, fakat ben yanımdaki oyuncudan uzaklaşınca ona saldırmak yerine benim karakterim silinene kadar bana saldırıyor. Yani hafızasına bir kişiyi aldığı zaman o şahıs ölene kadar ona gidiyor , fakat olması gereken şey en yakında kim varsa o veriyi sürekli güncelleyip yakındakine saldırmalı. Biliyorum çok ufak bir yerde hata yaptım ama nerede yaptım :/






HandleSightSense adlı fonksiyon perception kullanarak herhangi bir düşmandan uyaran almayı sağlıyor , daha sonra bu uyaranı actor kısmına kaydediyor. Normalde bu single player için yapılmış fakat ben getallactors ile tüm oyuncuları foreachloop yaparak çektim ve gerekli bölüme bağladım. Onlardan birine eşit ise onu kovalıyor fakat belli bir süre kovaladıktan sonra Actor değişkeninin içini boşaltıp oraya en yakındaki gördüğü oyuncuyu yazması gerekiyor. Bu sorun ancak o şekilde düzelebilir.
LastKnownLocaiton ise görülen en son konuma gidip orada araştırma yapmasını sağlamakta. Delay falanda kullanamıyorum fonksiyonun içerisinde nasıl belli bir süre sonra actor değişkenini boşaltıp en yakındaki oyuncuyu ekleyeceğim ?
Uzun süredir üzerinde çalıştığım multiplayer bir oyun projem var ve projemde yapay zekanın önemi büyük.
Hayatımda ilk defa behavior tree kullanarak yapay zeka yapmak istedim, çünkü kaliteli olmalı ve zor kararları alabilmeli.Fakat bir problem yaşıyorum.
Yapay zeka beni kovalıyor vuruyor diyelim, fakat ben yanımdaki oyuncudan uzaklaşınca ona saldırmak yerine benim karakterim silinene kadar bana saldırıyor. Yani hafızasına bir kişiyi aldığı zaman o şahıs ölene kadar ona gidiyor , fakat olması gereken şey en yakında kim varsa o veriyi sürekli güncelleyip yakındakine saldırmalı. Biliyorum çok ufak bir yerde hata yaptım ama nerede yaptım :/
HandleSightSense adlı fonksiyon perception kullanarak herhangi bir düşmandan uyaran almayı sağlıyor , daha sonra bu uyaranı actor kısmına kaydediyor. Normalde bu single player için yapılmış fakat ben getallactors ile tüm oyuncuları foreachloop yaparak çektim ve gerekli bölüme bağladım. Onlardan birine eşit ise onu kovalıyor fakat belli bir süre kovaladıktan sonra Actor değişkeninin içini boşaltıp oraya en yakındaki gördüğü oyuncuyu yazması gerekiyor. Bu sorun ancak o şekilde düzelebilir.
LastKnownLocaiton ise görülen en son konuma gidip orada araştırma yapmasını sağlamakta. Delay falanda kullanamıyorum fonksiyonun içerisinde nasıl belli bir süre sonra actor değişkenini boşaltıp en yakındaki oyuncuyu ekleyeceğim ?