Pues estoy de nuevo mas pronto de lo que esperaba, he estado empezando crear un proyecto, que en principio se va centrar en generar un laberinto, intentantodo consultar lo menos posible tutoriales de de internet, la idea es hacerlo por mi cuenta y luego consultar tutoriales, para fijarme que es lo que hecho mal o esta mal optimizado.
Cada bloque tendrá el mismo script, que básicamente servirá como un atajo para activar o desactivar el bloque. Para ello, se habilitarán o deshabilitarán sus colisiones y se ocultarán o mostrarán sus mallas.
Por defecto, todas las mallas estarán desactivadas. Cuando se genere el laberinto, se elegirá qué malla debe mostrarse en cada bloque.
El script de la escena padre será el encargado de decidir qué bloque mostrar en función del tipo de bloque que sea.
.
En la escena del mundo, el script será el encargado de mostrar visualmente el laberinto. El componente Excavador, que utilizamos en esta clase, se encarga de modificar la matriz. De momento, represento los bloques con un 1 y los suelos con un 0, aunque tengo pensado cambiar este sistema en el futuro.
También spawnea al jugador, la idea es que sea automático, que sepa como meter al jugador, buenos es algo que mirare, que sepa que bloques puede meter cosas y cuales no de forma automatica.
los cubos ocupan 5x5, asi es continuamente calcular el espacio que ocupara cada uno para meterlo en el mundo.
En pocas palabras, el Excavador se encarga principalmente de dos cosas: moverse aleatoriamente por el mapa y modificar la matriz a medida que avanza. Su forma de representar ese movimiento de excavación es introducir ceros en la matriz del laberinto.
De base, el laberinto es un gigantesco mazacote de bloques, y esta clase se encarga de ir introduciendo 0 en la matriz. De momento, el algoritmo interpreta ese 0 como suelo.
Pues nueva sección, y un poco también para forzarme y motivarme a terminarlos. La idea es que sea un roguelike de ir de un punto A a un punto B, coleccionando objetos para abrir la salida y enfrentándose a enemigos.
Ahora mismo, el Excavador tiende a ir muy al pedo, haciendo salas más que pasillos. Se nota un montón el patrón del laberinto y me gustaría poder meter salas prefabricadas o hacer que el Excavador excave siguiendo algún tipo de patrón.
Había pensado usar Noise, pero no creo que sea lo más adecuado para esto. Me da la impresión de que encaja mejor en cosas como generar mapas al estilo de RimWorld. Tocará investigarlo y ver si se puede adaptar al proyecto.
Y sobre la entrada en sí, ha quedado lo que considero relevante. Además de saltarme las partes que me aburren, es bastante satisfactorio. Las cosas que me he saltado son conceptos que ya he explicado en este blog, así que no tenía mucho sentido volver a escribir sobre ellos.
Viendo cómo ha quedado este formato, si me da por retomar los video-tutoriales, me voy a limitar a mostrar lo que sienta que realmente me aporta.
Hasta la próxima o hasta nunca, cualquier entrada tiene potencial de ser la ultima entrada del blog jajaaj.
No hay comentarios:
Publicar un comentario