[Devlog] Driveloop

totespare



Información general


Género

Bullet heaven / Survivors (no survival) con cámara top-down.

Motor

Unreal Engine 5.4

Plataformas

De momento Steam, en un futuro quisiéramos consolas.

Equipo

Somos 3 en total. @Hukha y yo como programadores, y otro compañero común de nuestro anterior curro como artista 3D. El marketing y la música serán subcontratados. Estamos financiados por el MBB de Berlín, y trabajamos a fulltime (y más, en realidad xD).

Tiempo de desarrollo

Aproximadamente 1 año para el EA, y luego se irá viendo de cara al lanzamiento final.

Diseño


Resumen del juego

Muy rápidamente, sería una especie de Yet another zombie survivors en el que manejas un vehículo en lugar de humanos, y en el que puedes apuntar manualmente (al estilo de un Twin Stick Shooter) y rescatar a otros supervivientes que te ayudarán a cumplir tus objetivos.

Características:

  • Destruye cientos (buscamos tener miles en pantalla) de enemigos con tus armas o atropellándolos.
  • Utiliza vehículos con diferentes tipos de armas, habilidades y estadísticas.
  • Encuentra garajes y otras estructuras y rescata diferentes supervivientes que te ayudarán disparando automáticamente y dándote habilidades.
  • Sube de nivel al matar enemigos y upgradea tu arma, los supervivientes que hayas rescatado, u obtén (o upgradea) un item que te dará habilidades y estadísticas.
  • Setup del juego basado en los años 20 postapocalíptica con un estilo artístico Deco-punk (fusión de ArtDeco y Steampunk).
  • Al subir al máximo ciertos items y ciertas armas, las podrás fusionar para dar lugar a un arma muy poderosa.
  • Destruye "nidos" de enemigos para desbloquear mejoras especiales.
  • Sobrevive durante 20 minutos y cumple objetivos (rescatar supervivientes, destruir nidos...).
  • Upgradea permanentemente los vehículos en la tienda de oro (que te darán al final de cada partida).
  • Sube de nivel cada vehículo y desbloquea nuevas armas/habilidades/etc. que poder equiparte. La experiencia se recibe al terminar un run.

Ideas a futuro:

  • Cada mapa estará basado en una ciudad real, con landmarks reales y diferentes biomas.
  • Un sistema dinámico a lo Helldivers donde te vayan diciendo qué ciudad necesita más ayuda estaría guay.
  • Queremos profundizar en la personalización del vehículo y añadir alguna mecánica, quizá algo estilo God of Weapons para el maletero, pero no lo tenemos claro.
  • Queremos también meter un poco de narrativa para que no sea 100% basado en gameplay, estamos aún pensando cómo.
  • A mi me gusta la idea de tener radio en el coche al estilo del GTA, y que según qué música pongas, tengas un bufo u otro, pero a @Hukha no le mola xD.

Desarrollo


Estado actual del desarrollo:

  • Sistema básico de conducción
  • Sistema de enemigos con ECS
  • Sistema de Vertex Animation Textures
  • Sistema de armas para supervivientes y para el player
  • Sistema de player profile donde guardar el progreso
  • Sistema de habilidades general. Se pueden crear nuevas habilidades con cualquier combinación condiciones y resultados que queramos. De momento están diseñadas algunas para los supervivientes, pero se usarán también para items, para habilidades del vehículo y para las habilidades de la tienda.
  • Vehículos enemigos estaría muy guapo también, la verdad, pero va a ser complicado.

Cosas a hacer a corto plazo:

  • Particle manager
  • Habilidades del vehículo
  • Items
  • Proyectiles en ECS
  • Pensar en una solución más eficiente para el pathfinding
  • Comportamientos específicos de los enemigos

Media


El coche actual con un arma y un monumento de Berlín:

Trailer


Y eso es todo! Iremos posteando el progreso cada día o cada unos cuantos días. Si tenéis cualquier pregunta, duda o idea que queráis compartir, somos todo oídos!

42
starfucker

Directo a favs!

2
Ridote

Pillo sitio

1
Jastro

Pinta interesante, entiendo que es un Horde Survivors, me gusta bastante el genero asi que si quieres feedback avisame

2 1 respuesta
totespare

#4 sí, eso es. Habrá betatesting para todos, don't worry jajaja

pantocreitor

Pero caunto RTX??? xD

1 respuesta
totespare

#6 full rtx, sólo rtx, de hecho no hay juego, es luz con rtx

5
Kuei-

Se seguirá!

2
PuNiSheR-

Olé !! Habrá que probarlo y quien sabe ... lo mismo hasta se compre ! Mucha suerte y ánimos con el proyecto.

2
torett0

Suerte, tiene buena pinta.

2
Yerboth

Que pintaca, la estética me flipa

2
Divaka

