is it ok to implement collition detection seperately and only when the player (or entity)moves¿? let's say.. when the player moves right
it will only check for collision in that direction.. same will apply for lets say.. and AI that moves on any direction it will check for collition in that direction if it does a battle will start (because it's an rpg, battles are usually encountered by touching an enemy or walking on certain areas)
Sounds fine to me - the tutorial approach of checking everything against everything is just naive to keep things simple.
the way im implementing levels on the world is like this: Im making a class Level that contains the background of the level and an arraylist that keeps all the entities that exist in that level (for collision detection) so I made an array of this level class and put on the player class to variables posWX and posWY that represents the coordinates of the player in the world so when the player reaches a limit of the level in lets say ... Right the posWY (since its level[WX][WY]) gets updated (posWY++) hence the game loop starts drawing that level and everything that's on that level (also adding the player there so it doesnt dissappear) Im I doing it ok or theres a much better way of doing this¿?
Again sounds pretty reasonable for a first ditch. You're probably best to follow:
a) Make it work - get it working and act as you expect
b) Make it perform - optimize anything that doesn't perform well enough for your needs
c) Make it pretty - make the code look nice, make it extendable, make it safe.
And also, what's up with FPS on my game, it seems that on diffrenet comps is not the same at all, is there a way to ensure that things like that don't happen.
In short, not really no. If you're using some native binding you can stick vsync on. That'll cap the FPS to your monitor refresh rate. If not, you could use a timer to ensure the frame takes a fixed timed by sleeping for anything remaining (thats what space invaders 102 is about). However, crap machines will always run slower than good machines. You can either cap reasonably low, only support certain hardware or cope with the frame timing differece.
what's a good tool to make my app stand alone (.exe) I've tryed a lot of free software but none of them could actually made the application stand alonable.
I like JSmooth - http://jsmooth.sourceforge.net/
what's a good tool to make a setup or w.e to deploy my app (preferably that's not webstart, I can learn how to do it on my own with webstart)
Webstart isn't so bad. Round here, if you want any one to bother looking at your stuff it needs to be webstarted or an Applet. There's a lot of nonsense thrown around about the differences and which is better. It doesn't really matter a great deal.