they will look in a straight line from their collision points in what ever direction they are turned and if your collision points cross their "line of sight" then you battle the game would need to calculate however their movement to bring them properly to you maybe if we got the scale down to being 99x99 for each current square it would look good but less than 10x10 might look weird movement wise
And it all started with us just wanting sideways movement ...
"Disclaimer : I am NOT a coder .. please dont kill me for it ... what follows is only my personal opinion
and my litle knowlege i have from programming in C++ . I also may not understand what you are talking about and i am writing bullshit ."
Also i dont realy understand what you guys are talking . I am confused .
You are talking about center of character and all that for the encounters ... but .. isnt the characacter moving 1 BLOCK at a time .
Wouldnt just checking if the block the plaier is on has grass triger a chance of an encounter ?
And you said somthing about "line of sight" of trainers ... isnt that just the blocks directly infrond of him ?
and as i have understoud the game is based on actual game map, so if you changed the LOS of a trainer
and make it spread , that would mean you will have to fight EACH AND EVERY SINGLE ONE of them .
Also you will have to deal the calculation of the movement to properly come to you .. no .. just NO .
I dont think people want to fight every trainer there is in the game .