Интересуют книги, статьи, исходники на английском или русском.
Есть поле, разбитое на клетки, есть юниты. Им нужно искать путь, планировать действия, разруливать коллизии, отрисовывать себя, вот это все.
Как в любой области, в играх наверное есть масса наработанных приемов. Например, конкретно сейчас интересует такой вопрос: 2 юнита могут захотеть перейти на одну и ту же ячейку. Сейчас на каждом тике игрового времени я прошу все юниты по очереди совершить ход. Таким образом, один юнит получает стабильное преимущество перед другим в занятии ячеек, а другой получает преимущество в угадывании действий.
Как это реализуется в играх? Выражают ли юниты каким-то образом свое намерение, и в случае конфликта разрешают его случайным образом, а потом проигравший перепланирует свою стратегию? Или каждый ход очередь юнитов перетасовывается, чтобы не давать одному из них стабильного приоритета?
> 2 юнита могут захотеть перейти на одну и ту же ячейку
Кто первый добежит, тот и займет клетку.
> Им нужно искать путь, планировать действия, разруливать коллизии, отрисовывать себя, вот это все.
Есть немало библиотек для такого поиска, не заморачивайтесь с этим.
1. Они добегают одновременно. На клетке печенька. Юниты на двух соседних клетках. Допустим, юниты могут стрелять. Но чтобы поразить противника им нужно правильно предсказать, куда он походит. В случае коллизии мне придется сообщить одному из юнитов, что клетка уже занята. Не будь дураком, он туда выстрелит. У него нечестное преимущество. Вот я и думаю, решают ли это на уровне игровой механики (типа, если клетка куда ты хотел пойти, занята — пропускаешь ход), или все же есть способ так смоделировать течение игрового времени, чтобы таких ситуаций не возникало.