Por lo que veo es una mezcla de Carmagedon y Twisted metal a lo survivor y elementos RPG.

1 respuesta
totespare

#12 no vas mal encaminado, la verdad :smirk:

Gracias a todos por los ánimos, y me alegro de que os mole lo que se ve! Luego posteo un update de en lo que estoy currando ahora mismo :P

1
Ivan007valla

Me mola el rollo! Coches siempre es bien, lo difícil es arrastrar a los colegas y sacarles del lol / CS

1 respuesta
Hukha

#14 Me alegro que te mole!
Respecto al coop; no está planeado de inicio aun que no descartamos la idea... El lanzamiento dirá

BliNk_PoWa

Brutal

Urien

Pero bueno tote y esto? Te lo estabas guardando?
Day -1!

1 respuesta
totespare

#17 si te pasaras más por discord lo sabrías, cabrón, si lo he contao mil veces! Jajaja

Luego meto el update, que ayer no fue un dia muy productivo... jaja

1 respuesta
Urien

#18 Sabía que me caería mierda. JAJAJAJA.
Suerte con el proyecto man!

1
totespare

Primer update:

Estos días hemos estado discutiendo los 3 sobre el background del juego, el estado del mundo actual y el objetivo del player (a efectos "narrativos"), que si bien sabíamos la dirección, teníamos que refinar un poco. No va a ser nada loco, a fin de cuentas tendremos a un malo maloso que ha hecho mierda el mundo y nosotros queremos salvarlo. Obviamente hemos escrito mucho más a cerca de esto, pero la idea era tenerlo presentes para nosotros, y no tanto para el player. Queremos tener una base medianamente sólida para el mundillo que estamos generando, y más o menos lo hemos hecho por ahora.

Ya poniendome un poco más técnico, he estado currando en el sistema de habilidades. La idea que hemos implementado es una especie de editor pequeñito para crear habilidades rápida y fácilmente. Cada habilidad tiene un set de condiciones-resultados y una lista de posibles upgrades. Todo es totalmente customizable, tenemos de momento pocas condiciones y resultados, pero los iremos implementando a medida que metamos las habilidades específicas. De momento tenemos condiciones temporales y la condición de que el player reciba daño. Como resultados, tenemos el modificar estadísticas del arma del player o del arma del crew member (nombre interno para refererirnos a los supervivientes que podremos rescatar y meterlos al coche) y modificar el proyectil del arma del player/crew member.

Para la primera iteración del juego, respecto a habilidades y relacionados, queremos tener al menos 2 crew members, con sus upgrades y fusiones con items, 2 items, y una habilidad para el coche.

Y ya está, es finde, así que hay que descansar un poquet :P. Nos vemos en el próximo update!

9 1 respuesta
Sr_RoS

#20 valientes. Mucho ánimo con el emprendimiento que estáis haciendo.

Por otro lado.... En el cine series etc. La gente suele valorar que el protagonista tenga algo que perder. Todos nos acordamos del vídeojuego en el que capturaron al prota y lo hicieron sufrir. ( aunque fuera un poco)

Mucho ánimo. Me encantará leer los updates del juego y el historial de desarrollo.

1 1 respuesta
totespare

#21 muchas gracias! Entiendo lo que dices, y tengo en mente una mecánica que encaja con que perder tenga efecto más allá de terminar el run, pero tenemos que refinarlo y ver si encaja. También es algo difícil, porque en este género morir está a la orden del día. Pero sí, es algo que tenemos presente y queremos darle algo más de profundidad. Os iremos contando según avance el diseño :D

DiGuti

Directo a fav y pendiente de los updates.

Mucho ánimo y a por todas, equipo!!

2 1 respuesta
totespare

#23 gracias tiooooo, ahí estamos, dándole caña!! :muscle:

1
Hukha

Enemigos, Spawn, Proyectiles y ECS

Antes que nada, es importante destacar que la asignación de tareas se realiza de manera colaborativa, según nuestros intereses y la relación con lo que ya hemos completado. Ambos participamos activamente en todas las tareas y en el diseño de los sistemas.

Con esto quiero decir que en varios puntos no solamente he participado yo :P

Ahora, al grano;

Enemigos

He estado trabajando en el sistema de enemigos y sus configuraciones después de experimentar con la forma en que renderizaremos los enemigos y ejecutaremos su lógica.

Los enemigos tendrán una configuración similar al resto de objetos/sistemas, la cual crearemos en el editor. Dentro de estas configuraciones se incluirá su información: tipo de comportamiento, Animaciones, Mesh...
De esta manera, podremos cargar toda la información de un tipo de enemigo según sea necesario.

El renderizado de los enemigos y sus animaciones se realiza mediante VATs (Vertex Animation Textures) y su lógica se ejecuta en ECS, donde cada enemigo es tratado como una entidad.
Después, implementé un sistema básico de generación de enemigos utilizando las configuraciones de enemigos definidas en el mapa que se inicia.

