CheckIO and Empire of Code are websites that offer a variety of coding challenges in Java. You can compete against other users and climb the leaderboard to earn rewards.
VIM Adventures is a text-based game that teaches you how to use the VIM text editor.