This is some very interesting stuff right here. I would like to try this out for myself if possible.
I've been messing around in single player a bit and indeed, large movements of units continue to be a thorn in the side of the game. I get ~110 fps in game throughout the game but as soon as units need to move you get freezes, the time it takes for the engine to calculate everything.
I'm still unable to code anything. I still have a question though.
Would it be possible to find a way to rewrite pathfinding code so that it's well-threaded? e.g. it will scale off more than one CPU core. This is what I get after playing a single player skirmish: http://i.imgur.com/0I5eoBs.png
I'm not sure how it would be possible though. I'm guessing that every unit would have to recalculate its path using the exact same equation or something? The only thing that changes for each unit's equation are the variables of the problem. Would that be well-threaded or something? Or perhaps task the thread for long-range path-finding to one core and then the other thread for short-range path-finding to another core. Everyone has at least two cores on their CPU. I understand it's difficult to make a task scale off more than one core obviously. However, shouldn't it be possible?
I actually have no idea what I'm talking about but maybe we can start a discussion or something, idk. Pathfinding and multiplayer lag are the two biggest issues with 0 AD which are, imo, the issues that need to be looked at the first. I understand that obviously, these are probably the most difficult problems to tackle. This is why I'd like to try out / discuss ickylevel's pathfinding solution. I understand there are certain rules that need to be followed, given that this is an open-source project (i.e. a continuity that everyone needs to follow). However maybe those rules should be tweaked to be more lenient.
Personally, with formations gone, units have interesting movement. I actually feel they're more realistic now, especially the way cavalry moves around the map. The way they clump up when they arrive at their destination is less than realistic though, I don't think that's a big issue though.