Well.. That's a little pessimistic i think. Her's what i'm thinking.
When I first encountered the problem I didn�t really knew how I should think. I had seen examples before, but they all looked so complicated and illogical. I thought �How would I do in that situation�? I imagined myself In a room with ledges and obstacles, and a goal I had to reach. Well, I would start looking for a way to get up on one of the ledges. If I saw somewhere where I could climb up I would look if it was possible to continue from that position. I would keep exploring the environment with my eyes until I found a path leading all the way, then I would try to make it through that path.
Ok, to make the computer do this we would need something that is the computers "Imaginary self" running through the level searching for paths. So every second or so the computer spit out two of these:
<img src="http://img166.imageshack.us/img166/1319/imagiss6.png">
The purple things are what's going to be detectors, carefully placed and stretched depending on the players jump strenght, max speed and current speed, checking for every posibility to jump up on something, down to something, or over something. This little dude is run with the same platform movement engine as the actual enemy, only it is run by loops, in infinite speed.
So what happends now. Take a look at this picture.
<img src="http://img501.imageshack.us/img501/8349/pathsandnumbersdj9.jpg">
At first, the enemy send one helper in each direction. The helper to the left run straight into the wall, and is destroyed (1). The second one is looped forward until its detectors tell him there is a ledge in front of him, low enough to reach (2). Now the helper clone himself, and the new helper jump up on the ledge. The second one keeps running forward and is destroyed by the wall.
The only helper left now is the one on the top of the first little hill (3). He's now detecting one ledge on each side of him, and he duplicates himself two times sending one in each direction. He keeps running forward, and crashes into the wall (4). The helper going left finds another platform to the right of him, clones himself and runs forward (5). All helpers leave a trace behind them, so when When he comes close to the ground (6) he finds the trace of another helper. That means someone has allready been there, so the helper is destroyed. The one who survived by going right finds a new ledge to the left and sends one of his clones up there (7). As he continue going forward he will collide with a helper who's parents went right at number 3 (8). They will both be destroyed since they know both paths have been explored by the other one. One thing i can't really imagine though is how it would be possible to detect situations like the one at number 9. maybe he could like "throw " detectors in diferent speeds and see if anyone of them collide with something. In this situation he would find him anyways by just running forward.
Well, we finally found him!
For this to work, this whole process of finding the player should be one big loop that should run once every second or so without ever being noticed, allways updating the best path to the player. The information about which path is best should be stored somewhere, and the enemy should just have to take the exact same way as the one succesfull helper.
It would be one hell of a challange, but it has never been done before, so it would be an absolute revolusion to the platform games!