Об этом проекте

Scythe — это легковесный игровой движок на C#, построенный на Raylib. Он объединяет современный конвейер рендеринга, полностью интегрированный редактор и среду выполнения в одной кодовой базе, с акцентом на модифицируемость и быструю итерацию. Автор описывает его как личный хобби-проект на ранней стадии разработки, до Alpha или Beta, поэтому функции могут изменяться или удаляться в любое время, и его не рекомендуется использовать как основу для коммерческой работы. Целевая аудитория — инди-разработчики, желающие контролировать внутреннее устройство движка, разработчики, заинтересованные в модифицируемых и скриптуемых игровых архитектурах, учебные проекты по рендерингу, физике и инструментарию, а также те, кто предпочитает подход «сначала код», а не движки типа «чёрный ящик». Архитектура: компонентная объектная модель, а не ECS, с общей средой выполнения, используемой как редактором, так и при выполнении игры. Проект ориентирован на среду выполнения .NET 10. Основные возможности включают гибридную среду выполнения/редактора и централизованный менеджер ресурсов с горячей перезагрузкой через отслеживание файловой системы. Поддерживаемые ресурсы включают модели (.fbx, .obj, .gltf), текстуры (.png, .jpg, .jpeg, .tga, .bmp) и шейдеры (.vs, .fs). Графика: PBR-рендеринг на основе шейдеров, динамические источники света с картами теней в реальном времени, очередь прозрачных объектов с сортировкой по глубине и рендеринг скайбокса с кубической картой. Перечисленные варианты постобработки включают SSAO, FXAA, SMAA, TAA с джиттером, bloom, размытие, пикселизатор, штриховку крест-накрест, вышивку крестом, обнаружение краёв Собеля, строки развёртки, «рыбий глаз», dream vision, predator, оттенки серого и постеризацию. Анимация: скелетная анимация со скиннингом меша и анимацией костей, а также смешивание анимаций для плавных переходов. Физика: интеграция Jitter2, полностью написанная на C#, с поддержкой динамических и статических объектов. Редактор: интерфейс с докингом на основе ImGui со свободно закрепляемыми окнами, иерархический браузер уровней со слоистой структурой, панель свойств объектов в реальном времени, система отмены/повтора и встроенный музыкальный проигрыватель. Скриптинг: скриптинг на C# с автоматической компиляцией и доступом к компонентам движка, а также динамическое управление вводом мыши и клавиатуры как для редактора, так и для слоя скриптинга. В README явно указано, чем проект не является: это не полноценный движок уровня AA/AAA, не ориентирован в первую очередь на ECS и не сосредоточен на визуальном скриптинге. Для сборки требуется .NET SDK 10.0 или новее. Клонируйте репозиторий, перейдите в каталог и выполните dotnet build. Запуск выполняется командой dotnet run, которая открывает лаунчер проектов, где можно открыть или создать проект; F5 включает режим игры. Лицензирование: проект распространяется под лицензией MIT. Он использует привязки C# для Raylib и rlImGui (zlib/libpng), а также ImGui, Newtonsoft.Json, Jitter Physics 2, NLayer и AssimpNet (MIT). Многие шейдеры постобработки и другие шейдеры взяты из примеров Raylib или основаны на них. Включённые шрифты: Font Awesome, Montserrat и Cascadia Code. Примеры ресурсов указаны с указанием их создателей под лицензией CC BY 4.0.