[FE7] The Primordial AI Expansion

Basically, just a series of short projects to work on developing an understanding of the enemy’s AI while creating useful new things.

First off; things readily accomplish-able:

Enemy able to use Tonics (Recover 20HP) (I plan on making this ASAP)

  • Done, see Tech Demo 5

AI to make an enemy just walk around in squares. Yep, just for fun and practice!

  • Done, see post 8.

More complex stuff possibly in the future

[-] Enemy able to use custom staves (E.g. Filla’s Might effect staff) (I think the basis for this is done)

  • Rewarp? Though that’d be a pain, pain, paaaaain to make. Maybe better categorized below.

[-] AI Assembly

Really ridiculously complex stuff that we should just dream about

Enemy dancers. (Would take an investigation of how the player’s dance option works, whether it stores any ID for action taken anywhere and what routines it calls)

Enemies that can bait and switch?

AI that can Canto. To any degree.

1 Like

Something that would be really cool would be to have groups of units that aggro as a group; for a group of enemies with some AI byte, if you step into the range of one/two/three of them (with some way to define this number), then all of the enemies with that AI byte would charge.

My understanding of the inner workings of the AI is minimal though, so I don’t know if it’s be practicable.

Making enemies walk in squares should probably take advantage of those auxiliary AI bytes in the unit data; so, every time the unit reaches a corner it would set a bit, and when it reached the end of the circuit it would clear all the bits?

Actually… YES. I think I can do that. May have to edit some things.

You could always use another character slot :stuck_out_tongue:

Nah, I’ve done that before, and it causes freaky weirdish errors sometimes. AKA don’t do it.

Each AI can have several sub-AIs specified by the byte after AI1. It can switch among these. So one can aim for one corner, then switch to another that aims for another, then switch when it reaches that, then switch etc.

I might need ram for your idea though since the different enemies need to communicate as to whenever one has gotten something in range. But I can always loop through deployed units to check if any have the AI1/AI1data combination for having seen something in range.

Just a note for expansion(This all is just for AI1, so far):
We can expand the AI data, which a simple table expansion, and the jump table expansion. In the case of a jump table expansion, do the following things:
increase the space on stack allocated and deallocated at 080376DA and 0803772E

Remove the check performed at 080376EE and 080376F0, or at least, increase the upper range.

1 Like

Brainstorm for enemy dancers:
[3:53:24 AM] Crazy Colorz: " enemy dancers," oh my god no freaking way
[3:53:30 AM] Crazy Colorz: lol :stuck_out_tongue:
[3:53:48 AM] Crazy Colorz: Actually, it may just be a case of “< generic healing AI>” else look for strongest waited enemy nearby.
[3:54:17 AM] Crazy Colorz: You know how like, enemy AI is handles sequentially? So like, you get enemies that block off each other —
[3:55:18 AM] Crazy Colorz: All failing, I can just re-queue them manually at the end of the enemy AI somehow…
[3:55:30 AM] Crazy Colorz: goes sticks these notes in the AI expansion as notes

Did this

Make it so that the AI can’t target itself with barrier

oh god I experienced this so many times. It’s a hilarious dumb glitchy AI bit, but I kinda wanna make them able to target themselves with other types of staves?

Make the AI able to use FE4 canto.

Too complex 5 me