7 lenguajes de desarrollo de juegos de Unity para aprender: ¿cuál es el mejor?

7 lenguajes de desarrollo de juegos de Unity para aprender: ¿cuál es el mejor?

Desarrollar juegos nunca ha sido tan fácil. Las plataformas de desarrollo de juegos como Unity permiten crear de todo, desde simples plataformas en 2D hasta juegos de disparos en primera persona en 3D con todos los detalles. Unity es gratuito para los pequeños desarrolladores y hay una gran cantidad de tutoriales sobre la mejor manera de usar el editor para crear prototipos de sus ideas.





Aprender a usar el programa Unity solo te llevará hasta cierto punto. El verdadero núcleo de tu juego será el código que determina su comportamiento. Determinar qué idioma aprender para el desarrollo de juegos puede ser difícil, pero en el caso de Unity, es simple.





Windows 10 sigue cayendo la conexión wifi

1. La mejor opción: C #

Para cualquiera que comience con Unity, o cualquier persona con conocimientos previos de programación orientada a objetos, C # es el lenguaje adecuado para aprender para Unity. De hecho, C # es el único lenguaje que vale la pena aprender para la plataforma, y ​​con razón.





Unity usa Mono, que es una implementación multiplataforma del marco .NET de Microsoft. C # es el lenguaje principal de .NET y todas las bibliotecas de Unity se crean con código C #. Decir que C # es el lenguaje de Unity no sería una exageración. Unity ha dejado en claro que consideran que C # es el único lenguaje para usar con el motor en el futuro.

Esta es una buena noticia, ya que C # es un lenguaje potente y fácil de aprender. La unidad es solo una de muchas buenas razones para aprender C # , y si es un principiante, puede que incluso le resulte más accesible. El desarrollo de juegos da estructura al aprendizaje y las metas basadas en proyectos conducen a una mayor comprensión de los nuevos temas.



Con la introducción del Sistema de trabajo C # y ECS , Unity está impulsando cada vez más lo que se puede hacer con C #, y el nuevo compilador Burst lo hace más rápido que nunca.

2. La alternativa actual: JavaScript

Unity también es compatible con JavaScript, conocido como UnityScript. Desde su lanzamiento, JavaScript se ha asociado con C # como un lenguaje de desarrollo de Unity con todas las funciones. La referencia de secuencias de comandos de Unity tenía un código de ejemplo en C # y JavaScript para la mayoría de los elementos de la biblioteca.





Esto fue útil para los desarrolladores con experiencia en JavaScript, ya que a pesar de las diferencias en la forma en que se estructuraba el código, podían usar una sintaxis familiar. Sin embargo, hubo un problema.

Si bien UnityScript parece similar a JavaScript, no lo es. UnityScript tiene clases, algo que JavaScript no tiene. Las características de JavaScript, como la declaración de varias variables y los puntos y coma opcionales, no están disponibles en UnityScript.





Quizás de manera crucial, la búsqueda de ayuda de JavaScript en proyectos de Unity siempre ha causado confusión, ya que la mayoría de la gente se refiere a ella como JavaScript en lugar de UnityScript. Los resultados tanto para el diseño web como para el desarrollo de juegos se difuminaron, y la diferencia entre los lenguajes fue un punto de discusión para los desarrolladores de JavaScript puros.

Quizás como era de esperar, Unity anunció que iban a retirar el soporte para UnityScript, y ahora hay un cronograma establecido para desmantelarlo . Todavía puede usar JavaScript con Unity, pero sabiendo que va a llegar a su fin, ¿por qué lo haría?

3. La vieja tercera opción: Boo

En los primeros días de Unity, existía la opción de usar Boo, un lenguaje similar a Python. Esto tal vez no sea sorprendente como Rodrigo B. De Oliveira, El diseñador de Boo , trabajó para Unity. El lenguaje es compatible con .NET y Mono y estaría completamente implementado con el motor del juego. ¿Qué salió mal?

No lo usó suficiente gente, probablemente asumiendo que simplemente estaba tratando de imitar a Python. Con el tiempo, Unity dejó de ser compatible con Boo, y los próximos cambios en UnityScript harán que todos los scripts antiguos de Boo sean inútiles en Unity. Algunos pueden ver esto como una oportunidad perdida, ya que Boo fue un gran intento de sintaxis similar a Python para la programación .NET.

Sin embargo, los amantes de Python tienen otra opción.

4. La elección extraña: IronPython

Si desea desarrollar juegos, probablemente Python no sea el lenguaje para usted, pero es posible. En su blog de la Comunidad de desarrolladores de Microsoft, Charlie Calvert describe cómo ejecutar Python desde C # --- pero no es para pusilánimes. Casi diez años después, IronPython todavía está en desarrollo activo.

