Серебро в Code of Kutulu. Золото пока закрыто, в серебре я болтаюсь в самом низу. Такое впечатление что просто случайно хорошо подобрал эвристики и с противниками немного повезло. Ну и исправил много багов.



Выводы:




  • Надо писать юниты. Ошибка может закрасться в любой мелочи. Думаешь что код должен работать определённым образом - напиши на это юнит-тест!

  • Хорошо отлаженный код с простой логикой лучше продвинутого, но написанного абы как.

  • Хорошая визуализация помогает быстро визуально выхватывать странное поведение и необходимые прорехи в логике. В Kutulu у меня лабиринт преобразовывается в граф, и для визуализации я написал метод вывода графа с весами в формате DOT. Для небольших лабиринтов можно копировать dot-файлы прямо из окна вывода ошибок.



Есть впечатление что чтобы продвинуться выше в Code of Kutulu, обязательно придётся делать симуляцию и минимакс. Ну что ж, если так - это будет интересно. А пока жду третьего числа и открытия серебра в Legends of Code and Magic. Там надо написать минимакс хотя бы для одного боя.



@темы: программирование, игры