Refactor diff-game and implement some features