Я когда то давным давно столкнулся с такой же проблемой. И решил ее путем написания простой программки, которая в принципе ничего такого сверхъястественного не делает. Просто создается имитация игры. Когда я сделал первый экскиз данной игры, я начал ее изменять (приводить к более красивому ввиду). Во время рефакторинга начал знакомится с новыми best подходами, какими то паттернами. Также появились еще идеи как наложить дополнительные фичи и двигать игру дальше.
UPD Вот собственно с чего все
началось