Я знаю, что вы косвенно ссылались на RoboCup в своем вопросе, но я думаю, что здесь стоит упомянуть, учитывая заголовок. Существуют как 2D, так и 3D версии:
2D-лига более абстрактна с такими командами, как перемещение, отлов, удар.
Трехмерная лига более сложна, поскольку вам необходимо контролировать углы каждой петли в теле трехмерного робота (22 из них с моделью Нао).
Оба являются одинаково действительными упражнениями для ИИ. Вероятно, это зависит от того, с какой областью ИИ вы хотите играть.
Оба могут быть запрограммированы на любом языке / платформе, поддерживающей сокеты TCP. Вы найдете образец кода на Java онлайн, чтобы начать работу. Я веду список существующих библиотек для 3D RoboCup в SimSpark Wiki здесь .
Если вы хотите использовать .NET для 3D-лиги, вы можете использовать библиотеку TinMan , которую я создал.