I kinda fixed the problem, but another one came up: you see, as I told you before, the physical entity is a ball that only acts as a gizmo to position/rotate the camera. let me add here a little screenshot of my work up-to-now (the char is a ripped "Final Fantasy Tactics" sprite which I'm using to test the code before the artist in my team starts sending stuff), in here:
(seems like I can't print-screen anything while the engine is running, it messes up all the colors, does anybody knows why this happens? I'll post a screenshot here when it is finished...)
Meanwhile, I'll try to explain it here: it's an isometric view, always focused in the active "tile". all maps are composed of tiles, which are 32x32x16 quants in size. The player needs to be able to select a tile, and the camera will smoothly fly on it's direction, de-acelerating in the process. this camera will also follow characters when they are moving. All movement, cursor or character, will be tile-by-tile, but the actual motion will be smooth and realistic.
So, that's why I have this gizmo. it'll be invisible, of course, but I'm leaving it on now so I can see the processes better. the camera is permanently attached to the gizmo, so, all I have to do to move the camera is make the gizmo move. And moving the gizmo by applying forces to it makes the process esier to code AND smoother/more realistic.
my error before was that I forgot, the character sprites should be PASSABLE. really often the gizmo will need to overlap a sprite to indicate the camera to focus on the character, and I forgot to set this option. the gizmo was inside the character, and that's why the "freaky forces" event happened. It was fixed when I set passable = on in the character entity.
now I have another problem: is it possible to make the gizmo a ghost? I mean, able to fly through all the map's walls and entities?