Hice un juego en Godot
En Abril último terminé un juego de prueba que hice para la oficina con el siguiente funcionamiento:
- En un ambiente 2D el jugador debe colectar precios de NPC que andan en el mundo (mercado)
- Hay enemigos que le quieren robar las precios o impedir que avance.
- Colectando cierta cantidad de precios tiene acceso a dos habilidades especiales; aumentar su velocidad por un tiempo o llamar a una super heroína para que asuste a los enemigos.
- Al final del juego se mostraría una pantalla con la cantidad de puntos y posibilidad de mandar su mejor punteo a un sitio Web si el jugador lo quisiera.
Hay otras cosas pero básicamente eso es. Todo comenzó como una investigación por lo que decidí usar algo que ya sabía como usar pero que no era la herramienta más adecuada, Ren’Py. Es la más conocida forma de crear novelas visuales, es muy genial y versátil en su campo. Usando Ren’Py hay muchos productos comerciales para computadora o teléfono inteligente que son producidos a nivel profesional, aunque las que más abundan son las amateur.
Ren’Py funciona con Python, ya que lo que tenía en mente era algo al estilo “top down” pensé en buscar un motor ya funcional y encontré este (ADYA Overworld Engine) que utiliza fuertemente Python (Pygame) para entregar un modo de juego estilo RPG. Me venía muy bien para lo que pensaba hacer.
Luego de terminar la parte del juego me puse a pensar que corría algo lento y era difícil hacerlo funcionar en Android, a veces no reconocía el touch. Al fin y al cabo estaba usando una herramienta cuya especialidad era la de hacer novelas visuales. Me puse a investigar y encontré el motor llamado Godot, lo probé un poco pero luego perdí interés.
Retomé el tema hace unos días y me quedé sorprendido de lo fácil y rápido que es desarrollar juegos con este motor, sólo he probado las opciones 2D pero me ha dejado convencido de que es una buena opción para el desarrollo de juegos. Migré algunos recursos gráficos y sonoros del juego a Godot y me puse manos a la obra haciendo un nivel para probar.
Hay algunas diferencias: - Programé los enemigos (sólo de un tipo) para que tengan un cono de visión definido y que se pueda ver en pantalla, tienen algunos estados por los que pasan (tipo máquina de estados). - El jugador se controla sólo con el mouse. - Si el jugador tiene algún precio colectado los enemigos lo perseguirán si lo observan. - El movimiento de los NPC y los enemigos es rudimentario, ni siquiera estoy usando A* o Navigation2D (esto último propio de Godot) así que no saben como evadir obstáculos. - Si el jugador tiene algún precio entonces se podrá acercar por “detrás” al enemigo; si este está viendo a la derecha hay que acercarse por la izquierda para darle un golpe y dejarlo inconsciente, volverá a aparecer luego de un tiempo. Por cada cinco enemigos noqueados se tendrá acceso a la habilidad para llamar a la super heroína.
Este es el repositorio con el código, lo hice con Godot 3.2.2 usando su lenguaje llamado GDScript. También se puede usar con otros lenguajes populares pero lo que me sorprendió es que tienen uno que se llama Visual Script, es decir que cuenta con programación visual.
Y como es obvio ya me dieron ganas de hacer un juego propio.