The files below are an original attempt at making a 2d tile based game, however I decided to scrap this project realizing many flaws in my design. If I was to try again I would use a game library probably lwjgl, and I would also plan it better.
However, recently I decided to revive this project in a small way because I decided it was a good platform to test path finding. The algorithm I decided to was was Dijkstra’s algorithm where the starting point is the NPC and the end point is the player. The controls are WASD to move and U to go to the player.
Runnable jar: http://tstableford.co.uk/downloads/pathfinding.jar
Source: http://tstableford.co.uk/downloads/pathfindingsrc.zip