1. How did you start learning to develop AI processes?
It was a natural outgrowth of the kinds of games I was making. When I started making TRPG Chapter 1, I knew less than nothing about programming, and so I took the shortcut of making enemy choices in battle 100% random. In Chapter 2, I suddenly had a spatial battlefield to consider, which meant figuring out decision trees to govern character movement and attacks based on the relative positions of various characters. (I did a terrible job of actually programming this at the time, but I at least had the general concept worked out by this point.)
TRPG:SoG and the Psy Arena games introduced backstabbing, and I really wanted a more sophisticated enemy AI for these, so I figured out a simple heuristic to make the AI choose targets more intelligently based upon whether the attack would backstab, whether the attack would kill anyone, whether it would hit multiple targets, and whether a healer was included in the attack.
By the time I got to Telepath Tactics, combat mechanics had become quite complex, but the basic structure of the heuristic from past games remained helpful, needing only a few tweaks (a simple penalty to each potential move's "score" based on energy cost relative to the damage it would do, watching out for friendly fire, being aware of the opportunity to drop enemies into environmental hazards, etc.)
The main AI snag in TT's AI was figuring out how to code pathfinding from scratch, which took me weeks of hard work with a pen and graph paper to work out. I ultimately gave away my pathfinding solution in the $125 tier for the game's Kickstarter.

2. What do you think of placing script names inside Atk tags to run them when that attack is executed, similar to items?
I've been thinking about implementing that for quite some time--and I'd have stuck this feature in long ago were it not for the fact that this will be somewhat laborious to implement. It's just a matter of priorities at this point; getting the game stable and running without slowdown remains top priority.
3. How do you handle storing custom variables? I've been puzzling this over for a while now, and haven't come up with an
answer that makes sense. Are you using a two-dimensional array to pair variable names and values together?
You guess correctly.
