Структура проекта - ScreamingScythe/botgame GitHub Wiki

Модули

  • gamedata - примитивы, которыми оперирует игровая механика. Тут скорее всего будет иметь место несколько иерархий наследования, поскольку детально весь процесс будет разбирать только игровая механика. (вот эту фигню надо бы писать "раз и навсегда", дабы потом модифицировать все, что угодно, кроме нее)
  • gameplay - игровая механика
  • gamemain - сюда зашиваем ту часть игровой механики, которая скорее всего будет оставаться постоянной по мере развития игры
  • vmapi - Прослойка, через которую крепится VM (хорошо бы писать "раз и навсегда"), по идее должна быть мелкой, фактически - толстенький абстрактный класс на мой взгляд вполне себе вариант
  • vmlua - Наша текущая реализация VM
  • gui - Гуи на огре.

Важные статьи

Сущности

Важные, но второстепенные задачи

Как будет протекать процесс:

  • Поступает заявка на бой извне. Файлик с ней и интеллектами ботов в кач-ве входных данных.
  • Происходит ее валидация
  • Возможно, в рамках валидации vmapi тоже влезает в процесс и каким-то образом меняет файлы с интеллектами команд.
  • Происходит формирование в памяти поля сражения и собственно бой
  • Генерится файл-реплей боя
  • Файл-реплей боя открывает юзер и смотрит его