Anuncio
Desarrollar juegos nunca ha sido tan fácil. Las plataformas de desarrollo de juegos como Unity permiten crear todo, desde simples plataformas en 2D hasta juegos de disparos en primera persona en 3D completamente detallados. Unity es gratuito para los desarrolladores pequeños, 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 núcleo real de tu juego será el código que determina su comportamiento. Determinar qué idioma aprender para el desarrollo del juego puede ser difícil, pero en el caso de Unity, es simple.
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 utilizando el código C #. Decir que C # es el lenguaje de la Unidad 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.
Estas son buenas noticias, ya que C # es un lenguaje poderoso y fácil de aprender. La unidad es solo una de muchas buenas razones para aprender C # 7 razones prácticas para aprender la programación de C #Hay muchos lenguajes de programación, ¿cuál debería elegir para aprender? Aquí hay varias razones para aprender C #. Lee mas , y si eres un principiante, incluso puedes encontrarlo más accesible. El desarrollo de juegos da estructura al aprendizaje, y los objetivos basados en proyectos conducen a una mayor comprensión de los nuevos temas.
Con la introducción de la Sistema de trabajo C # y ECS, Unity está impulsando lo que se puede hacer con C # más y más, y el nuevo compilador Burst lo hace más rápido que nunca.
2. La alternativa actual: JavaScript
Unity también admite JavaScript, conocido como UnityScript. Desde su lanzamiento, JavaScript se ha sentado junto a 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 que provienen de un fondo de JavaScript, ya que a pesar de las diferencias en la forma en que estaba estructurado el código, podían usar una sintaxis familiar. Hubo, sin embargo, 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 variables múltiples y los puntos y comas 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 las personas se refieren a él como JavaScript en lugar de UnityScript. Los resultados para el diseño web y el desarrollo de juegos se desdibujaron, y la diferencia entre los idiomas fue un punto de discusión para los desarrolladores de JavaScript puro.
Quizás, como era de esperar, Unity anunció que iban a retirar el soporte para UnityScript, y ahora hay un línea de tiempo en su lugar para desmantelarlo. Todavía puedes usar JavaScript con Unity, pero sabiendo que va a terminar, ¿por qué lo harías?
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 Diseñador de Boo, trabajó para Unity. El lenguaje es compatible con .NET y Mono y se implementaría completamente con el motor del juego. ¿Qué salió mal?
No lo usaron suficientes personas, 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 de Boo antiguos sean inútiles en Unity. Algunos podrían 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 extraña elección: IronPython
Si quieres desarrollar juegos, Python probablemente no sea el idioma para ti 4 razones por las que Python no es el lenguaje de programación para ustedEl lenguaje de programación Python es extremadamente popular, pero aquí hay algunas razones por las que es posible que desee evitar Python. Lee mas Pero es posible. En su blog de Microsoft Developer Community, Charlie Calvert describe Cómo ejecutar Python desde C #- Pero no es para los débiles de corazón. 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 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, más bien actuar como un puente. El caso de uso perfecto para MoonSharp sería agregar de alguna manera a los jugadores de tu juego para crear mods de juego en el idioma Lua.
También podría usarlo para describir objetos y niveles de diseño por separado de su código de juego principal.
Si ya está codificando en C # y está buscando una forma interesante de interactuar con su código, vale la pena considerar MoonSharp. Ya que está disponible de forma gratuita en Tienda de activos de Unity, puede importarlo directamente a sus proyectos.
6. El mejor lenguaje para complementos: C / C ++
A pesar de la robusta biblioteca de Unity y todas las herramientas disponibles que C # ofrece, a veces es posible que desee sus propios complementos. Las principales razones por las que las personas optan por los complementos incluyen la velocidad o el acceso a una base de código ya escrita en otro idioma. La creación de estos scripts en complementos de DLL ahorra el código de rehacer 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 convierta en una DLL, se puede colocar en la carpeta de complementos de Unity y hacer referencia al código. Sin embargo, si ya se siente cómodo codificando en C / C ++, ¡aprender C # sería una tarea relativamente simple!
7. Nuevo lenguaje para complementos: óxido
Rust es un lenguaje con mucho ruido alrededor. Los programadores experimentados lo adoran por la increíble cantidad de control que brinda mientras 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 rápidamente un software de alto rendimiento.
Si bien no es posible escribir Rust en Unity directamente, puede acceder a las 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 resulta familiar, es porque esta es otra forma de crear complementos nativos. Al aprovechar la capacidad de Rust para interactuar con otros idiomas, puede llamar a las funciones de Rust directamente desde el código C # usando las unidades de Unity DllImport atributo. Naturalmente, hay varios pasos intermedios, y leyendo la publicación de seguimiento de Jim ¡junto con obtener una buena comprensión de las FFI (interfaces de funciones externas) se recomienda!
Una eleccion simple
La actitud de Unity hacia cualquier lenguaje que no sea C # es clara, y las mejoras constantes a Unity dependen de 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 obvio. Y asegúrese de revisar Unity Learn para una forma más fácil de aprender el desarrollo de juegos Unity Learn es la forma más fácil de dominar el desarrollo de juegos¿Quieres comenzar a desarrollar tus propios juegos? Unity Learn es la mejor y más fácil forma de aprender y dominar lo que necesita saber. Lee mas .
Sin embargo, esta no es su única opción, Unity es solo un motor y hay muchos opciones de software de desarrollo de juegos 5 herramientas de software de desarrollo de juegos gratis para hacer tus propios juegosEl software de desarrollo de juegos gratuito es una excelente manera de comenzar a crear videojuegos. Hemos compilado el mejor software de juegos en el mercado. Lee mas Para escoger de.
Ian Buckley es periodista independiente, músico, intérprete y productor de video 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.