En resumen, deberá descargar el Bibliotecas IronPython de GitHub y hacer referencia a ellos en su proyecto de C #. Esto le permitirá llamar a los scripts de Python desde los scripts de C # como lo haría con cualquier otra biblioteca. IronPython también permite llamar a bibliotecas .NET desde Python . Por muy útil que parezca, dado que Unity se basa en C #, esta funcionalidad no ayuda.

IronPython --- e IronRuby, su proyecto hermano que vincula C # con el lenguaje de programación Ruby --- son proyectos fantásticos, pero no son prácticos para usar con Unity.

5. La elección interesante: Lua

Una de las mejores implementaciones de un lenguaje externo para Unity es MoonSharp --- un intérprete de Lua. Este proyecto no está diseñado para reemplazar C # como lenguaje, sino que actúa como puente. El caso de uso perfecto para MoonSharp sería agregar una forma para que los jugadores de tu juego creen mods de juego en el lenguaje Lua.

También puedes usarlo para describir objetos y niveles de diseño por separado del código principal del juego.

Si ya está codificando en C # y está buscando una forma interesante de interactuar con su código, vale la pena considerar MoonSharp. Dado que está disponible de forma gratuita en Tienda de activos de Unity , puede importarlo directamente a sus proyectos.

6. Mejor lenguaje para complementos: C / C ++

A pesar de la robusta biblioteca de Unity y todas las herramientas disponibles que ofrece C #, a veces es posible que desee sus propios complementos. Las principales razones por las que las personas optan por complementos incluyen la velocidad o el acceso a una base de código ya escrita en otro idioma. La construcción de estos scripts en complementos DLL ahorra rehacer el código y puede mejorar el rendimiento en algunos casos.

En la mayoría de los casos, C ++ será el lenguaje utilizado para la creación de complementos, pero C funcionaría igualmente bien. Siempre que el código se compile en una DLL, se puede colocar en la carpeta de complementos de Unity y se puede hacer referencia a él en el código. Sin embargo, lo más probable es que si ya se siente cómodo codificando en C / C ++, ¡aprender C # sería una tarea relativamente simple!

cómo restablecer Windows 10 a la configuración de fábrica

7. Nuevo idioma para complementos: Rust

Rust es un idioma con muchos rumores. A los programadores experimentados les encanta por la increíble cantidad de control que ofrece al mismo tiempo que evitan las trampas de escribir en lenguajes menos seguros como C ++. Rust fue creado por Mozilla en 2009, como una forma para que los desarrolladores desarrollen software de alto rendimiento rápidamente.

Si bien no es posible escribir Rust en Unity directamente, puede acceder a funciones y métodos escritos en Rust desde su código de Unity. Jim Fleming cubre cómo hacerlo en detalle en su publicación en Medium .

Si esto le parece familiar, es porque esta es otra forma de crear complementos nativos. Al aprovechar la capacidad de Rust para interactuar con otros lenguajes, puede llamar a las funciones de Rust directamente desde el código C # usando Unity DllImport atributo. Naturalmente, hay varios pasos intermedios y leyendo la publicación de seguimiento de Jim además de obtener una buena comprensión de las FFI (interfaces de funciones externas), se recomienda.

Una elección sencilla

La actitud de Unity hacia cualquier lenguaje que no sea C # es clara, y las mejoras constantes de Unity se basan en esta determinación. Combine esto con la mejora continua de Microsoft de C # como lenguaje, y aprender C # para el desarrollo de juegos de Unity es una obviedad. Y asegúrate de revisar Unity Learn para una forma más sencilla de aprender sobre el desarrollo de juegos .

Sin embargo, esta no es su única opción, Unity es solo un motor y hay muchos opciones de software de desarrollo de juegos Para escoger de.

Cuota Cuota Pío Correo electrónico Canon vs.Nikon: ¿Qué marca de cámara es mejor?

Canon y Nikon son los dos nombres más importantes en la industria de las cámaras. Pero, ¿qué marca ofrece la mejor línea de cámaras y lentes?

Leer siguiente
Temas relacionados
  • Programación
  • JavaScript
  • Desarrollo de juegos
  • C
  • Unidad
Sobre el Autor Ian Buckley(216 Artículos publicados)

Ian Buckley es un periodista, músico, intérprete y productor de video independiente que vive en Berlín, Alemania. Cuando no está escribiendo o en el escenario, está jugando con la electrónica o el código de bricolaje con la esperanza de convertirse en un científico loco.

Más de Ian Buckley

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse