Re: Official KaM Remake Bugs topic
PostPosted: 26 Jul 2012, 16:02
Yeah, but serf look younger than laborer, and laborer's voice sounds younger than serf's... That why I think it should be changed.
Talk about Knights and Merchants!
https://knightsandmerchants.net:443/forum/
https://knightsandmerchants.net:443/forum/viewtopic.php?t=853
Yeah, but serf look younger than laborer, and laborer's voice sounds younger than serf's... That why I think it should be changed.
Ok, I found small bug: in Polish languige (propably) serf have laborer's voice, and vice versa. This should be fixed.
Hmm... It isn't possible to change voices only in Polish languige? For me, serf's Polish voice sounds really oddly.
PS: I couldn't resist and did a complete subversion checkout of the source code, and, although my Delphi knowledge is limited, I must say that you guys work well structured, keep it up!
If he starts off in some guessed direction, then he won't be positioned at the start of the route being calculated so we'll have to somehow adjust the route when it it returned from the thread to compensate for the fact that we have moved (although we probably only moved 1 tile so I guess it's no big deal).
There's another problem with pathfinding for groups that you might be able to help with: If you order a group to go around a mountain, they all take the shortest route, right next to the mountain. This means they all want to march in a single file line, but that's much slower/less efficient than walking side-by-side (this is why the AI always attacks you in a single file line in KaM). Someone suggested some kind of "swarm" algorithm to solve this. I guess just preferring to not step on someone else's route would be a good start, but I can't think of how to make that efficient...
If you have any ideas about that we'd be very interested to hear them!
(...)
Our shortest path algorithm (we call it path finding) uses A*, (A-Star) search for it on Wikipedia, there's an animated GIF showing how it works. I've heard it's commonly used in games. It's very much like Dijkstra's algorithm (GIF) but it checks the closest tiles first, (so it feels out in a straight line to the target until it hits an obstacle, then it feels around it always searching for the closet tile to the target) whereas Dijkstra's just does all the tiles in sequential order so it takes longer. This is nice because we can give different weights to each tile, for example we've made it so tiles with a unit are weighted higher than empty tiles so serfs avoid walking along busy routes and favour less busy roads.
(...)
To be honest I can't think of another way to write a network system for an RTS which wouldn't require a huge amount of network traffic or be very complicated to code, although I guess there are other methods.