AlimAdam

Yeni üye
13 Mar 2026
16
1
3
Merhaba,

Ben akıllı düşman seçimi oluşturmak istiyorum.
Aklımda bagzi fikirler var ancak hiç birine tam olarak karar veremedim.

1) En yakında ki düşmana saldır.

2) Şu kadar çaptaki bütün düşmanları listele, şu kadar çapa girince en yüksek puanlıya saldır. (Sürekli düşman değiştiriyor ambale oluyor ünit)

3) Şu kadar alandaki düşmanları listele, sonra etiketlerine göre saldır. Bkz: healer first, mage second, tank last.

Akıllı bir sistem yapmak istiyorum ancak düşündüğümden zor gelmeye başladı. StateTree kullanmak belki bagzi sorunları çözer ama su ana kadar denedigim şeylerde birim ya gereksiz odak değiştiriyor ya da akıllı olmuyor.

Mesela birden fazla kişiden oluşan iki birlik karşı karşıya gelince herkes boşta olan birisine saldırısın istiyorum, yani atıyorum 5v5 veya 10v10 durumda 3-4 kişi gidip bir adama dalmasın lol
 
Son düzenleme:
Merhaba,

Ben akıllı düşman seçimi oluşturmak istiyorum.
Aklımda bagzi fikirler var ancak hiç birine tam olarak karar veremedim.

1) En yakında ki düşmana saldır.

2) Şu kadar çaptaki bütün düşmanları listele, şu kadar çapa girince en yüksek puanlıya saldır. (Sürekli düşman değiştiriyor ambale oluyor ünit)

3) Şu kadar alandaki düşmanları listele, sonra etiketlerine göre saldır. Bkz: healer first, mage second, tank last.

Akıllı bir sistem yapmak istiyorum ancak düşündüğümden zor gelmeye başladı. StateTree kullanmak belki bagzi sorunları çözer ama su ana kadar denedigim şeylerde birim ya gereksiz odak değiştiriyor ya da akıllı olmuyor.

Mesela birden fazla kişiden oluşan iki birlik karşı karşıya gelince herkes boşta olan birisine saldırısın istiyorum, yani atıyorum 5v5 veya 10v10 durumda 3-4 kişi gidip bir adama dalmasın lol
Tag ekleyeceksin taga göre işlem uygulatacaksın. Behavior Tree bu işi kolaylaştırır.
Bende var mesela. Yaralı olanlara saldırmıyor düşmanlar. Ya da ilk önce kendisine saldırana saldırıyor. Fakat mesela ben düşmana vurdum bana geliyor diyelim başkası da aynı düşmana vurursa beni bırakıp ona hemen gitmiyor. Önce benimle biraz uğraşıyor ondan sonra ona geçiyor. Delayı falan var böyle.
Yoksa arada kalır git gel yapar ölür.

Fazla vurulunca yaralanması , sinirlenmesi, kendini savunup hasar soğurması falan gibi şeyler de ekledim. Bazen üzerine koşabiliyor art arda saldırabiliyor ya da fake atabiliyor.
Yüzüne UV ışığı tutunca eliyle ya da elindeki silahla yüzünü kapatabiliyor.
Çok vurulunca sarsılabiliyor.
Hatta stun yiyebiliyor.

Anlattığın şeyler bundan daha kolay bu arada.
 
  • Beğen
Tepkiler: AlimAdam
Peki etrafını saran düşmanlar için nasıl bir yöntem yapardınız. 5 kişi saldırıyor diyelim hepsi birden saldırmaması için içleriinden sadece 2 tanesi saldırır geri çekilir sonra diğer 2si saldırır geri çekilir gibi.
 
Peki etrafını saran düşmanlar için nasıl bir yöntem yapardınız. 5 kişi saldırıyor diyelim hepsi birden saldırmaması için içleriinden sadece 2 tanesi saldırır geri çekilir sonra diğer 2si saldırır geri çekilir gibi.
Birçok sistem var fakat en mantıklısı şu olur:

1 tane AI_ManagerBP yap. İçince yapay zekaları register et. Ya da yapay zekalarının Controlleri bu manageri tanısın. Oradan bilgi çeksinler yani.
AI Managere bir counter koy. Yapay zekaların , karaktere saldırdığında kimler saldırıyorsa Attackers (array) listesini bunlarla doldur. Fakat limit koy. Mesela 5 > ise doldurma.
AI controllerin de bunu ölçebilir. Oradaki değer büyük ise ya da şuanki bağlı olduğu npc o listede yoksa saldırmasın.

Hepsi birden hurrra diye uçmasın istiyorsan da ufak random delaylar ekle.

0.1 ila 0.3 arasında karar verme yetkisi yaparsan hepsi aynı anda gitmez yavaş yavaş gider farklı yollar izler.

Ayrıca attackers listesini ara sıra boşaltırsın. Mesela 10 saniyede bir liste boşalsın. Random diğer npcler eklensin. Böylece çıkanlar tekrar gelmez. Suffle yaparsın.
 
Bende kendi sistemimde toplu savaşlarda herkesin bir başkasına saldırıp aynı kişiye birden fazla kişinin , başka seçenek varsa, saldirmaması için bir sistem oluşturmaya çalışıyorum ancak her ne kadar harici bir menejer kullanmak istemesem de (her bireyin kendi kararını almasını istiyorum) bir yerlerde TArray tutmadan, yani menejer yaratmadan olmayacak anlaşılan. :( aslında bunu yazarken aklıma geldi, bireyin kendisi kendisine kaç kişi saldırdığını broadcast yapabilir mesela

1) Ahmet Mehmet'e saldırıyor . (Saldırgan limiti 1/1 dolu)

2) Veysel Mehmet'e saldirmadan once soruyor "Sana kaç kişi saldırıyor?"

3) Eğer cevap >1 ise şu kadar çevredeki düşmanların listesini yap

4)Mehmet olmayan en yanındakine saldır

Sanırım menejer olmadan ancak böyle olur. Neden menejer istemiyorum bende bilmiyorum lol ancak ne zaman hangi LLM ile konuşsam hepsi genel menejer öneriyor bir takım sebeplerden ötürü.
 
Son düzenleme:
çünkü llm daha önce birçok kez denenmiş en ucuz ve mantıklı yöntemi öneriyor, dediğin gibi attacker defender a sorarsa, ortamda 100 kişi olsa 50 si diğer 50sine sıradan soracak boş musun, bir de olayın tersi var. daha savaş başlamadan muhabbet arası olacak senin fps 15-20 sadece communication yüzünden, tek manager, tek structure, kim nerede kim kiminle çatışıyor belli, yeni düşman lazım, boştakilerden en yakın düşmanı tarat, milisaniyelik işlem. Amerikayı baştan aramana gerek yok, işin özeti gerçekten de budur.
 
  • Beğen
Tepkiler: AlimAdam
sen boyle soyleyince mantikli geldi, LLM uc gundur anlatamiyordu bana lol. 50 vs 50, 5000 sorgu yapar savasa baslamadan. Anladim o zaman TSet kullanmak gerekiyor o halde. Ne zaman LLM`e bir sey sorsam, ne kadar da sacma olsa "olur yapariz" diye konusmaya basliyor, guvenim kalmadi hic artik :D O zaman bu manager actor liste bilgisi tutarken pozisyon bilgisini de tutup ona gore mi oneri yapacak?
 
Son düzenleme:
sen boyle soyleyince mantikli geldi, LLM uc gundur anlatamiyordu bana lol. 50 vs 50, 5000 sorgu yapar savasa baslamadan. Anladim o zaman TSet kullanmak gerekiyor o halde. Ne zaman LLM`e bir sey sorsam, ne kadar da sacma olsa "olur yapariz" diye konusmaya basliyor, guvenim kalmadi hic artik :D O zaman bu manager actor liste bilgisi tutarken pozisyon bilgisini de tutup ona gore mi oneri yapacak?
Claude kullan. Bilmediği şeye bilmiyorum ya da pek emin değilim diyebiliyor. Saçma sapan şeyler yaptırmıyor.
 
  • Beğen
Tepkiler: AlimAdam