Mostrando entradas con la etiqueta Juego. Mostrar todas las entradas
Mostrando entradas con la etiqueta Juego. Mostrar todas las entradas

domingo, 17 de junio de 2018

Mis últimos proyectos.

Lo digo desde ya: no he trabajado en Thrylos desde la última versión. Ya entonces dije que habíamos cambiado de edición de Godot, uno de los motivos por el que no avancé más con aquel prototipo. El otro es más obvio: Thrylos es un concepto bastante abierto. Podría decir que es un juego de juegos, lo que implica un gran problema: necesito pensar cuidadosamente cada uno de esos juegos.

Debido a ambas razones, decidí empezar a hacer algo nuevo para al menos cambiar un poco de aires. Este proyecto es más simple, lo que implica que tengo un camino más claro y puedo centrarme mejor en los objetivos. También tengo decidido cómo quiero que continúe la idea, así que paso a paso la acabaremos. Tengo una gran parte completa, aparte de estar sacándole mucho más partido a Godot, que aprovechaba muy por debajo de sus capacidades.

Eso sí, hay una novedad, porque en verdad no es algo sólo mío, la idea es sin duda externa (y más cosas) y debe decirse que, si bien llevo al programación solo, la obra por derecho es también de otro: de Mario Domínguez Soler. Por la simple razón de que me sigue gustando The Revenge of Shinobi, he decidido que es buena idea coger a Carolina Linares, "Caroninga", y darle una versión propia, El jeugo de la ninga asesina (sic).

Ya seguiré informando.

viernes, 30 de marzo de 2018

Cuarta versión de Thrylos.

Pues aquí está. Esta trae idiomas, pero es notoriamente más corta y no hay combates. Debo admitir que gran parte del trabajo ha ido sobre cómo automatizar ciertas operaciones que no son visibles a nivel de jugabilidad y sobre el cambio de escenas. Otro cambio que acabó por afectar mi interés en introducir nuevos personajes es la aparición de Godot 3.0 estable en Steam, el cual trae nuevos métodos más ventajosos que serían largos de enumerar aquí.

Incluso me planteé no sacar esta versión, pero he decidido que sí aunque sólo para que se disfrute de los idiomas. ELIMINADO por motivos explicados aparte.

sábado, 23 de diciembre de 2017

¡Tercer prototipo de Thrylos! Godot para lo bueno y para lo malo.

Aviso: Enlace eliminado pro razones personales.

¡Era hora! Después de junio, no había sacado nada más después de enredarme malamente en los editores, como conté aquí. Pero no dejé de trabajar, como demostré ahí.

Sin más preámbulos, debo decir que en general trabajar en Godot ha mejorado mucho el asunto. La animación en especial ha ganado mucho y es mil veces más fácil crear nuevos elementos y añadirlos a una escena o no según se quiera... Pero ha habido problemitas. Una de cal y otra de arena, siendo honesto.

-En el caso de Pygame, yo mismo me creé los elementos y, aunque era un verdadero coñazo, al menos funcionaban como mejor me parecía. En el caso de Godot, hay objetos prepensados que no siempre han funcionado como me esperaba. Reitero que mi experiencia con editores pensados para juegos es nula.

-El anterior punto ha afectado ligeramente a las cajas, que necesitarán un nuevo ajuste y de hecho en el presente juego se les evita ciertas situaciones. También afecta un poco a los textos, que notoriamente no tienen varios tamaños. Esto es así porque Godot no permite esto si no se importa una nueva fuente de texto. Dicho eso, odiaba la que debía usar en Pygame.

-Para guardar datos encontré cierto problema comentado ya en el caso de Terror Story que ha encontrado una solución sencilla.

-Hay otras simplificaciones nacidas del hecho de que quería sacar esto antes de Navidades, como que los enemigos sólo detectan al personaje rival cuando lo tienen enfrente. Otras no son notorias. Al fin y al cabo, hube de comprobar unas cuantas cosas previamente a hacer algo consistente.

De todos modos, puedo decir que la siguiente entrega será MUCHO MEJOR. Lo que he aprendido me va a permitir crear algo bastante más potable, sin duda. Y aquí ELIMINADO, también presente en al columna lateral.

miércoles, 13 de septiembre de 2017

Últimas noticias respecto a Thrylos.

Algunas, me temo, no son buenas. ¡Otras son fantásticas!

Durante el verano, intenté crear algunos editores para mi juego. El problema está en que subestimé la dificultad de la tarea. He podido hacer uno para los niveles, pero ahí se acabó. Para abreviar, se debe a la combinación de haber tenido menos tiempo para usar el PC, de no parar a tiempo antes de imaginar situaciones demasiado complejas y de haberme divertido de lo lindo (Trails in the Sky, ¡ejem!).

