Elija un motor de juego .NET

 C Programming >> Programación C >  >> Tags >> .NET
Elija un motor de juego .NET

El desarrollo de juegos es multidisciplinario en comparación con el desarrollo de aplicaciones y servicios comerciales. Los juegos necesitan habilidades de diseño que abarquen la interfaz de usuario, el audio, la jugabilidad y la dirección de arte. También requiere habilidades de ingeniería para gráficos, juegos, audio, servicios en la nube y desarrollos. A veces es necesario bajar el nivel y jugar con los registros de hardware en ensamblaje para optimizar el rendimiento de un dispositivo específico. ¿Necesitas construir todas esas capas tú mismo cuando haces un juego, o hay una mejor manera? Por supuesto, hay una mejor manera. El ecosistema .NET ofrece muchas opciones para gente como usted que quiere crear juegos, pero no quiere construir todo desde cero. En mi publicación anterior, mostré el diverso panorama de desarrollo de juegos .NET. En esta publicación, mostraré algunos de los motores de juego .NET que existen y te ayudaré a elegir el motor de juego adecuado para ti.

Motores de juego

Los desarrolladores solían construir sus juegos desde cero cada vez. Ahora, los desarrolladores han extraído una gran cantidad de código reutilizable en sus juegos y han creado un conjunto de API y herramientas que pueden reutilizar cada vez que comienzan un nuevo juego. Estos motores de juego contienen abstracciones de gráficos, entrada, API de medios. También pueden contener herramientas de diseño y administradores de recursos para recursos visuales y de audio. Puede pensar en ellos como un IDE, pero para algo más que código. Algunas compañías de juegos comenzaron a lanzar sus motores comercialmente.

Con la popularidad de C#, más motores de juegos comenzaron a usar .NET. El entorno de ejecución Mono, que ahora forma parte de .NET 5, fue una gran elección porque podía ejecutar código C# en muchas plataformas, incluidas Android, iOS, PC, Mac y Linux. Mono también admitía consolas de juegos dedicadas como las plataformas Xbox, PlayStation y Nintendo. Ahora, con .NET que incluye Mono con .NET 5, vemos que algunos motores de juegos se preparan para actualizarse.

Motores construidos con .NET

MonoJuego

MonoGame es un motor flexible. También se puede usar como marco para construir otros motores de juegos. Podría haber comenzado como una versión multiplataforma de XNA, pero ha avanzado más allá de ese alcance. MonoGame ofrece API completas para el desarrollo de juegos y una herramienta de gestión de activos. MonoGame acaba de recibir actualizaciones a la versión 3.8 donde usa .NET Core 3.1 y NuGet, con un plan para actualizar a .NET 5. MonoGame es tan flexible que otros motores de juegos lo usan como base, por ejemplo, FlatRedBall. Muchos desarrolladores independientes usan MonoGame para todo su desarrollo de juegos multiplataforma.

zancada

Stride (anteriormente Xenko) es otro motor C# y .NET puro desarrollado por Silicon Studios. Es un motor completamente integrado con un editor gráfico. Stride ahora es de código abierto y libre de regalías. Las diferentes partes del motor se pueden utilizar de forma independiente gracias a su diseño modular. Stride también usa .NET Core 3.1 en su última versión 4.0. Me gusta mucho la parte de su documentación que se enfoca en las personas que han usado Unity antes.

Motor de ondas

Otro motor que es puramente .NET es WaveEngine. WaveEngine es gratuito con muchos de sus componentes de código abierto. Su última vista previa 3.0 lanzada acaba de actualizarse a .NET Core 3.1. Ofrece características interesantes como ejecutar escenas 3D en un navegador usando .NET WebAssembly (Mono WASM), representación remota de Azure y soporte para HoloLens 2. WaveEngine tiene muchas características de realidad mixta, como audio espacial, listas para usar de forma inmediata.

Neoeje

