hktanozkan
ozaii1337
EntityAi sistemi direkt minecraft da bunun basit bir versiyonunu kullanıyorGTA 6'da olması beklenen bir npc sistemi var. Her npc'nin kendine göre bir hafızası vs. var. Geçmişi hatırlıyor, düşünüyor, söylenen sözlere göre hareket ediyor gibi.
NPC'ler kişiye göre farklı tepkiler veriyor. Hava durumunu algılayıp buna göre davranıyor. Sabah işe gidiyor. Akşam evine geri dönüyor. Kendine göre bir karar mekanizması var. Tamamen yaşayan bir insan gibi davranıyor kısacası.
Bu sistemi Minecraft npc sistemi olarak kodlarsan çok memnun kalırım.
package net.minecraft.entity.ai;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityIronGolem;
import net.minecraft.village.Village;
public class EntityAIDefendVillage extends EntityAITarget
{
EntityIronGolem irongolem;
/**
* The aggressor of the iron golem's village which is now the golem's attack target.
*/
EntityLivingBase villageAgressorTarget;
public EntityAIDefendVillage(EntityIronGolem ironGolemIn)
{
super(ironGolemIn, false, true);
this.irongolem = ironGolemIn;
this.setMutexBits(1);
}
/**
* Returns whether the EntityAIBase should begin execution.
*/
public boolean shouldExecute()
{
Village village = this.irongolem.getVillage();
if (village == null)
{
return false;
}
else
{
this.villageAgressorTarget = village.findNearestVillageAggressor(this.irongolem);
if (this.villageAgressorTarget instanceof EntityCreeper)
{
return false;
}
else if (!this.isSuitableTarget(this.villageAgressorTarget, false))
{
if (this.taskOwner.getRNG().nextInt(20) == 0)
{
this.villageAgressorTarget = village.getNearestTargetPlayer(this.irongolem);
return this.isSuitableTarget(this.villageAgressorTarget, false);
}
else
{
return false;
}
}
else
{
return true;
}
}
}
/**
* Execute a one shot task or start executing a continuous task
*/
public void startExecuting()
{
this.irongolem.setAttackTarget(this.villageAgressorTarget);
super.startExecuting();
}
}
hktanozkan
EntityAi sistemi direkt minecraft da bunun basit bir versiyonunu kullanıyor
ozaii1337
eed dediğiniz şeylerde ekstradan ekleniyor EntityAi sistemin adıHocam burada kalıcı hafıza, geçmiş olayları hatırlama, oyuncuya göre farklı davranış, diyalog veya söze göre karar değiştirme, günlük program, kişilik vs. vs. nerede ? Bu gönderdiğin kod vanilla minecraft'ta iron golem davranışlarının kodu. Köyü koru, creeper varsa saldırma gibi davranışların çalışma mantığı.
hktanozkan
Yapılamayacak bir şey yok. Ben bunu söylemiyorum zaten. Arkadaş isteklerinizi belirtin kodlayacağım dedi. Bende bu şekilde bir istekte bulundum. Bu temel kod mantığının üzerine eklemesi gereken tonlarca yapı var. Her NPC için ayrı veri tutulması gerekiyor, hafıza sistemi baştan sona eklenmesi gerekiyor, her npc için kısa süreli uzun süreli hafıza tutulması gerekiyor, işin içinde karar verme motoru olacak bu basit bir şekilde if else ile yapılabilecek bir işte değil. Yine her npc için günlük rutin sistemi kodlaman gerekiyor. Her npc için dünya algılama sistemi, kişilik sistemi...eed dediğiniz şeylerde ekstradan ekleniyor EntityAi sistemin adı
misal goleme ekstradan gece olunca kendini onarması veya köyün ortasına gitmesi eklenebilir tarzında
fikir güzel denerim aslında ama çok fazla bilgi sahibi deilim bu konuda misal diyelim kullanım alanı hakkında bilgi verirsen nerede kullanıcaksın nasıl çalışıcaklar etkileşimi nasıl olucak hazır şeyleri yapıcak sıfırdan bir ai yapamayız bunun için ama belki api ler ile kullanılabilirde birçok sorunla karşılaşılırGTA 6'da olması beklenen bir npc sistemi var. Her npc'nin kendine göre bir hafızası vs. var. Geçmişi hatırlıyor, düşünüyor, söylenen sözlere göre hareket ediyor gibi.
NPC'ler kişiye göre farklı tepkiler veriyor. Hava durumunu algılayıp buna göre davranıyor. Sabah işe gidiyor. Akşam evine geri dönüyor. Kendine göre bir karar mekanizması var. Tamamen yaşayan bir insan gibi davranıyor kısacası.
Bu sistemi Minecraft npc sistemi olarak kodlarsan çok memnun kalırım.
hktanozkan
Dostum bu eklentiyi yapmak baştan sona bir eziyet. Bunu tek başına yapamazsın mümkün değil. Eklentileri sen mi kodluyorsun yoksa AI araçlarımı kullanıyorsun bilmiyorum ama bu eklenti için AI'da fayda etmez maalesef. Ben öyle bir esti kafama fikir attım ortaya bunu yapmak zorunda değilsin. Yine de teşekkür ederim...fikir güzel denerim aslında ama çok fazla bilgi sahibi deilim bu konuda misal diyelim kullanım alanı hakkında bilgi verirsen nerede kullanıcaksın nasıl çalışıcaklar etkileşimi nasıl olucak hazır şeyleri yapıcak sıfırdan bir ai yapamayız bunun için ama belki api ler ile kullanılabilirde birçok sorunla karşılaşılır
dediğim şeyi yanlış anlamışsın npc lere bir ai kodlyamayazı dedim eklentileri pluginlerin çoğunluğunu kendim kodluyorum ai dan kastım npc sistemine her ai özel haraketler belirlenmiş birşey yerine duruma bağlı karar kabiliyeti gibi düşünmüştüm doğrusunu demem gerekirse pek böyle bir fikrim yoktu düşüncemde daha basit çaplı pluginler bekliyorum isteğin olursa yazmaktan çekinmeDostum bu eklentiyi yapmak baştan sona bir eziyet. Bunu tek başına yapamazsın mümkün değil. Eklentileri sen mi kodluyorsun yoksa AI araçlarımı kullanıyorsun bilmiyorum ama bu eklenti için AI'da fayda etmez maalesef. Ben öyle bir esti kafama fikir attım ortaya bunu yapmak zorunda değilsin. Yine de teşekkür ederim...
Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!