Desde el comienzo, he tenido esta tendencia a pensar en situaciones complejas, porque considero que Thrylos ganaría mucho con un buen editor de niveles. Sin embargo, mis ambiciones fueron demasiado grandes y además me puse un plazo menor del acostumbrado, ¡en la situación menos aconsejable!

Pero también hay buenas noticias. Después de probarlo, he decidido usar el motor Godot. Cuando más dubitativo me hallaba yo sobre si continuar con los editores, mi amigo Daniel Robledo me reveló su existencia. Y parece funcionar bastante bien.

Sabía sobre motores, pero no me sentía decidido a emplear ninguno en concreto. Sin embargo, este es bastante reciente (la primera versión estable Godot 2 apareció en febrero del año pasado) y lo primero que encontré en Internet era precisamente lo que me dejó frustrado. Ambos hechos me inclinaron a darle una oportunidad.

Así, considero que debo seguir trabajando hasta obtener una nueva versión. De momento, puedo decir que el juego está mucho mejor animado en Godot y estoyy alcanzando el punto en que alcancé en Python. Estos años me han enseñado lo básico de programar, que seguiré usando con provecho. Además, Godot incluye 3D y es buen momento para empezar. Pygame no está en verdad pensado para las 3D , por lo que consideré el motor Ogre como una alternativa.

Y con eso, me vuelvo al trabajo...

P.D: Uso MacAfee y, por alguna razón, detecta la página de descargas de Godot Engine como peligrosa. Godot se puede descargar desde Steam (es lo que he hecho), pero siempre viene bien advertir.

lunes, 26 de junio de 2017

Segunda versión del prototipo de Thrylos.

Aviso: Desde el 14/12/2020, se eliminó el enlace. Motivos, en una entrada posterior.

He seguido introduciendo nuevas facetas para Thrylos y puedo decir que he cumplido prácticamente la totalidad de mis planes. De momento:

-En el anterior prototipo, fallaba la animación de empujar cajas y la de dejarse caer, por lo que no se incluyó el movimiento de descolgarse. Ahora están corregidos y funciona bien.

-Hay plataformas por las que se puede pasar a través, lo cual mejorará mucho la jugabilidad.

-Los ataques son ahora más precisos, en el anterior prototipo no detectaban correctamente las colisiones.

-Configuración de controles. A no todo el mundo le gusta usar los mismos controles, así que es absurdo no dar una opción para cambiarlos.

-En lo que se refiere al código en sí, he implementado un mejor registro de datos, que el anterior era un coñazo y daba errores con frecuencia. No obstante, aún quedan algunos asuntos pendientes que aclaro más adelante.

-He cambiado la inteligencia artificial, pues quiero que el primer enemigo que se encuentra en el juego sólo tenga ataques cuerpo a cuerpo. También he desarrollado otro tipo de enemigo, aunque no aparece en este prototipo.

Me queda pendiente, eso sí, mejorar mucho este último aspecto. He reflexionado bastante al respecto y debo admitir que, si bien ya creé en uno de mis intentos anteriores un sistema funcional, no me convence del todo porque depende de banderas y como cada tipo de enemigo tendrá su propio comportamiento, al fin y al cabo podría hacerlo más complejo.

Para el futuro queda:
-Introducir los datos como archivos que se cargan al iniciar el programa, para implementar un sistema más cómodo para añadir mods.
-Incluir textos en español. Pero si hago eso, seguramente será como un dato externo. ¿Por qué? Porque, si uno piensa en las traducciones, es más fácil añadir nuevos archivos, que tener que introducir en el código el nuevo texto en el idioma que sea. Es decir, una extensión del anterior punto.
-Un editor de niveles, personajes y otros puntos para agilizar que se puedan guardar los anteriores datos en archivos.
-Más ideas como que los ataques puedan orientarse en varias direcciones, pero seguramente me concentraré más en las anteriores ideas de momento.

Ahora bien, debo reconocer que tengo una severa limitación:
-Sprites. Hasta ahora he usado sprites freeware, pero cualquier obra coherente presenta una unidad estética. No puedo seguir cogiendo por ahí para que esto resulte serio. Hasta ahora me ha bastado para aprender, pero es hora de que intente algo por ahí. Ya se me ocurrirá algo...

Allá va el ELIMINADO. De todos modos, se puede encontrar el link en la columna a la derecha.

jueves, 6 de abril de 2017

Primer prototipo de Thrylos.

Aviso: Desde el 14/12/2020, se eliminó el enlace. Motivos, en una entrada posterior.

¡Pues aquí está! Pero quisiera contar su historia... Sin extenderme demasiado.

La idea de aprender a programar, aunque fuera sólo una afición, provino de mi amigo Daniel Robledo, quien me comentó que Python era un lenguaje de uso público que era fácil de manejar... No le faltaba razón, aunque es incompleto, incluso considerando módulos orientados a la creción de juegos como Pygame.

