предполагается, что мы делаем глобальную стратегию, мультиплеер и пошаг. в соответствии с этим брать мелкие отрезки времени не представляется возможным, как и регулируемую скорость "перемотки ходов".
как в таком случае реализовать военные действия? выход следующий: армии имеют "оперативный радиус". при попадани в оперативный радиус армии противника происходит рассчет столкновения армий. Армиям можно задавать способ их поведения например (грубо) атаковать, защищать какой-то объект, избегать сражения. Так же и наступающей армии можно задавать подобный алгоритм действий - искать сражения, маневрировать и занимать оборонительные позиции, и т.п.
от генералов, опыта солдат и прочих факторов может зависеть успешность маневрирования армий. например возьмем следующую гипотетическую ситуацию:
армия А защищает некоторый район. В него вторгаются армии Б1 и Б2 противника, с разных сторон (например с запада и юга). Армия А имеет приказ "искать сражения". Армии Б1 и Б2 имеют приказ встретиться и организовать защиту (фронт). Тут возможны такие например исходы:
1) Армия А имеет опытного командира, и путем икусных маневров разбивает армии Б1 и Б2 по очереди, пока они не соединились. Итог кампании хода - противник побежден.
2) Армия А успевает разбить армию Б1 перед тем, как она соединится с Б2, но при столкновении с Б2 терпит поражение и отходит на позиции. Итог кампании хода - ничья.
3) Армии Б1 и Б2 успевают соединиться и армия А разгромлена...
ну и масса других возможных исходов.
поведение армий задается на следующий ход. то есть действует система приказов, наподобие как в Дипломатии. И затем при расчете следующего хода армии действуют одновременно.
соответственно разведка может узнать планы врага, приказы армиям (при игре с ботами). как организовать шпионаж при игре с людьми? допустим после того как все нажали "следующий ход" для тех, чьи шпионские миссии удались - ход продолжается, и они могут изменить свои приказы. в общем, тут надо будет подумать, как это лучше можно сделать.






Ответить с цитированием