The Mast – это необычный проект в мире Scratch, который выделяется своей глубиной, высоким уровнем детализации и использованием трёхмерной текстурной графики в рамках платформы, традиционно известной как инструмент для обучения основам программирования и создания простых игр. Создатель игры, известный под псевдонимом awesome-Llama, смог преодолеть ограничения Scratch и создать полноценный 3D-игровой опыт, вдохновлённый такими проектами, как Infra и Rain World. The Mast предлагает игрокам исследовать вымышленную планету с детализированными локациями и объектами, раскрывая историю и события, которые там произошли. Особенность проекта состоит не только в визуальной составляющей, но и в технической проработке, которая заслуживает особого внимания. Одной из ключевых особенностей The Mast является ориентация пространства согласно системе координат, принятой в 3D-моделировании Blender.
Используется правая правая система с вертикальной осью Z, где камера имеет фиксированное направление взгляда строго на ось -Z, а поворот камеры открыт только по оси X, то есть вверх и вниз, при этом вращение вокруг оси камеры отсутствует для оптимизации производительности, что является важным решением с технической точки зрения. Использование метрической системы единиц придаёт проекту реалистичность и позволяет легко совмещать данные из внешних 3D-моделлеров, таких как Blender. Рендеринг графики в проекте реализован посредством специально разработанного текстурного треугольного заполнителя от пользователя Bambozzle, который использует буфер глубины. Благодаря этому подходу достигнута высокая производительность и качество отображения 3D-моделей без необходимости сложной сортировки объектов по глубине, что традиционно является узким местом при работе на Scratch. Важным элементом в работе с графикой стало разделение геометрических данных на вершины, треугольники и дополнительные параметры, что позволило оптимизировать процесс трансформации и проекции объектов на экран.
Также реализована система backface culling, которая исключает отрисовку треугольников, обращённых «внутрь», что дополнительно повышает эффективность. Уникальным решением в проекте является хранение текстур в виде сжатых изображений формата TextImage. Это связано с ограничениями, налагаемыми самим Scratch на размер проекта: всего 5 мегабайт на скрипты и переменные и 10 мегабайт на костюмы или аудио. Благодаря креативному использованию формата TextImage, который сжимает 24-битные RGB-изображения, создателю удалось внедрить в игру полноценные текстуры без превышения лимитов. Ещё одной интересной особенностью является возможность выбора качества загружаемых текстур, включая низко- и полноразрешённые версии.
При этом полноразмерные текстуры можно загрузить в игру с помощью сканера или ввода текста, что является редким и инновационным подходом в рамках Scratch. Модельный дизайн мира игры был полностью выполнен и экспортирован из Blender. Для удобства разработчиком была внедрена строгая система именования объектов, позволяющая однозначно идентифицировать тип геометрии — полы, статические объекты, динамические объекты, а также специальные обозначения, такие как bounding box. Такая организация значительно облегчает работу с большими сценами, ускоряет загрузку и оптимизирует отрисовку, что немаловажно в условиях ограниченной производительности Scratch. Динамическая геометрия, например движущиеся двери, обрабатывается отдельно с отключённым backface culling, что упрощает её взаимодействие с миром.
Игровой процесс The Mast – это прежде всего исследование детально проработанных локаций, наполненных интерактивными элементами, такими как кнопки, документы и знаки. Эти элементы, названные «тегами», могут отображать текст, запускать игровые функции или открывать изображения с дополнительной информацией. Такой дизайн помогает создавать богатое повествование и позволяет максимально раскрыть сюжеты и события вымышленного мира. Физика игрока в The Mast построена на фиксированной частоте обновления 120 Гц. За счёт этого достигается высокая точность коллизий и предсказуемость движения.
Камера и игрок в игре идут как единое целое – игрок перемещается в трёхмерном пространстве, при этом движение по горизонтальной плоскости и вертикали обрабатываются отдельно. Позаботились и о реалистичности — глаз игрока всегда находится на высоте 1,65 метра над поверхностью пола, что усиливает ощущение присутствия. Для генерации столкновений используются обнаружение открытых краёв пола и построение коллизионных стен, что повышает иммерсивность и предотвращает незаконное продвижение за пределы игровой области. Музыкальное и звуковое сопровождение проекта тоже заслуживает отдельного упоминания. Несмотря на ограничения движка Scratch в обработке звуков и отсутствии возможностей для бесшовного зацикливания, автор реализовал систему звуковых эмиттеров, способных воспроизводить уloop, а также позиционировать звук в зависимости от положения в пространстве экрана, что хотя и имеет определённые лимитации, но значительно усиливает погружение в атмосферу.
Звуки шагов и специфические звуки для металлических поверхностей добавляют дополнительный уровень реализма и помогают различать окружающие локации. Для удобства разработки и тестирования The Mast создан специальный режим разработчика. Он открывает инструменты для отладки и консоль ввода команд. Такой подход позволяет быстро находить и исправлять ошибки, получать логи работы игры и управлять различными параметрами в реальном времени. Это редкость для Scratch-проектов, показывающая серьёзный подход автора к созданию и улучшению своей игры.
Нельзя не отметить, что The Mast, несмотря на свою сложность, остаётся полностью играбельной на платформе Scratch, что является уникальным достижением. Использование TurboWarp и других расширений Scratch позволяет существенно повысить производительность и стабильность игры, что особо рекомендуется для этого проекта. Комплексность кода и архитектурные решения делают The Mast прекрасным примером того, как можно творчески и профессионально использовать образовательные платформы для серьёзных и амбициозных проектов. В итоге The Mast является одним из самых продвинутых трехмерных проектов на Scratch, демонстрируя, насколько далеко можно зайти, если подойти к делу с творчеством и глубокими техническими знаниями. Она предлагает уникальный опыт исследования вымышленного мира с проработанной механикой, качественной 3D-графикой и захватывающим сюжетом.
The Mast является не только вдохновением для начинающих разработчиков, но и образцом инженерного и художественного мастерства на платформе, традиционно лишённой подобных возможностей. Итогом становится игра, которая не только раскрывает потенциал Scratch как движка, но и задаёт новые стандарты для 3D-игр в рамках ограниченных технических средств. Для тех, кто интересуется созданием собственных проектов в Scratch, The Mast служит бесценным ресурсом — разработчик предоставляет доступ к частично упрощённой версии и исходным данным, что позволяет учиться и развивать навыки, перенимая лучшие практики и нестандартные решения. Погружение в The Mast – это путешествие в мир инноваций, вдохновения и высочайшего уровня исполнения на хорошо известной платформе.