This isn't completely fixed by its a step in the right direction. Wall detection now works (although quite jiddery). X,Y values don't move (Velocity withing scrolling confuses me like mad, so I removed it (It can easily be re-added)). Tell me if you want anything more done, I appriciate it can be better :)