Ben de bu konuda çok fazla kaynak görmedim, ama bulduğum en iyisi muhtemelen:
Bu, düşman AI'ya şöyle bir bakış sağlar:
AI: Setup
{
TempVar:TurnsUntilGrenade = 3
TempVar:GrenadeAmmo = 4
}
AI: Main
{
If (Stage == 0) Then
{
If (TempVar:TurnsUntilGrenade == 0) Then
{
If (TempVar:GrenadeAmmo > 0) Then
{
Choose Random Opponent with Lowest HP
Use Hand Grenade on Target
TempVar:GrenadeAmmo = TempVar:GrenadeAmmo - 1
TempVar:TurnsUntilGrenade = 3
} Else {
Choose Random Opponent with Lowest HP
Use <Machine Gun> on Target
}
} Else {
Choose Random Opponent
Use <Machine Gun> on Target
TempVar:TurnsUntilGrenade = TempVar:TurnsUntilGrenade - 1
}
} Else {
If (TempVar:GrenadeAmmo > 0) Then
{
Choose Random Opponent with Lowest HP
Use Hand Grenade on Target
TempVar:GrenadeAmmo = TempVar:GrenadeAmmo - 1
} Else {
Choose Random Opponent
Use <Machine Gun> on Target
}
}
}
AI: Counter - General
{
If (Grenade Combatant's HP <= 3 * [Grenade Combatant's Max HP / 4]) Then
{
Stage = 1
} Else {
Stage = 0
}
}
Bununla, düşmanlarınızın muhtemelen içinde olabilecekleri farklı durumları yönetmek için bir devlet makinesine ihtiyaç duyacağını ve her devletin her dönüşü, düşmana sabit kodlanmış veya bir komut dosyası tarafından veriye dayalı olarak kendi davranışına sahip olacağını görebilirsiniz. dil.
Sıra tabanlı JRPG'ler arasında bile çok fazla varyasyon var, bu yüzden hepsi için bir kural seti yok. Örneğin, tüm parti komutlarını herhangi biri gerçekleşmeden önce verebilirsiniz veya seçtikten hemen sonra gerçekleştirilebilirler. Saldırı sırası rastgele olabilir veya daha sıklıkla Hız statüsü tarafından belirlenir.
Ancak, örneğin, önce tüm parti komutlarını verdiğiniz ve daha sonra tüm eylemin dönüşün sonunda gerçekleştiği tamamen dönüş tabanlı bir savaş sisteminiz olduğunu varsayalım. Şöyle yaklaşabilirsiniz:
- Savaşa katılan tüm varlıkları (oyuncular + düşmanlar) bir listede saklayın.
- Listedeki her oyuncu için girdi alın ve saklayın.
- Varlık listesini Speed özelliğine göre sıralayın.
- Listedeki her varlık için, eğer bir oynatıcı saklanmış eylemi yürütürse, aksi takdirde geçerli durum için AI komut dosyasını çalıştırın.
- İleri dönüş ve tekrarlama.
Savaş Mekaniği SSS da savaşlarda zaman yönetimi konusunda özellikle yararlı birçok bilgi vardır. Ancak ne yazık ki bu sistem (diğer adıyla ATB veya Aktif Zaman Savaşı) patentlidir, böylece benzer bir şey yapamazsınız.
EDIT Kısa süre önce FF7'nin uygulanması hakkında birçok teknik bilgi sağlayan bu web sitesini de buldum . Ne yazık ki savaş modülü bölümleri henüz tam olarak yazılmamış gibi görünüyor.