After a few late-night sessions, and much head-scratching, it became apparent that I'd probably have to use an A* algorithm - great as they are, the in-build functions just won't cut it in terms of what I want to achieve. Luckily, I have a very small and sweet A* testbed created in Blitz+ which I had planned to use for the earlier incarnation of Citadel, so I'll need to set aside a chunk of time to convert it across to GM.
* * *
Today I had a chunk of time to kill, so I spent a couple of hours re-reading Martin Walker's Citadel diary in Zzap!64, mainly to familiarize myself with his thoughts on the enemy AI (I'd previously gone through his diary and written copious notes, but this was a great refresher). It was extremely useful, for instance, to see how he built up the enemy behaviors layer by layer, adding more complex attributes for some of the more advanced enemies (it had completely escaped my mind, for example, that many enemies will follow the player but stay just out of reach of the player's weapons).
* * *
This afternoon, I had planned to take a pass through some of GM's various tutorials; thus far I've been watching some YouTube videos, but although they're great for covering specifics, it's very easy to overlook some of the fundamental basics, and given that I'd been banging my head against the wall over global/local variables recently, I figured I'd go back to square one.
