Después de una serie de iteraciones, el prototipo del jrpg "space", desarrollado en el motor Godot, finalmente ha crecido a la primera versión de demostración. Las opciones de Win64 y Linux están disponibles. A continuación se muestran los detalles de lo que fue, lo que fue y hacia dónde vuela la pequeña nave estelar.
Cuadro
Los bocetos básicos del juego tomaron forma bastante rápido cuando pasé de pensar en los conceptos básicos a armar un prototipo de juego dentro del motor del juego. Primero apareció la pantalla de inicio, la escena del mapa global con movimiento y la capacidad de llamar al inventario. Al mismo tiempo, se pensó en una arquitectura inicial: cómo cargar exactamente módulos individuales e intercambiar información entre ellos.
Luego apareció la pantalla de batalla, lanzada primero por un botón separado y luego vinculada a una colisión con enemigos. Más tarde, se agregó la pantalla del planeta, los planetas para ese momento tenían un informante en el mapa global, donde se agregó el botón de visita. Otros tipos de objetos interactivos se derivan del informante, por ejemplo, una estación que no implica una entrada a su pantalla interna, pero que a veces tiene algún tipo de funcionalidad externa con la capacidad de hacer clic o seleccionar algo. O los recursos que se recogen: el polen cósmico.
A continuación, se requería realizar el mayor lote posible de héroes (eligiendo entre 3 o 4, todavía elegí el concepto de un lote de 3), lo cual se hizo. En el proceso, se agregó la visualización del daño, la elección de los objetivos para el ataque, algo de música.
En esta etapa, ya era posible subir una mini-demostración, pero decidí primero finalizar el proyecto a un estado más complejo, para que se entendiera mejor qué era y cómo debería funcionar aproximadamente. En el camino, agregando contenido y algunos adornos, como actuación de voz, animaciones.
Puede leer más sobre el concepto y la implementación básica en estos artículos:
Proyecto microspacial
Diseño de juegos iterativos, Godot y el mundo de los planetas pequeños
Desarrollo de prototipos
Echemos un vistazo a las diferentes áreas en las que se llevó a cabo este desarrollo:
Combate El
número de naves disponibles aumentó gradualmente, al igual que el número de enemigos disponibles, así que reescribí paso a paso su representación de combate y lógica de control en una versión más universal. Lo cual no fue tan difícil, debido al hecho de que se previó tal curso de eventos y algo en el código se optimizó de antemano.
Por ganar una batalla, el grupo recibe una cierta cantidad de uno de los 4 tipos de recursos (esencia, maná, adn o materia), según el tipo de enemigo. El grupo de enemigos también tiene un tipo común. Los personajes que contribuyeron al daño ganan experiencia (aunque esto todavía no les da nada).
La visualización de daños se implementó inicialmente a través de una vista 3D, que muestra una ventana con una línea de daño en un polígono frente a la cámara. Esto funcionó más o menos, aunque la implementación técnicamente no fue muy agradable para mí, ya que todo se confunde un poco con la ventana gráfica: debes colgarla más cerca de la raíz de la escena para que no haya fallas y es un poco más difícil verificar cómo se ve el efecto que con una simple salida de 2d línea. Por lo tanto, no quería iniciar muchas ventanas gráficas, hice solo una, moviendo el polígono que lo muestra donde sea necesario, aumentando / disminuyendo simultáneamente. Pero también hay que pensar que algún día habrá habilidades que causen daños masivos y será necesario mostrar al menos tres iconos con daño al mismo tiempo (aunque incluso aquí puedes ingeniar haciendo una especie de onda de animación desde el mismo objeto o incluso un par de ventanas más).
Sin embargo, cuando agregué un modo de pantalla completa al prototipo, los números de daño allí comenzaron a difuminarse notablemente, así que quería considerar aún más otras opciones para mostrar el daño. En principio, podría arreglar la cámara en la batalla, pero por alguna razón sigo manteniendo la capacidad de girarla completamente entre la espera de una acción.
Así que terminé reescribiendo la salida de daños. Ahora las líneas 2D se adhieren a la proyección de la posición del objeto 3D. Aunque aquí también hay algunos matices, por ejemplo, si apartas la cámara, seguirán mostrándose, o si se muestran de forma continua en cada cuadro, es decir, es posible colgar la cámara actual en una posición, pero esto ya tiene solución.
Para acelerar el proceso de prueba, hace mucho tiempo que se creó un botón especial, como si no se pudiera jugar, para la victoria automática si era necesario para salir de la batalla. Además, durante mucho tiempo no hubo forma de perder. Luego agregué "congelación" de las naves cuando su franja se restableció a cero, y luego se sugirió una comprensión completa de perder la batalla. Para hacer esto, primero transferí el botón de ganancia automática a la categoría de opciones de juego completas, con la única diferencia de que ahora se ha convertido en un botón de reproducción automática de emergencia que inicia el diálogo de salida. Y luego agregó algunas fallas para terminar automáticamente la batalla con una durabilidad cero de todas las naves, lo que también provocó este diálogo.
Después de ser derrotado en una batalla, el enemigo desaparece y la durabilidad de cada barco del grupo en la próxima batalla será igual a 10. Por cierto, todavía no hay un límite superior de durabilidad y se pueden usar varios tratamientos para aumentar la durabilidad más allá de los valores base.
Barcos y enemigos
Todo es simple: eran tres, ahora son diez. Cada uno tenía que establecer parámetros y su propio icono, así como incluirlos gradualmente en el juego y las opciones relacionadas con la elección de los barcos. Al principio, las nuevas naves estuvieron disponibles en el mapa global y en búsqueda de planetas, luego se integraron gradualmente en la batalla.
También se agregaron opositores, además, con diferentes enfoques. Un enemigo, un par de enemigos diferentes, un par del mismo, un enemigo más grande con dos ataques, un mini-jefe que consta de varias partes.
Las naves espaciales en batalla tienen la capacidad de realizar su ataque estándar. Su daño está destinado a ser reparado y vinculado a los posibles niveles futuros de los barcos. Además, un ataque estándar se puede mejorar con una bonificación al daño y / o un efecto de curación, luego esto se muestra junto a los indicadores del barco con pequeños números morados y verdes.
El daño de barcos y enemigos también se ve afectado adicionalmente por la combinación de sus tipos. Los representantes del mismo tipo se hacen más daño entre sí, mientras que los antagonistas (pares: magia / tecnología, divino / evolutivo) - menos.
Los cuatro barcos tienen habilidades personales que pueden usarse en batalla. Estos son el Drifter (la habilidad inflige daño y aumenta el siguiente ataque), Spira (vuela hacia el futuro, un turno hacia adelante y recibe daño adicional al siguiente ataque al regresar), Trinity (solo inflige daño) y Otomo (extiende los aumentos de curación a próximos ataques).
Un cierto porcentaje de la energía de la nave se gasta en el uso de habilidades (por el momento, nada recupera esta energía). Otras naves tienen instalada la habilidad ficticia "Escudo" en lugar de su habilidad personal, que reproduce una animación, pero no tiene ningún efecto.
Habilidades y personajes
Si los barcos son una especie de analogía de los personajes principales, entonces los personajes que llevan son una especie de analogía de las armas de estos héroes. Uno de los puntos importantes que quería reflejar en el proyecto es el uso de un sistema de identificadores, que dan el efecto de azar no aleatorio, y con un uso más amplio, pueden funcionar para generar una trama psvedo. En términos simples, los personajes, barcos y enemigos tienen ID especiales que te permiten calcular el resultado de la interacción de cualquiera de estos objetos y usarlo de alguna manera.
Por el momento, el uso de este resultado es el siguiente. En primer lugar, cada personaje y barco tiene un efecto de compatibilidad. Es decir, una vez a bordo del barco, el personaje puede, por ejemplo, entrar en pánico, quedarse dormido o no entender cómo manejar sus sistemas. Ahora, el resultado de la conexión "barco-pasajero" y el posible efecto adicional que impone simplemente se muestra en la ventana de inventario. Pero esto aún no se refleja en la participación del personaje en la batalla.
Los personajes pueden ser "atacados" directamente en batalla a través de la opción "Tripulación". Este no es solo un personaje que realiza una acción específica, como un hechizo mágico específico o un disparo de un arma. Esta es una situación determinada que implicó una cierta cantidad de pérdidas por parte del enemigo. La conexión "pasajero-enemigo" ya está funcionando aquí, que es interpretada por el mundo exterior (en este caso, el sector espacial) en una de nueve consecuencias: # LUZ, # OSCURIDAD, # MÚSICA, # TEORÍA, etc. Es decir, el jugador puede imaginar asociativamente lo que hizo el personaje, cuál fue la consecuencia con tal formulación (o tal vez no; las asociaciones son opcionales, especialmente porque todavía funcionan por sí mismas en algún lugar del fondo).
Cada enemigo, respectivamente, tiene vulnerabilidades o resistencia a cierto tipo de consecuencias. El daño de las acciones de la tripulación no se ve afectado por la combinación de tipos de barcos, es un efecto alternativo separado. Si las consecuencias resultaron en cero daños, entonces el barco recibe una pequeña bonificación a su próximo ataque normal.
Quizás, en el futuro, el uso del sistema de identificadores crezca aún más. Por ejemplo, en los mismos planetas pueden operar sus propias auras de significados, modificando la tabla de interpretaciones, pero primero es necesario implementar allí algunos eventos en los que participarían identificadores.
Algunos personajes raros tienen habilidades activas para barcos de cierto tipo. Por cierto, hasta ahora no todos los personajes han firmado que otorguen algún tipo de habilidad (esto se refiere principalmente a aquellos que no están actualmente en el modo de juego principal).
Sea como fuere, por el momento, las habilidades obtenidas de los personajes transportados están perdiendo el efecto ficticio (como la mayoría de los elementos). Pero un héroe, Leto, tiene una habilidad pasiva, no ligada al tipo de barco, y ya funciona.
Spira y el Drifter también pueden aprender las habilidades de los personajes de su tipo (aunque todavía no tienen ningún efecto), habiendo luchado con ellos una vez.
Artículos
Siempre llegó a la carga en segundo lugar, después de que la implementación para los personajes ya estaba lista. Básicamente, todo se reducía a mostrar sus celdas y mover los talones de elementos entre ellos. Pero más tarde apareció un elemento activado, Alive, que restaura 100 de durabilidad a la nave. En ese momento, acababa de comenzar a hacer la opción de combate "Mantener", y necesitaba al menos un elemento con algún efecto real.
En cuanto al elemento de curación en sí, se planeó originalmente que podría tener algunas cargas y que podrían reponerse en algún lugar. Al final, dejé una carga y lo hice para que este artículo pueda descargarse cuando se use y recargarse nuevamente del polen cósmico recolectado.
Misiones y pantalla del planeta
En los planetas, puedes encontrar varios procesos y eventos que tienen lugar allí. Algunos van por sus propios medios desde el principio, otros se lanzan cuando se cumple el anterior o aparecen en determinadas horas de luz. Entre estos eventos, ya hay un par de tareas lanzadas con la ayuda del jugador, si tiene la cantidad requerida de recursos.
Desde la información sobre eventos planetarios, puede cambiar a la pestaña de naves, donde puede ver su bodega y tripulación, y también llevar de una a tres naves estelares seleccionadas al grupo activo. También hay un pequeño espacio en los planetas para personajes y objetos, desde donde se pueden mover dentro de las naves o, por el contrario, dejarlos caer sobre el planeta.
Otro
Se ha añadido la opción "brújula" al inventario que se abre durante los vuelos espaciales, lo que ayuda a volar al punto seleccionado. Aparece un puntero especial con la distancia al destino. Este navegador solo funciona en el modo de juego principal.
Además, en el inventario, puede encender / apagar sonidos y música, cambiar el barco principal en el grupo actual, encender / apagar la pantalla completa y también salir del juego al menú de inicio.
La información sobre la tripulación y los miembros de la tripulación y la carga en el inventario se simplifica y no se puede mover durante el vuelo. En realidad, estas no son restricciones de tiempo, sino una característica mecánica del juego: debes cambiar algo, lo que significa que debes visitar el planeta.
Las notificaciones especiales ahora aparecen en ciertos días de luz. Estos días se desperdician visitando cualquier planeta (en el futuro, tendrás que volar entre diferentes para cambiar el día).
Las fuentes de algunos elementos se han mejorado gradualmente. Han aparecido varios sonidos: para la batalla, para la pantalla del planeta, para el inventario. Naturalmente, omito varias pequeñas cosas, como agregar un botón de cancelación, pero esto tampoco se saca de la nada y requiere atención. Además de mucho trabajo completamente invisible para mejorar el código o reescribir estructuras que visualmente no cambian nada.
Además, se realizó un espacio en blanco para zonas especiales, con un vuelo "realista" y la escala de los objetos. Puedes encontrarte en él durante el juego tocando un objeto especial. En el interior, puedes volar un poco en el bote Trinity con un control ligeramente cambiado, y para salir es suficiente volar hasta el borde de esta área.
Versión de demostración
Ya inmediatamente antes de la aparición de la demostración, se creó un modo de desarrollo secuencial para él, como la versión principal del juego: aquí el jugador recibe una nave inicial (Drifter) y comienza a explorar el sector, abriendo nuevas naves estelares para unirse a la fiesta. Por lo tanto, en este modo, puede abrir dos barcos más (Spira y Vanguard). Hay tres planetas en el sector inicial que se pueden visitar. Habiendo reparado una estación especial, puede moverse al segundo sector y encontrar otro planeta disponible allí.
Una versión de prueba temprana de la ubicación, donde varios planetas y enemigos se colocan de manera más densa, está disponible en un modo de juego alternativo, menos depurado: todas las naves prueban. Allí, una opción de 10 barcos existentes está disponible de inmediato (puede tomar hasta tres en un grupo activo), hay más héroes / carga y se distribuyen de manera diferente. Puede haber cierta superposición de parámetros del juego después de salir de un modo y cambiar a otro.
Las innovaciones de la última actualización se muestran en un nuevo video, donde, además de la jugabilidad, se agregan elementos de un teaser.
Cortes de video de algunas actualizaciones anteriores
Puede descargar el archivo de demostración aquí (dropbox):
versión Win64 (50 Mb)
versión Linux (52 Mb)
Controles:
WASD - vuelo, mouse - rotación de la cámara
Enter - abrir / cerrar inventario mientras vuela en el espacio
Naves: 1 - Wanderer, 2 - Spira, 3 - Vanguard, 4 - Virgin Yaga, 5 - Muhh, 6 - Stella, 7 - Trinity, 8 - Otomo, 9 - Aguamarina, 10 - Giybel.
