Hermanos Juramentados de la Espada Negra
28 horas después… sigo programando
16-5-2016 11:22
Por Verion
He tenido un fin de semana extraño en el que no he hecho apenas nada más que programar. Salvando los agradables intervalos deportivos y el tiempo de dormir, es lo único que he hecho, lo cual es un nivel que me parece sorprendentemente elevado.

El objetivo de mi actividad ha sido avanzar en el desarrollo del videojuego “Ollvaror´s Caves”, para el que no sepa nada, un “metroidvania” 2D multiplayer más hardcore que sufrir la regañina de un gunear porque le huelan a uno los pies. Varios miembros del equipo estamos ahora muy implicados en esto, y ha dado lugar a que el proyecto avance de una forma fluida durante las últimas semanas. Voy a pincelar por donde han ido estos cambios.

Cambio del motor gráfico

“Ollvaror´s Caves” se empezó a programar en realidad hace unos seis años en los que las opciones no eran tan amplias como ahora. Se realizaron los trabajos con SDL (la versión de .net, de hecho) que no es adecuada para el rendimiento, pues lo renderiza todo con el procesador del equipo. Ahora es fácil contar con diversas opciones que aprovechan las tarjetas gráficas cómodamente incluso para juegos 2D.

¿Hemos usado uno de estos motores? ¡No! El hermano Siul desarrolló el suyo propio que tira directamente de OpenGL. Es irse a lo muy básico, y nos garantiza algunas ventajas.
  • Adaptabilidad continua a las necesidades.
  • Garantía de rendimiento en gráficas integradas o antiguas.
  • Buen encaje en la mentalidad del proyecto.
  • Adaptación a sistemas operativos (Linux, Windows y Macintosh).
Quiero remarcar que en las pruebas de rendimiento el motor dio buenos resultados incluso en ordenadores antiguos o mierdosos, como es el caso de… una tablet de ciento veinte euros o un cascajo que tengo en el taller de hace nosecuantos años.

Adaptar el código del cliente a este motor se llevó la semana pasada. ¡Enhorabuena, Siul!

Cambio de sistema “contínuo” a “discreto”

Han pasado muchos años desde que se empezó a programar el OC, y desde entonces la mentalidad y la comprensión de alguno de los creadores, entre los que me incluyo, ha mejorado.

El antiguo sistema del OC realizaba cálculos complejos nada fáciles de explicar a la hora de calcular, por ejemplo, el daño. Aunque se basaba en los atributos del juego de rol, la forma de ejecutar era muy diferente, y aunque funcionaba perfectamente, ahora ya no nos parecía limpio.

Gracias a todo este tiempo entendiendo el sistema del juego de rol hemos podido adaptar el sistema para que realmente podamos decir que se parece enormemente al juego de rol. Esto lo hace muy entendible, pues un jugador puede saber claramente cuánto daño va a hacer con cada arma, por ejemplo, y planificar su estrategia en consecuencia.

Por seguir con el ejemplo, el daño funciona prácticamente igual, las resistencias también, y tenemos un golpe flojo y uno fuere. Y el aturdimiento funciona igual, y tenemos iguales puntos de vida y aguante… esta convergencia entre un juego de rol de turnos y un juego de acción y táctica en tiempo real me satisface mucho.

Este cambio exigió bastante esfuerzo, y tiene un par de escollos que parecen solventados, como es el caso de la metodología del bloqueo.

Cambio del modelo de progreso y experiencia

Antiguamente el OC seguía un modelo de experiencia basado en niveles. Nuestro personaje, además de tener sus atributos, tenía un nivel que modificaba los atributos solo a efectos de algunos cálculos, entre los que se encontraba la cantidad que salta el personaje, el daño, y otras cosas.

El sistema estaba pensado para que al “máximo” nivel (en realidad no había máximo, pero era un máximo razonable) el personaje se hubiera “doblado”: hacer el doble de daño, el doble de vida, saltar el doble…

El modelo funcionaba, pero una vez más no era muy intuitivo y se parece poco al juego de rol. Además es algo segregativo, cosa que por aquí no gusta demasiado.

Actualmente el juego tiene un modelo de “talentos” o “perks” que recuerda más a las habilidades de combate del juego de rol. Estos “perks” requieren ciertos valores de atributos, y producen mejoras interesantes pero normalmente algo más compejas y tácticas. En principio no nos vamos a encontrar un talento que mejore el daño, sino quizá uno que aumente el daño del ataque en salto, u otro que mejore el daño del ataque en carga, o un tercero que aumente lo que aturde el ataque fuerte. De esto hablaré mucho en el futuro cuando trate el tema del combate conjunto.

Ah, y los personajes, que son capacitados, podrán pasar a luchadores y héroes.

Programar la muerte permanente

Sí, un juego con progreso de personajes en el que hay muerte permanente. El caso es que hasta este fin de semana no estaba implementada esta “funcionalidad”. Jueguen con cuidado.

Cambio del modelo de adquisición de objetos

El sistema de economía había de cambiar porque el anterior era algo farragoso. Involucraba una serie de subastas del “drop” conseguido en la pantalla. En esta subasta participaban los jugadores y el servidor que había hospedado la partida.

El sistema de mercado ahora no está del todo definido (¡glups!), y de hecho ahora mismo los jugadores no pueden adquirir objetos. Se basará en un subjuego de fabricación aún no diseñado, que quizá sea el siguiente paso. Seguramente cuando se juegue la alpha habrá un “protomercado”.

Lo que queda para el alpha

Lo cierto es que muchas personas estamos esperando echar unos buenos vicios al OC, y la buena noticia es que… ¡no estamos muy lejos del alpha! ¿Qué falta para ello?
  • Programar los talentos.
  • Limpiar algunos errores.
  • Contar con escenarios. ¡Trabajo gráfico!
  • Incluir los oponentes disponibles.
  • Hacer pantallas decentes.
Aún quedan muchas cosas más, como toda la cuestión sonora, en la que vamos a hacer mucha innovación, y desde luego muchísimo acabado.

En fin. Me despido por ahora, y como no puedo hacerlo con gráficos del juego en pre-alpha, lo hago con la desidia.



Bueno, ya que estoy...





Entradas similares:
Re: 28 horas después… sigo programando
19-5-2016 22:34
Hype, hype, hype, hype. hype.
Re: 28 horas después… sigo programando
26-5-2016 15:39
Por Siul
:)