Soy un desarrollador de juegos n00b que comienza desde Python (y luego pygame) y actualmente uso texto Sublime. ¿Cuál será el mejor IDE para desarrollar juegos para PC, Windows Phone / Mobile y Android?

No hay “el mejor IDE”, porque cada uno de ellos tiene un problema.

Visual Studio es bastante poderoso, sin embargo, no le importan demasiado las terminaciones de línea (CRLF / LF) y las codificaciones, y las desordena rutinariamente. Si solo está trabajando en Windows, probablemente nunca lo sabrá, pero una vez que vaya a la plataforma cruzada, se encontrará con ese problema.

Visual Studio, sin embargo, es EL mejor IDE para el código C ++, a pesar de esa falla. Nada más se acerca.

Para el código Python, está la edición de la comunidad JetBrain PyCharm. Es bastante bueno ya que le permite buscar definiciones y viene con depurador, por lo que definitivamente es un gran paso adelante en comparación con “codificación en el editor de texto”. No funciona bien con, digamos, renpy o algo que usaría python de una manera demasiado creativa, pero con solo pygame deberías ser bueno.

El sistema Blueprint de Unreal (mencionado por otro póster) y herramientas similares de “programación visual” probablemente se eviten en la mayoría de los casos, ya que incluso un script simple se convierte en un gran desastre imposible de mantener cuando se implementa visualmente. Hay un par de casos en los que la programación gráfica es necesaria, pero son raros.

Si usa Unity, se quedará con MonoDevelop o tendrá que usarlo de todos modos. El problema con MonoDevelop es que odia tus agallas. Hace todo lo posible para hacerte la vida difícil. Rutinariamente estropeará la configuración de su proyecto, y es el único IDE que vi en mi vida que tenía un error en el que Ctrl + C / Ctrl + V dejaba de funcionar. La única razón por la que lo usará es porque está conectado al depurador de la unidad. Es molesto, pero lo suficientemente tolerable.

Con todo eso en mente, si su objetivo es hacer juegos y no aprender programación, le aconsejaría omitir pygame y todos los marcos de programación, y comenzar con Unity. Use C # en la unidad como si fuera un lenguaje de script, sin profundizar demasiado, y probablemente estará bien.

Unity Engine tiene muchas peculiaridades y no es la herramienta perfecta, pero hace su trabajo y le ahorra algunos años de su vida que habría desperdiciado escribiendo su motor. El problema molesto con la unidad es que todos los tutoriales son, por alguna razón, video tutoriales, por lo que a veces tendrás que perder muchas horas buscando algo más simple. La documentación es lo suficientemente decente.

Entonces, toma la unidad y trabaja con eso. Le permitirá concentrarse en la creación de contenido, en lugar de la codificación del motor.

Si va a usar C #, también sugeriría Visual Studio Code. Funciona tanto en Mac como en Windows. Es un IDE liviano y tiene accesos directos similares y se ve como sublime.

Tiene la mayoría de las características IDE que necesita, como la finalización de código, refactorización, verificación de tipos, búsqueda de tipos, etc.

Lo he usado con proyectos de unidad y lo encuentro muy fácil y productivo. También creo que puede configurar la unidad para que Visual Studio Code sea el IDE predeterminado.

Para ser claros, Visual Studio es diferente de Visual Studio Code.

Irreal o Unidad. Incluso puedes probar Torque.

Unreal tiene algo llamado impresiones azules, es posible que no necesite codificación en absoluto.

En realidad, deberías comenzar con motores de juegos pequeños como la construcción 2, creador de juegos para construir prototipos rápidamente, lanzar algunos juegos y luego pasar a motores grandes.

Esto es fácil de responder. Si va a usar C # y está en una máquina con Windows, quiere usar Visual Studio.

Esto es si lo está utilizando con XNA (que ya no se está actualizando), Monogame (que escuché que es un desastre) o Unity (que es genial).

Hay otras opciones, pero Visual Studio es mejor.

Desearía poder usarlo yo mismo, pero estoy en una Mac, así que estoy atascado con Monodevelop. Funciona, pero no me encanta.