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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.