¿Se puede hacer el juego God of War a través del motor Unity 3D?

Sí puede. Voy a intervenir en esto como alguien que recientemente ha trabajado en RPG de acción y animación.

Las tecnologías centrales para God of War son animación, física / colisión, IA básica y gestión de entradas. Unity llega a la mitad de estos bonitos, y es muy fácil adquirir los otros a través de la tienda de activos.

A partir de Unity 4.x, el sistema de animación Mechanim que se entrega con Unity de forma predeterminada es especialmente adecuado para desarrollar un juego de este tipo, ya que puedes configurar los parámetros de cuadro clave de hitbox y otros componentes junto con las animaciones de tu personaje. Existe una variedad de secuenciadores cinemáticos de terceros para una edición de escena más robusta. Los eventos de animación también son compatibles, lo que le permite disparar devoluciones de llamada de código. Ahorre con frecuencia como este sistema, aunque potente, se bloquea con frecuencia al editar sus animaciones.

El sistema de física y colisión es un poco complicado para trabajar, pero lo suficientemente funcional y robusto, fácilmente, para soportar algo como God of War. La mayoría de lo que está trabajando son colisionadores, física cinemática y eventos de activación de disparador, con sus propias reacciones preprogramadas para retrocesos y retrocesos en lugar de usar física de cuerpo rígido. Administre sus capas y ataque colisionadores sabiamente y esto puede ser muy sencillo. Para ser justos, sería difícil encontrar un motor que no haga que la colisión sea un poco confusa.

La entrada es una de las debilidades de Unity, ya que el sistema de entrada actual a partir de 5.4 es un poco basura. Unity está trabajando en uno nuevo, pero recomendaría un paquete de entrada de terceros como Rewired. Después de eso, crearía un administrador de entrada y una serie de comportamientos que describan las indicaciones de eventos de tiempo rápido. Su desafío más importante es lograr que las cinemáticas respondan a estas de acuerdo con la entrada.

La IA se puede administrar a través de una máquina de estado de terceros o un sistema de árbol de comportamiento como NodeCanvas. Puede desarrollar comportamientos robustos muy rápidamente utilizando este tipo de sistemas, que son fáciles de usar y están destinados a ser diseñados por el diseñador. Podrías codificar tu IA a mano en C #. Sería más lento de hacer, pero probablemente se ejecute más rápido.

De lo contrario, todo se reduce al trabajo ocupado de construcción del juego. Convierte a este enemigo, construye este proyectil, marca ese ataque con colisionadores, y así sucesivamente. Puede pensar en ProBuilder para complementar sus esfuerzos de construcción de nivel.

La segunda debilidad con la que te puedes encontrar con todo esto es que Unity no gestiona proyectos extremadamente grandes tan bien. La carpeta de activos y la jerarquía de escenas se desordenan a medida que su proyecto se amplía, y los archivos de escenas son propensos a conflictos en los sistemas de control de origen como SVN.

Finalmente, Unity no tiene una administración de memoria muy optimizada por defecto y enfrentaría algunas dificultades interesantes con la recolección de basura si no implementa un sistema de agrupación de objetos. Es probable que el código funcione mucho más lento que otro motor más basado en C ++.

En el lado positivo, el God of War original solo tenía 32 MB de RAM para trabajar. Si está publicando en una microconsola Android de mala calidad, probablemente tenga 2 GB. Mucho espacio para respirar para dejar que C # haga un poco de trabajo por usted.

Técnicamente sí. Los videojuegos se reducen a dos cosas: código y arte. (Por supuesto, una buena historia también es bastante importante).

Unity, y muchos otros motores, pueden manejar estas dos cosas y así hacer un juego como God of War.

Arte
La unidad no es realmente buena para modelar. De hecho, no es un programa de modelado, por lo que tendría que confiar en los activos de la tienda de activos que pueden manejar el modelado y la construcción de geometría. Este método es posible, pero no es la mejor opción. La mejor opción es usar un programa diseñado para modelar. Dos grandes programas de este tipo son Maya y Blender. Independientemente de cómo se cree el arte, una vez hecho, puedes lanzarlo a Unity y listo, tienes un buen arte para jugar. Puedes establecer a tus enemigos alrededor de tu nivel, puedes construir mazmorras, básicamente puedes colocar el arte en el juego, pero aún no hará nada; el arte simplemente se sentará allí.

En este punto, diría que Unity aún no puede hacer un juego como GoW.

Código
Tu código es realmente la fuerza impulsora detrás del juego. Claro, el arte hace que se vea fantástico, pero una buena jugabilidad no puede ser subestimada. Unity se basa en aplicaciones de terceros para manejar el código de escritura. El IDE que se envía con Unity es MonoDevelop, donde escribiría su código a menos que usara un IDE diferente. Sin embargo, Unity tiene una buena biblioteca de código que puedes usar para escribir tu juego. Aquí es donde comenzamos a inclinarnos para decir que puede hacer un juego como GoW.

La unidad lo une todo. El motor de física de Unity es de primera categoría, si lo digo yo mismo. Sus herramientas de animación son bastante buenas. Su nueva estación de trabajo de audio es bastante justa.

La unidad te da las piezas del rompecabezas. Depende de usted hacer del rompecabezas una imagen coherente. En otras palabras, puede hacer lo que usted diseña para hacer. ¿Eso significa que es el motor definitivo? No. ¿Eso significa que no hay limitaciones? No. Pero si puedes hacer arte como GoW, y puedes escribir código para hacer cosas como GoW, entonces Unity puede hacer un juego así.