Добавлю классику от Марка Зальцмана «Компьютерные игры: как это делается». Расписан по этапам процесс создания игр: от подготовки игры до маркетинга и технической поддержки. Книга довольно старая, но идеи продолжают и останутся быть актуальными. Автор собрал бесценный опыт лучших разработчиков игр. Однозначно, must read.
Не слышал о таком алгоритме. И для описанной задачи он вряд ли существует. Дело в том, что перебор всех простых путей (в которых ни одна вершина не встречается дважды) между любыми двумя вершинами в графе общего вида является NP-полной задачей. Кроме метода грубой силы решения пока не найдено.