|Joe||I've found these two classes in a few SCI games, and I was just curious of what they do. Any ideas?|
I take it these are from an SCI1 game? Avoid is part of my in-progress VGA template game.|
Avoid is a path finding routine. In SCI0, if you click for the ego to walk somewhere, if there's anything in the way, ego will bump into it and stop. SCI1 supports "Avoid", so it has smart paths. It can flawlessly walk from one end of the screen to the other without bumping into things. It automatically walks around obstacles. This calls a kernel called DoAvoider()
I haven't come across Chase, but it is probably like the "Follow" class.
|Joe||If you have seen PQ2, Keith follows Sonny and walks around obstacles that would stop him. Maybe this is an example? I've found these in LSL2, PQ2, KQ1Remake, and a lot of SCI1 games. Just curious.|
|Joe||Oh, and what interpreter version is DoAvoider supported by?|
DoAvoider is an SCI1 kernel. It's in my VGA template game which runs on SCI Version 1.000.577.|
I haven't inspected PQ2, LSL2 or KQ1 VGA's class systems too much.
Brian Provinciano wrote:
No. It was used in certain (pre-0.000.572) early versions
of SCI. I wouldn't concern myself with its purpose
since it is a NOP in the version that comes with SCI studio,
and it hasn't been reinstated since then. In other words, calling it
does absolutely nothing.
Re the Chase/Avoid thing: LSL3 is the only game that doesn't include these classes.
I'm discussing the matter with Brian on IRC right now. One of us will probably rewrite them sometime.
|Brian_Provinciano||Whoops! I did make a mistake. It's the SCI1 kernel "AvoidPath" which I was thinking of. I get mixed up because I've been going through over two thousand lines of byte code a day, heh.|