Ir al contenido principal

Un paso más

Este fin de semana lo dediqué a trabajar en el sistema de combate, y creo que he dado un paso más. Lo que no sé es en qué dirección. Esto ha probado ser una cosa bastante compleja, con muchos subsistemas involucrados, o mejor dicho, enredados.
Quizás lo estoy haciendo de la forma incorrecta, pero combatir implica múltiples cambios de estado de animación, en dependencia del arma. Hay que verificar los objetos equipados (ahora solo tengo en cuenta las armas), las habilidades, etc. No hay que olvidarse de que los NPC necesitan una IA que se encargue de eso. Al principio, pensé que RAIN resolvería todo, pero en esencia, es solo una solución cómoda para implementar sensores y algunas conductas sencillas. El combate es todo tuyo. Vale la pena mencionar que RAIN usa su propia malla de navegación, así que hay que utilizar el componente de IA para mover los personajes. Esto puede resolverse, pero ya sería un paso adicional, durante el cual podrían aparecer más problemas.
Por el momento, el prototipo permite pelear contra un NPC (realmente, varios pueden atacarte a la vez) , utilizando armas cuerpo a cuerpo o de rango, hasta que uno caiga muerto. Unas animaciones apropiadas ayudarían, pero aún no las tenemos. Esto sirve para probar el concepto y poco más.
El algoritmo del sistema de combate en realidad es muy simple y se resume a lo siguiente:
1- Si el jugador está en modo combate, hacer click en un NPC genera una acción ataque, que por defecto utilizará el arma equipada. Si ya hay  acciones en la cola, el click se ignora.
2- En el método Update() de la clase del jugador, se verifica si hay acción en la cola. Si la hay, se verifica que no estén en cooldown y se ejecuta (implica verificar si el objetivo está dentro del rango del objeto equipado). Si el cooldown ya terminó, se elimina.
Desde el punto de vista del NPC, es mucho más complejo, aunque la mayoría aún esté pendiente de implementar. Por ahora, lo que hace es encolar ataques. Insuficiente para divertirse un poco, aunque quizás la cosa cambie cuando le agregue algunas habilidades.
Desde el punto de vista del sistema RPG, faltaría por agregar variables que hagan el combate menos determinista, sin necesidad de acudir al socorrido atributo Suerte. También completar un conjunto de habilidades balanceado para cada estilo de lucha, algo que haré cuando termine todo lo anterior.

Comentarios

Entradas populares de este blog

Un poco de nostalgia: juegos retro

El Laberinto del Saber es un juego desarrollaod en Cuba a finales de los 80 o algo así, para MS-DOS. Aquí pueden verlo en acción:

Desde hace un buen tiempo que quiero hacer un remake moderno orientado principalmente a plataformas móviles, al principio lo intenté con SDL 2, pero luego decidí usar un motor decente. Entre Godot y Unity3d me decanté por el último, para no invertir tiempo en aprender una herramienta que no me serviría para hacer más juegos.
Sin embargo, el proyecto ya acumula unos seis meses de atraso por diversas razones, y ni siquiera tengo una imagen para mostrar. Así queni hablar de fecha de lanzamiento.

Unity 5.4 está aquí

Y no trae la herramienta de edición de cinemáticas, como esperaba. Al menos, no se hace referencia a ella en las notas de lanzamiento.
Justamente acabo de lograr descargar la 5.3.5, la cual ha sido bastante decepcionante. El MonoDevelop que incluye ha dejado de sugerir el autocompletado para los miembros de algunas clases (me queda por definir cuándo lo hace y cuándo no) y además el precalculado de la iluminación global me suelta una docena de advertencias, aparte de que me ha obligado a recalcular las luces dos veces. Y eso toma bastante tiempo.
Aún no sé si podré echarle el guante a la 5.4, y tampoco es que tenga mucho interés. Aunque supongo que peor no va a ponerse, y quizás hasta se arreglen las cosas.
Por suerte, no estoy programando mucho. Las últimas páginas de la cuarta novela me tienen  bastante ocupado, y también le estoy echando un vistazo a la historia del juego. Sin embargo, eso no será para siempre, en algún momento de esta semana tengo que seguir puliendo el sistema …

Leyendo a Sapkowsky

Este es uno de mis escritores favoritos y es lamentable que haya tan poco de él en español. Aunque hay que reconocer que Andrzej Sapkowsky no ha sido tan prolífico.
A Sapkowsky le basta con su saga de Geralt de Rivia para ser una figura de renombre en la literatura fantástica. La fama de los juegos basados en el personaje del brujo Geralt, me parece, no le han acarreado una fama enorme, porque muchos olvidan (o simplemente no se interesan en averiguar) que el Wiedźmin no fue creado por CD Projekt RED.Por suerte, como les decía, entre los lectores ya Sapkowsky era un referente aún antes de que salieran los juegos.
Tenía entendido que estaba trabajando otra serie de libros, basados en las Guerras Husitas, así que hace poco decidí buscar si ya estaban disponibles en español. Y resulta, que además de los dos libros de dicha saga, me encontré Víbora, un tercero completamente distinto, ambientado en Afganistán durante la invasión soviética.
No obstante, no es de eso que quiero hablarles, sin…