Алгоритм простой:
— выясняем протокол обмена (в простейшем случае урлы линков, по которым кликает пользователь, урлы обработчиков форм и данные форм, которые пользователь отправляет — вход сервера, возвращаемые страницы — выход)
— инкапсулируем (для удобства) вызовы и ответы в термины игровой механики, чтоб вызывать функции «time_for_train = train_army('warrior', 100)», а не «tine_for_train = preg_match('/..../', file_get_contents('http://example.com/game.php?page=army_train&action=train&q=100'))»
— пишем сценарий работы бота в терминах игровой механики