Estados de juego

El gran problema de la semana es el sistema de manejo de estados de juego. Los juegos pasan por diferentes estados: menú principal, el juego como tal, etc, los cuales manejan la entrada y hacen cosas muy diferentes. Podemos manejarlos como una pila: por ejemplo, el menú principal puede dar paso al juego, que a su vez, cuando termina, regresa al estado previo (menú principal).

Tenía implementado un sistema muy básico, yo diría que incompleto, funcionando en el proyecto. Sin embargo, ya las deficiencias se están haciendo sentir, por ejemplo, no puedo regresar al estado previo, y no dispongo de un lazo de espera en el estado, lo cual es problemático si éste ignora los eventos de actualización de escena (una limitación derivada de Urho3D). Por tanto, se impone rehacer el mecanismo, añadiendo el gestor de estados, algo que me salté al principio por querer hacerlo a mi manera y por no detenerme a pensar. También influyó en parte desconocer el funcionamiento del motor.

Así que he perdido varios días, tratando inútilmente de conseguir una respuesta en el foro y de eludir la verdadera solución: hacer las cosas como debe ser. O por lo menos, en la forma que sé que funcionan. Por suerte, no han sido días completamente desperdiciados, porque he trabajado en otras cosas, como echar un vistazo a Godot (amerita hablar más ampliamente al respecto) o escribir la trama del juego.

8 thoughts on “Estados de juego

    1. Cierto, Unity es mil veces mejor, pero esta el problema de la licencia. La versión estándar está muy capada, por ejemplo, el movimiento del personaje no habría podido hacerlo en Unity Standard, porque el componente Navmesh no esta incluido. Mejor dicho, no habría podido hacerlo tan fácil, tendría que haber implementado detección de colisiones, cálculo del movimiento, etc.

      1. Roger, estás en Cuba. Puedes tener Unity cualquiera con su crack. Tengo aqui en mi PC el 4.5 con el suyo, y el 5 no lo he descargado a verlo que tal dese que salió.
        Y UDK la vesión gratis dificil haya algo que no se pueda hacer de una u otra forma.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *