Thursday, September 28, 2006
Breaking my own rule that improvements should be belayed until such time as the original game has been reimplemented, I've added waypoints and path finding to agent movement in FreeSynd. I found this documentation of the A* path finding algorithm to be most enlightening.. although, frankly, the sketch is more than adequate to implement a useful algorithm for agent movement.
It always annoyed me when I told my agents to go to point X and they got stuck inside buildings or took some inordinately long path. Now you can hold down the ctrl key and enter waypoints manually, or you can let the path finder do its job (this is the default). Pressing the ctrl key without clicking the mouse will display the selected agents' current path(s) as a bright yellow line. At the moment the planning algorithm does not take elevated terrain into account, so trying to send agents onto bridges or up stairs simply won't work just yet.
There's still a hell of a lot to do before the game is playable, including shooting, enemy AI, vehicle controls, sound, etc. But if you'd like to play around with the path finding, you can grab this all-in-one package I've put together. It includes windows binaries, all the required data files from the original game and source code (so you can build it on linux if that's your prefered platform). If you feel the urge, please report bugs on the bug tracker. I'd also love you hear any ideas you have for new features.