0) Строишь маршрут
1) Проецируешь текущее положение на ближайший отрезок пути. Никакой магии - геометрия 8 класс.
2) Делишь этой точкой маршрут на два куска
3) Показываешь тот где конец маршрута
4) Ждёшь 50 секунд
5) Идёшь на пункт 1
6) Чего тут не понятно?
На C# удобно сделать гуишку, но писать код по работе с адресами и памятью нет. В общем нужно понимать ASM, а не шарп, чтобы понять логику игры, а писать свой результат на C.
Чтобы понять как работает нейронка распознающая символы не нужна не теория энтропии, ни математическая статистика. Достаточно разобрать как работает код этой сети. Ничего сложнее умножения там нет.
Для начала погружения можно взять тот же playground.tensorflow.org и его код на гитхабе.