Какой самый элегантный способ реализовать систему командных команд для ИИ? например, в крепости гномов, когда вы помечаете лесную зону для рубки леса, гномы затем выполняют следующую последовательность действий:
- Иди к дереву
- Рубить дерево
- Доставить дрова на склад
- Перейти к другому дереву
- и так далее..
У меня уже есть команда стека работает нет. 1, который переходит из состояния ожидания к достижению целевого элемента дерева.
Чего я боюсь, так это того, как это может стать грязным, когда я создаю больше заказов, как это:
Построить дом
- Перейти на склад
- привезти древесину на строительную площадку
- вернуться на склад
- Доведите камень до строительной площадки
- одушевленный строительный спрайт
насаждение
- Перейти на склад
- принести семена на ферму
пивоварение
- Перейти на склад
- Доведите растение до сих пор
- одушевленный пивоваренный спрайт
Итак, мой вопрос: как мне реализовать систему упорядочивания команд, такую как dwarf fortress, и одновременно избегать кода спагетти? Есть ли какие-либо структуры данных, которые мне нужно изучить? Нужно ли помещать последовательность команд в отдельный XML-файл?