Diseño
Sofware: diseño y planificacion del programa
Se tiene que tener en cuenta, el proyecto se divide en 3 partes.
Constructor: es la parte que se encarga de generar el mundo, y toda comunicación con el se tiene que llevar a cabo por su api.
Datos: conjuntos de elementos que guarda la información de como se tiene que construir el mundo. La api del constructor se maneja a partir de los datos, preferiblemente, también se puede construir en tiempo de ejecución modificando la api solo en el constructor. "ejemplo para generar planetas procedurales que no necesiten datos almacenados" seguirán trabajando con datos, pero esta vez en memoria ram y no en disco duro.
Editor: el editor meramente crea/edita los archivos de datos. No toca nada en el constructor
Todos los elementos tienen que trabajar bien por separados, y los datos además tienen que poder expandir la forma en que el constructor trabaja.
¿Cómo podría expandirlo?
Los datos también pueden guardar código de gdscript, el cual al ejecutar ciertas funciones, cambiaran la forma en que se retorna los datos. Ejemplo, podría existir una forma de leer datos de imagenes raw o para mapas de altura, o crear un archivo de datos en donde una imagen "r,g,b,a"use cada canal como un dato de profundidad para agregar mas detalle al mapa de altura, o utilizar los valores "r,g,b" como datos de clima temperatura lluvia y "a" como la altura, para generar mapas con gráficos de climas dinámico como la clasificación Köppen
La api se encuentra del lado del constructor: su función principal es leer los datos. La api ejecuta una función de los datos, y utiliza el retorno para ejecutar su funcionamiento.
Todo el programa esta basado en sistemas, cada uno esta controlado/manejado por la api, cada parte del programa es su propio sistema o un conjunto de sistemas y cada sistema puede tener su propio recurso con el cual construirse
esto es un ejemplo basico de lo que puede ser el sistema, tener en cuenta que es un simple ejemplo
Los datos son archivos .tres de godot, el cual contiene todos los datos y funciones necesarios para que la api pueda trabajar.
cuando creamos un dato personalizado, se agregara el archivo .gd en la carpeta datos_custom y a partir de ahí se crearan los archivos .tres
El flujo de trabajo consta de 3 partes, visor; planificador; constructor.
Visor: nos indica que partes del planeta tienen que parte están cargadas y a que nivel, para ahorrar memoria.
Planificador: según los datos del Visor y como esta configurado el planeta, este indicara como es que tiene que construirse el planeta.
Constructor: construye el mundo según las indicaciones del Planificador