Первая сложность:
Нужно четко представлять, что вы собираетесь делать: как получать данные с клиента, как обрабатывать, как посылать их обратно.
Вторая сложность: получать валидные данные из игры, либо в сыром виде, либо уже считывать с клиента.
Третья сложность: написать логику для бота, которая в зависимости от задач превращается из десяти скриптов в неплохой аи.
Четвертая сложность: передавать результаты работы аи обратно на клиент\сервер. Тут, опять же, или взаимодействие с гуи, или подмена пакетов.
Пятая сложность: при всем этом обойти вшитую в клиент защиту от армии подобных вам молодцев.