Sobre el proyecto

Brileta es un motor de juegos y sandbox desarrollado internamente, diseñado para experimentar con mecánicas de juego, gráficos y generación procedimental. Desarrollado utilizando Python y C con WGPU para el acceso a la GPU, evita los frameworks externos para implementar sus propios sistemas de renderizado, entrada, audio, iluminación e IA. Las características técnicas clave incluyen: - Iluminación impulsada por Shaders: Utiliza fragment shaders de WGPU para la iluminación por tesela, admitiendo múltiples luces puntuales con parpadeo dinámico, sombras de terreno mediante ray-marching para un sol direccional y mezcla de bordes para límites de terreno orgánicos. - Generación de Mundo Componible: Emplea una tubería de capas de generación utilizando campos de ruido para crear paisajes naturales e infraestructura de asentamientos, todo determinista a partir de una única semilla. - Sprites Procedimentales: Genera sprites únicos por píxel para actores y objetos (como árboles y rocas) basados en semillas deterministas, integrados a través de un atlas de sprites dinámico con empaquetado de contenedores tipo skyline. - Utility AI: Implementa un sistema de puntuación basado en objetivos para el comportamiento de los NPC, donde las acciones y los objetivos de varios turnos compiten basándose en el contexto y bonificaciones de persistencia. - Sistema de Acciones Declarativo: Utiliza una tubería unificada para las acciones del jugador y de los NPC, con secuencias declarativas y búsqueda de rutas jerárquica entre regiones. - Optimización de Rendimiento: Utiliza extensiones de C para tareas computacionalmente intensivas, incluyendo la búsqueda de rutas A*, FOV de shadowcasting simétrico, rasterización de sprites y generación de ruido. - Efectos de Presentación: Incluye un sistema de partículas de sub-tesela, calcomanías de suelo para salpicaduras de sangre y audio posicional con caída basada en la distancia.