Thrylos es desde el principio un juego de plataformas del género cinemático, que engloba los juegos cuya física suele ser realista: los personajes no pueden variar su dirección en el vacío, suelen ser humanos o una especie similar y la acción suele ser breve, normalmente un impacto significa la muerte.

Ejemplos bien conocidos son el clásico Prince of Persia, Abe's Oddysee y su secuela Abe's Exoddus, y Another World. Me basé en estos juegos porque quería desde el principio que la protagonista fuera una muchacha normal y corriente, en oposición de que fuera princesa o tuviera orígenes mágicos (muchas veces, ambos hechos están relacionados).

Ahora bien, como la cantidad de juegos que he llegado a conocer es extensa, tengo otras dos influencias:

-De Snow Bros he cogido el concepto de niveles de una sola pantalla, sin scroll, aunque no descarto que en el futuro introduzca un buen scroll.
-Más importante, el juego va a contar con diversos personajes que están a la vez en la pantalla y cuyo control se cambia. Es decir, a diferencia de lo que ocurre en otros juegos, donde esto sólo sucede si sale el personaje del principio, estos personajes siempre van a estar ahí y deben avanzar todos juntos.

Fuera de estos detalles, pensé en un modelo tradicional: The Escape of the Slave Girl, juego lineal, en el que a la chica que huye de la esclavitud se le unen diversos personajes a lo largo de la aventura por diversas razones. Estos compañeros iban a ser tres, lo que sumaba cuatro personajes. No obstante, en ese momento se topó en mi camino un tuitero que se llama Agorer (@LatveriasDoom), quien enlazó un juego freeware llamado Like a Clockwork. En sí, es una crítica a lo tópico que se han vuelto los juegos de rol japoneses, pero me inspiró la idea de que tuviera diversos itinerarios y diversos finales.

Tiempo después, empecé a pensar que, como los diversos finales que he ido pensando no siempre cumplen lo anunciado en el título original, debía el proyecto tener otro nuevo título y se me ocurrió que Thrýlos, "leyenda" en griego, era una buena idea porque me baso, aunque sea con muchas libertades, en la mitología griega.

Esta historia es mayormente fiel a la realidad, aunque hay que considerar que algunas veces interrumpí y reempecé el proyecto cuando asuntos personales o incluso cursos de programar me fueron forzando a considerar otros puntos de vista (muy especialmente, mis nulos conocimientos de programar al empezar, miren). Casi conseguía la colaboración de un dibujante, a propósito, pero no cuajó.

Pero como la práctica hace al maestro, he mejorado bastante y he alcanzado este prototipo, que comparto por Drive. No obstante, mayormente está incompleto, pero tiene algunos de los elementos que he comentado más arriba. Eso sí, necesita varias mejoras, entre estas:

-Los proyectiles, en general, van demasiado rápido. Todavía no me he preocupado en exceso de la actualización, que se limita a 60 ticks por segundo. De todos modos, quiero mejorar cómo se produce la interacción entre estos y los personajes.
-Quiero introducir plataformas de las que dejan pasar si el personaje sube, pero son un obstáculo si cae, con una animación especial que muestre cómo suben.
-Mejorar la IA, que es muy limitada. Hasta ahora usaba un sistema de "banderas", que marcaba en diversos puntos del escenario qué debía hacer un NPC si por allí pasaba y según su comportamiento... Pero este sistema es bastante aburrido de implementar si el escenario cambia, porque también la bandera debe cambiar su posición. Así que, inspirado para la solución que he encontrado para un movimiento-el cual no aparece por las razones a continuación nombradas-, he decidido que reaccionen de acuerdo con las plataformas del propio escenario.
-En general, todos los movimientos necesitan repaso. Uno de ellos ha debido incluso de ser eliminado porque mostraba un fallo molesto y tampoco es necesario de momento. Y, esto es imprescindible, necesito sprites de distinguir entre los personajes, porque pocos de Open Game Art me parecen apropiados para el juego. También relacionado con esto, hay que darle mayor personalidad a cada escenario.
-Añadir una configuración de controles. ¡Qué menos! A no todos nos gusta jugar de la misma manera.
-Esta no se nota al jugar, pero es importante: cambiar algunos de los datos, porque, primero, a veces dan problemas derivados de que en Python los booleanos se pueden confundir con números enteros y, segundo, un cambio en cómo se guardan podría facilitar el juego fuera editable, cosa que suele gustar.

Hay otras mejoras pendientes, pero primero me concentraré en estas, que saldrán para el siguiente prototipo. Y sin más preámbulos, el ELIMINADO donde se puede descargar... Por supuesto, también está en la columna lateral (que debo actualizar estos días).