Living Layers: Слой второй — полируем Alpha 2
Оптимизация, доработка CI и покрытие тестами
Завершение этапа Alpha 2
Реализация функционала, запланированного для версии Alpha 2, формально завершена.
Прогресс задач Alpha 2: 79/79 (100%).
Общий статус: Проект переведён в фазу стабилизации и рефакторинга перед началом работы над механиками Alpha 2.1 (God Mode & Possession).
Voxel Engine и Физика
Доработаны механики взаимодействия динамических объектов с воксельным миром.
Impact Fracture & Dust VFX: Реализована система визуальных эффектов при разрушении.
При сильном ударе FallingVoxelChunk теперь может раскалываться на части.
Добавлен спавн осколков.
Сейчас система однопоточная. При последующих оптимизациях надеюсь на стабилизацию FPS.
Бенчмаркинг
Static Colliders Merge: Добавлен бенчмарк для замера эффективности стратегий объединения коллайдеров.
Pawn Orbit Shoot: Реализован сценарный бенчмарк, симулирующий обстрел башни, для замера просадок FPS при динамическом обновлении геометрии.
CI и Тестирование
Идёт масштабная доработка сборочных скриптов и окружения тестирования.
Статистика кодовой базы:
Общий объем: ~37k строк кода.
Тестовый код: ~12.5k строк (33.3% от общего объема).
E2E Testing: Расширен набор сквозных тестов - сценарии загрузки и сохранения мира.
Система CovRank
Для оптимизации процесса тестирования и устранения технического долга внедрена система Coverage Ranking. Вместо слепого покрытия тестами всего кода подряд, разработан эвристический алгоритм, определяющий приоритетность модулей для написания тестов.
Алгоритм ранжирования: Реализована утилита в составе локальной CI, которая анализирует исходный код и ранжирует дыры в покрытии.
Формула приоритета: Оценка базируется на метриках сложности и маркерах риска, распределяя заявки на покрытие по S-корзинам и ранжируя по ROI.
Также можно оценивать частоту изменений через git историю (W_churn) и сделать это модификатором ранжирования, но я решил не включать это в текущую реализацию.
CI теперь выводит список "what to test next" — список участков кода которые дадут наибольшую эффективность покрытия тестами.
Поддержка проекта
Разово поддержать проект можно лайкнув девблог и оставив комментарий.
Дальнейшие планы
Альфа 2: январь 2026
Альфа 2.1: январь 2026,
открытие странички на Sponsr — доступ к закрытой альфе
Страницы в магазинах: февраль-март 2026
Демо: весна-лето 2026
Ранний доступ: 2026-2027
Рубиконы
Наиболее сложные инженерные решения заложены в Альфу 3 (навигация), Альфу 4.1 (визуал) и Альфу 6 (слои).
Успешное прохождение этих этапов — гарантия технической возможности проекта.


Лига Разработчиков Видеоигр
9K постов23.1K подписчика
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"