First commit. Most gameplay mechanics work.