Sobre el proyecto

Scythe es un motor de juegos ligero basado en C# construido sobre Raylib. Combina un pipeline de renderizado moderno, un editor totalmente integrado y un runtime en un solo código base, con énfasis en la modificabilidad y la iteración rápida. El autor lo describe como un proyecto personal de hobby en una etapa temprana de desarrollo, antes de Alpha o Beta, por lo que las características pueden cambiar o eliminarse en cualquier momento y no se recomienda como base para trabajo comercial. Los usuarios previstos son desarrolladores indie que quieren control sobre los internos del motor, desarrolladores interesados en arquitecturas de juegos modificables y con scripting, proyectos orientados al aprendizaje sobre renderizado, física y herramientas, y aquellos que prefieren flujos de trabajo centrados en código frente a motores de caja negra. Arquitectura: un modelo de objetos basado en componentes en lugar de ECS, con un runtime compartido utilizado tanto por el editor como por la ejecución del juego. El proyecto apunta al runtime .NET 10. Las capacidades principales incluyen un entorno híbrido de runtime/editor y un gestor de activos centralizado con recarga en caliente mediante vigilancia del sistema de archivos. Los activos compatibles incluyen modelos (.fbx, .obj, .gltf), texturas (.png, .jpg, .jpeg, .tga, .bmp) y shaders (.vs, .fs). Gráficos: renderizado PBR basado en shaders, fuentes de luz dinámicas con mapeo de sombras en tiempo real, una cola de renderizado transparente ordenada por profundidad y renderizado de skybox con cubemap. Las opciones de postprocesamiento listadas incluyen SSAO, FXAA, SMAA, TAA con jitter, bloom, blur, pixellizer, cross hatching, cross stitching, detección de bordes Sobel, scanlines, fisheye, dream vision, predator, escala de grises y posterización. Animación: animación esquelética con skinning de malla y animación de huesos, además de mezcla de animaciones para transiciones suaves. Física: integración de Jitter2 escrita completamente en C#, con soporte para objetos dinámicos y estáticos. Editor: una interfaz de acoplamiento basada en ImGui con ventanas libremente acoplables, un navegador de niveles jerárquico con estructura en capas, un panel de propiedades de objetos en tiempo real, un sistema de deshacer/rehacer y un reproductor de música integrado. Scripting: scripting en C# con compilación automática y acceso a los componentes del motor, además de gestión dinámica de entrada de ratón y teclado tanto para el editor como para las capas de scripting. El README declara explícitamente lo que el proyecto no es: no es un motor a escala AA/AAA, no prioriza ECS y no se centra en scripting visual. La compilación requiere el SDK de .NET 10.0 o posterior. Clona el repositorio, entra en el directorio y ejecuta dotnet build. La ejecución se realiza con dotnet run, que abre un lanzador de proyectos donde se puede abrir o crear un proyecto; F5 entra en modo de juego. Licencias: el proyecto está bajo licencia MIT. Utiliza bindings de C# de Raylib y rlImGui (zlib/libpng), e ImGui, Newtonsoft.Json, Jitter Physics 2, NLayer y AssimpNet (MIT). Muchos shaders de postprocesamiento y otros provienen de ejemplos de Raylib o están basados en ellos. Las fuentes incluidas incluyen Font Awesome, Montserrat y Cascadia Code. Los activos de muestra se atribuyen a sus creadores bajo CC BY 4.0.