NeoAxis es un motor que me fue señalado después de publicar mi publicación de blog anterior sobre el uso de .NET para el desarrollo de juegos. También está completamente escrito con .NET, de código abierto y libre de regalías. Es compatible con un conjunto completo de funciones, incluida la adición de compatibilidad con Android en la última versión.

Motores que incorporan .NET

Unidad

Unity, desarrollado en C++, fue uno de los primeros motores comerciales en usar .NET para proporcionar secuencias de comandos de C# y orientación multiplataforma. Unity es un motor integrado con una interfaz API de programación, así como herramientas de edición visual para gráficos, audio, creación de perfiles y depuración. Unity se convirtió rápidamente en uno de los motores de juegos más utilizados para todas las aplicaciones de gráficos en tiempo real, como juegos, realidad virtual y simulaciones. Existe un gran ecosistema que admite Unity, desde una tienda de activos para complementos y paquetes de inicio, hasta servicios de juegos como Microsoft Azure PlayFab. Unity es un motor comercial, pero su uso es gratuito hasta ciertos umbrales de ingresos. También es gratuito para algunos usos educativos y personales.

Godot

Godot es un motor de código abierto, multiplataforma y libre de regalías desarrollado con C++. Es un motor de desarrollo de juegos totalmente integrado. También usa .NET para entregar secuencias de comandos C#. Últimamente, Godot ha ganado popularidad y su comunidad está creciendo rápidamente. También obtuvo apoyo y subvenciones de Microsoft y Epic Games.

Motor de llanto

El famoso CryEngine también usa .NET. El motor se creó en C++, pero usa .NET para habilitar las secuencias de comandos de C#. Es un potente motor de juegos con una gran historia que impulsa los juegos AAA. Solo paga regalías cuando supera un umbral de ingresos.

¿Qué motor es adecuado para usted?

El punto más importante al elegir un motor de juego es cómo obtener soporte. Para los principiantes, pedir ayuda a sus compañeros o a la gente en línea es una parte esencial para aprender y mantenerse motivado. Para los profesionales, el soporte de nivel empresarial es esencial para mitigar los riesgos técnicos. Por mucho, Unity tiene una de las comunidades más grandes y activas. También ofrece soporte empresarial pagado de alta calidad. Además, Unity también tiene uno de los mayores ecosistemas de servicios y complementos que respaldan el motor. Godot también ha ganado más popularidad entre los aficionados y su impulso también se ha acelerado.

Otra cosa a considerar son sus propias habilidades y qué tan bien lo apoyará un motor. Si proviene de un entorno .NET y desea las últimas características de C#, tal vez un motor .NET puro como Stride, WaveEngine o incluso MonoGame sea más adecuado para usted. Puede utilizar todas las herramientas familiares con ellos, como NuGet y la CLI.

Un motor con desarrollo activo le brinda la seguridad de que se corregirán los errores y se agregarán nuevas plataformas y funciones. Los motores comerciales podrían ser mejores para ti si eso te preocupa.

Una consideración importante al elegir un motor es el precio. Todos los motores de juego mencionados anteriormente son gratuitos para empezar. Algunos tienen regalías adjuntas una vez que alcanzas un umbral de ingresos. Algunos de los motores son completamente gratuitos y libres de regalías. Tú eliges a dónde va el botín según tus planes financieros.

El diseño del juego también puede dictar qué motor debes usar. Un motor puede ser más adecuado que otros para ciertos tipos de juegos. Por ejemplo, usar un motor comercial completamente integrado para crear una aventura basada en texto puede ser excesivo.

Nos encantaría saber de usted

¿Tiene un proyecto, complemento, biblioteca o juego relacionado con el desarrollo de juegos .NET sobre el que desea publicar en el blog .NET? ¿Hay algún tema de desarrollo de juegos .NET sobre el que quieras que escriba?

  • Déjanos un mensaje en la sección de comentarios a continuación.
  • Twittear a Abdullah (@indiesaudi)