Con todo esto, el bucle básico de seleccionar un mapa y que los enemigos especificados para ese mapa aparezcan, estaría completo.

Proyectiles (WIP)

Actualmente estoy trabajando en la implementación de los proyectiles. Su lógica también se ejecutará en ECS y, dependiendo de su comportamiento, tendrán ciertos componentes o no.

Para el renderizado planeamos utilizar Niagara systems, aunque aún no tenemos claro si nos aguantará en cuanto a rendimiento. Para ello, hemos creado un gestor de partículas al que se puede acceder desde ECS.
Como alternativa consideramos el uso de ISMs (Instanced Static Meshes) y moverlos en ECS si vemos que Niagara tiene algún tipo de cuello de botella.

Por ahora, tenemos hasta la fase de lanzamiento del proyectil, pero aún nos falta por implementar las colisiones y diferentes tipos de proyectiles.

Colisiones y Problemas

Actualmente, estamos utilizando un sistema que permite que las entidades en ECS tengan esferas, las cuales usamos para detectar colisiones entre entidades o entre proyectiles y entidades. Sin embargo, este sistema es bastante limitado al tratarse únicamente de esferas en un grid 3D.

Es probable que necesitemos desarrollar un sistema de colisiones custom, porque no hemos encontrado ninguna solución específica para colisiones 2D y multihilo. (Aunque nuestro juego es en 3D, todas las colisiones se manejarán en un plano 2D).

Y hasta aquí mas o menos por el momento. Mi próximo paso es finalizar la implementación de los proyectiles y abordar de una vez por todas la cuestión de las colisiones.

Espero que os mole
Salu2 :-D

7
8 días después
totespare

Diseño y más habilidades

Buenas a todos! Me toca poner actualización :D. Han sido unos días moviditos, así que allá vamos!

Lo más importante de todo, hemos tenido una reunión los 3 para terminar de diseñar lo que nos faltaba para el vertical slice y tomar algunas decisiones organizativas. Primero, nos faltaba definir exactamente una figura de diseñador, ya que hasta ahora lo estábamos diseñando más o menos todo en grupo, pero esto no es sostenible para el futuro. A mi me gusta el tema de diseño y me gustaría ir tirando hacia esa parte en los desarrollos, así que me he propuesto yo y mis compis no han tenido problema con ello. Lo que queremos evitar es que las responsabilidades se diluyan, y también queremos que el ritmo de desarrollo/diseño aumente.

Hemos definido una reunión semanal (si bien teníamos la idea desde el inicio, hemos tardado un poco en ponerle fecha fija) para estar al tanto de lo que hacen los demás (aunque principalmente es para que el artista sepa lo que hacemos nosotros y nosotros lo que hace el artista, ya que @Hukha y yo estamos en constante comunicación).

En tema habilidades hemos decidido que de momento las armas sean upgradeadas como una habilidad más dentro del level up normal del juego, pero la idea es que en el futuro sean loot de bosses (o quizá ambas cosas? lo iremos viendo).

Hemos decidido que sólo un mapa, el de Berlín, será el que hagamos para el vertical slice.

Tendremos eventos dinámicos en los que tengamos que destruir edificios con diferentes estructuras defensivas (torretas etc.), entre otros (rescatar gente, eliminar factorías de robots...), pero tampoco tenemos claro el tipo de reward que daremos. Se aceptan ideas :P.

También teníamos dudas de si el hecho de conseguir compañeros (los llamamos internamente crew members) debería ser a modo de rescate o si vienen al mapa a modo de refuerzos, y hemos optado por la segunda. Esto principalmente lo queríamos tener claro para tener cierta coherencia en el juego, especialmente si los usamos fuera del juego (por ejemplo mejorándolos con un árbol de habilidades propio o algo así).

He creado también un cheat system para poder testear cositas rápidamente, y menudo lujo lo que te da unreal ya hecho, me encanta :D.

Ya por último, hemos cambiado de Planner a Trello, y menudo cambio... estábamos usando Planner porque ya que tenemos varias cosas de microsoft y nos venía incluido le quisimos dar una oportunidad, pero menudo sidancer de aplicación...

Y eso es todo por hoy! Hoy terminaré unos cuantos items/habilidades que me faltan y ya veré con qué me pongo después...

Un saludo y gracias por leer :D

8
totespare

Mañana meto update, que menudo diita de curro llevo, a fuego xD

1 respuesta
starfucker

#27 A ver que has roto

1 respuesta
totespare

#28 nada, romper nada, un refactor guapo con varios fixes jaja

1 respuesta
starfucker

#29 Todo buen programador sabe que los refactor rompen mas que arreglan pero esta siempre ahi la tentacion de hacerlos xDDD

1