¿Qué lenguaje de programación usan los programadores de juegos de IA?

Depende de su motor / entorno, que depende de la plataforma de destino y el tipo de juego.

Realmente no hay dependencia de si estás implementando IA en tu juego o no, porque puedes escribir una IA en casi todos los idiomas. Sí, hay altibajos en la escritura de inteligencia artificial con diferentes idiomas, pero otros aspectos del juego (como gráficos, plataforma API, física, etc.) superan la importancia de la inteligencia artificial en la selección del idioma.

Sin embargo, hay juegos / motores en los que usa varios idiomas para diferentes cosas. En ese caso, se recomienda un lenguaje como LISP o Python para AI, como si trabajara en un proyecto de AI puro, los usaría, pero ¿por qué?

LISP, porque su propósito es la IA. LISP fue creado para ser un lenguaje fácil para crear sistemas de IA.

Python, porque tiene enormes bibliotecas matemáticas (especialmente estadísticas y probabilidad), que son muy necesarias en la mayoría de los tipos y campos de IA, especialmente un buen juego de IA.

Pero de nuevo, esas son solo recomendaciones. No hay nada que puedas hacer con python que no puedas hacer con C o incluso con Assembly. Puede implementar la misma IA usando C ++ o C #, solo tomaría un poco más de tiempo y esfuerzo.

Personalmente, prefiero C # porque el motor que usamos (Unity 3D) usa C # y es suficiente para nosotros. No vamos a crear un sistema experto o una máquina de aprendizaje de patrones de redes sociales para nuestros juegos, ¡así que estamos bien con eso!

Varía tremendamente.

  • En muchos proyectos, usan el mismo lenguaje que todos los otros programadores (que es 99% seguro que es C ++).
  • En otros proyectos, pueden usar un lenguaje de secuencias de comandos, que podría ser Python, Lua, C # o tal vez algo específico del motor del juego como UnrealScript en el motor Unreal.
  • En otros proyectos, las personas de IA no son programadores en absoluto … usan un sistema basado en GUI de arrastrar y soltar como Kynapse que no es exactamente un lenguaje de programación (aunque algunos podrían discutir eso), más como dibujar un diagrama de flujo o algo así.

Es tremendamente variable.

Esto se debe a mi experiencia al codificar IA en proyectos de juegos: cualquier idioma nativo que esté utilizando para el sistema suele ser suficiente . Es el sistema que necesitará para almacenar la lógica de la IA, pero la forma en que cree ese sistema en un lenguaje de programación particular depende de su implementación particular. Puede implementar lógica difusa, agrupación, ruta más corta, etc. en cualquiera de los idiomas populares. Solo necesita una forma de codificar la lógica y una forma de mostrar que la lógica funciona.

Actualmente no sé si hay bibliotecas de AI empaquetadas para C ++ que se originaron en otro idioma, pero no me sorprendería si existe. (sin embargo, tendrías muy poco control sobre él, así que no creo que ese sistema sea demasiado popular …)

Para los juegos en OpenAI Gym Scoreboards, la mayoría de los programadores codifican con Python.

Python es un lenguaje ampliamente utilizado para la IA en general, y no creo que sea diferente en el desarrollo de juegos.

La respuesta depende de los detalles de la IA. ¿Es lo suficientemente complicado como para marcar la diferencia si lo escribes en dos idiomas diferentes? ¿Cómo quieres implementar tu código? ¿Qué tan grande es el papel de la IA en el juego? Estas son las primeras preguntas que debes considerar.

Mi apuesta es que Python es el mejor para tareas más complicadas.

En su mayoría usan un lenguaje de script como Lua o Python.