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.
- Cuando Dios creó a Adán y Eva, ¿eran “humanos” como nosotros?
- ¿Por qué algunas personas dicen que Dios es malo?
- A lo largo de la historia, ¿cuántas personas han sido asesinadas en nombre de Dios?
- ¿Por qué Dios permite que los niños mueran?
- Dios es una fuerza con voluntad. ¿Hay algo incorrecto en esta declaración o se le puede agregar algo?
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.