desarrollar juegos nunca ha sido tan fácil. Plataformas de desarrollo de juegos como Unity hacen posible crear de todo, desde simples plataformas 2D hasta shooters en primera persona 3D completamente detallados. 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 tus 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., Averiguar qué idioma aprender para el desarrollo de juegos puede ser difícil, pero en el caso de Unity, es simple.
1. La mejor opción: C #
para cualquier persona que comience con Unity, o cualquier persona con conocimiento previo 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 utiliza Mono, que es una implementación multiplataforma de.NET framework de Microsoft. C# es el lenguaje principal de. NET, y todas las bibliotecas de Unity se construyen utilizando código C#., Decir que C# es el lenguaje de la Unidad no sería una exageración. Unity ha dejado 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. Unity es solo una de las muchas buenas razones para aprender C#, 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 nuevos temas.,
Hay muchos lenguajes de programación, por lo que debe elegir uno para aprender? Aquí hay varias razones para aprender C#.
con la introducción del sistema de trabajos de C# y ECS, Unity está empujando 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 soporta JavaScript – – – conocido como Unitycript., Desde el lanzamiento, JavaScript se ha sentado lado a lado con C# como un lenguaje de desarrollo de Unity con todas las funciones. La referencia de scripting de Unity tenía 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 provenían de un fondo 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, había un problema.
mientras que Unitycript parece similar a JavaScript – – – no lo es. UnityScript tiene clases, algo que JavaScript no., Las características de JavaScript como la declaración de múltiples variables y puntos y coma opcionales no están disponibles en Unitycript.
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 ella como JavaScript en lugar de Unitycript. 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 contención para los desarrolladores de JavaScript puros.,
tal vez como era de esperar, Unity anunció que iban a retirar el soporte para Unitycript, y ahora hay una línea de tiempo en su lugar para desmantelarlo. Todavía puedes usar JavaScript con Unity, pero sabiendo que va a llegar a su fin, ¿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 quizás no sea sorprendente, ya que 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 admitir Boo, y los próximos cambios en Unitycript harán que todos los scripts 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.
Los amantes de Python tienen otra opción, sin embargo.
4. La extraña opción: IronPython
Si quieres desarrollar juegos, Python probablemente no es el lenguaje para ti, 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 los pusilánimes. Casi diez años después, IronPython todavía está en desarrollo activo.
En resumen, necesitarás descargar las bibliotecas de IronPython desde GitHub y referenciarlas en tu proyecto de C#. Esto le permitirá llamar scripts de Python desde scripts de c # como lo haría con cualquier otra biblioteca. IronPython también permite llamar a bibliotecas. net desde Python. Tan útil como suena esto, ya que Unity depende de C# esta funcionalidad no ayuda.,
IronPython—e IronRuby, su proyecto hermano que enlaza C# con el lenguaje de programación Ruby—son proyectos fantásticos, pero no son prácticos para usar con Unity.
5. La opció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 que actuar como un puente. El caso de uso perfecto para MoonSharp sería agregar de una manera para que los jugadores de su 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, MoonSharp vale la pena considerarlo. Como está disponible de forma gratuita en la Asset store de Unity, puedes importarlo directamente a tus proyectos.
6. El mejor lenguaje para Plugins: C / C++
a pesar de la robusta biblioteca Unity y todas las herramientas disponibles que c# ofrece, a veces es posible que desee sus propios plugins., 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 los 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 y cuando el código se construya en una DLL, se puede colocar en la carpeta de complementos de Unity y hacer referencia en código. La probabilidad es, sin embargo, si ya se siente cómodo codificando en C/C++, que aprender C# sería una tarea relativamente simple!
7., Nuevo lenguaje para Plugins: Rust
Rust es un lenguaje con mucho ruido a su alrededor. A los programadores experimentados les encanta por la increíble cantidad de control que ofrece, evitando al mismo tiempo 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.
aunque no es posible escribir Rust directamente en Unity, puedes acceder a funciones y métodos escritos en Rust desde tu código de Unity. Jim Fleming cubre cómo hacerlo en detalle en su post en Medium.,
si esto parece familiar, es porque esta es otra forma de crear Plugins 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# utilizando el atributo DllImport de Unity. Naturalmente, hay varios pasos en el medio, y la lectura de la publicación de seguimiento de Jim junto con la obtención de una buena comprensión de las FFI (interfaces de funciones extranjeras) se aconseja!
una elección simple
la actitud de Unity hacia cualquier lenguaje que no sea C# es clara, y las mejoras constantes de 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 una obviedad. Y asegúrate de revisar Unity Learn para obtener una forma más fácil de aprender el desarrollo de juegos.
sin embargo, esta no es tu única opción, Unity es solo un motor, y hay muchas opciones de software de desarrollo de juegos para elegir.
- Programación
- JavaScript
- el Desarrollo del Juego
- C
- Unidad
Sobre El Autor
Ian Buckley es un periodista freelance, 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.
Más De Ian Buckley