Понимание постоянных точек сохранения
Постоянные контрольные точки (чекпоинты) позволяют сохранять прогресс игрока благодаря стратегическому размещению и настройке логики. В отличие от базового возрождения, которое возвращает игрока в начальную позицию, системы с постоянным сохранением фиксируют последнюю активированную точку через переменные.
Карты с интервалами между чекпоинтами в 20–30 секунд показывают уровень прохождения 60–80%, в то время как без них этот показатель составляет всего 20–40%. Игрокам требуется в среднем 3–5 попыток против 8–12 на картах без сохранений.
Для расширения ресурсов Мастерской пополнение монет Eggy Party на BitTopup позволит разблокировать премиум-функции по выгодным ценам с гарантией безопасности транзакций.
Что делает точки сохранения постоянными
Постоянство означает сохранение данных о чекпоинте после гибели персонажа. Для этого необходимы три компонента:
- Механизмы обнаружения, фиксирующие достижение чекпоинта.
- Системы хранения данных, использующие переменные Eggy Code для записи координат.
- Логика возрождения, считывающая сохраненные позиции при смерти.
Стандартное возрождение против продвинутых чекпоинтов
Стандартное возрождение использует фиксированные точки (Respawn Points), которые работают одинаково для всех. В них отсутствует условная логика, и они не могут различать прогресс отдельных игроков.
Продвинутые системы используют зоны чекпоинтов (Checkpoint Volumes) в режиме песочницы как триггеры, обновляющие индивидуальные точки возрождения. Привязка указателей зон к префабам позволяет создавать динамические точки, адаптирующиеся к прогрессу игрока.
Почему стандартная логика не справляется
Стандартные механизмы работают глобально, не отслеживая состояние конкретного игрока. В них нет логики для хранения или извлечения данных о чекпоинтах, что приводит к полному сбросу прогресса до начальной точки при каждой смерти.
Это особенно критично для карт длительностью более 60 секунд — постоянная необходимость начинать заново заставляет игроков покидать карту.
Основные принципы архитектуры
Три кита системы: активация по событию, сохранение состояния и условное возрождение.
Также необходимо учитывать лимиты нагрузки Мастерской: базовый — 18 000, 21 000 при наличии 1 000 очков мастера и 25 000 при 10 000 очков мастера.
Основные логические компоненты
Список необходимых компонентов

- Checkpoint Volumes (Зоны чекпоинтов): Пространственные зоны обнаружения.
- Event Trigger Volumes (Триггеры событий): Мониторинг взаимодействия игрока.
- Переменные Eggy Code: Хранилище данных.
- Respawn Devices (Устройства возрождения): Ограничение перезарядки в 30 секунд.
- Объекты финиша: Редактируются через прицельные зоны.
Конусные триггеры подходят для направленных чекпоинтов; полусферические обеспечивают охват в 180 градусов. Установите область обнаружения (Detection Scope) на тип сущности «Игрок» (Player).
Обзор системы переменных
Шесть типов переменных:
- Position (Позиция): Координатные данные.
- Integer (Целое число): Нумерация чекпоинтов.
- Float (Число с плавающей точкой): Точное время.
- Boolean (Логическое): Флаги состояния (да/нет).
- String (Строка): Идентификаторы.
- Vector3: Данные о направлении.
Глобальные переменные доступны во всех триггерах. Для базовых систем лучше всего подходят целочисленные переменные, отслеживающие номер чекпоинта.
Типы триггеров событий
События входа срабатывают, когда игрок заходит в зону триггера. События смерти активируются при неудаче игрока.
Доступ к Eggy Code: Меню «More» > выберите объект > Edit Eggy Code. События входа задают значения переменных чекпоинта, а события смерти считывают их для определения места появления.
Настройка условной логики
Условия сравнивают текущие переменные чекпоинта с заданными порогами. Логические условия (Boolean) дают результат «истина/ложь», а сравнение целых чисел позволяет выстраивать последовательность из нескольких чекпоинтов.
Логическая переменная inputLocked (по умолчанию false, меняется на true на 0,5 секунды) предотвращает ввод команд во время активации чекпоинта.
Создание первой постоянной точки сохранения
Этап 1: Создание зоны триггера

Разместите объект Checkpoint Volume на высоте 1 единицы Eggy над землей. Настройте диаметр в 2–3 единицы для наземных триггеров и 1,5–2 единицы для настенных. Соблюдайте минимальное расстояние в 2 единицы между триггерами.
Привяжите указатель (Arrowhead) к префабу для визуального отображения чекпоинта.
Этап 2: События обнаружения игрока
Настройте область обнаружения на тип «Игрок». Создайте событие входа, которое обновляет переменную отслеживания чекпоинта и дает игроку обратную связь.
Присвойте целочисленной переменной CurrentCheckpoint уникальный идентификатор для позиции этой точки.
Купить дешевые монеты Eggy Coins можно на BitTopup — это позволит быстрее получить доступ к продвинутым компонентам Мастерской.
Этап 3: Хранение переменных
Создайте целочисленную переменную CurrentCheckpoint со значением по умолчанию 0. Каждому чекпоинту присвойте свое число (1, 2, 3 и т. д.).
Для возрождения на основе координат создайте переменную позиции LastCheckpointPosition, сохраняющую координаты игрока.
Установите глобальную область видимости (Global scope) для доступа из разных триггеров.
Этап 4: Логика места возрождения

Разместите точки возрождения (Respawn Points) у каждого чекпоинта с уникальными идентификаторами, соответствующими номерам чекпоинтов.
Создайте алгоритм обнаружения смерти, который считывает CurrentCheckpoint и активирует нужную точку. Если CurrentCheckpoint = 1, активируется точка возрождения 1; если 2 — точка 2 и так далее.
Этап 5: Тестирование и проверка
Протестируйте систему, намеренно погибая в разных местах. Убедитесь, что возрождение происходит на последнем активированном чекпоинте, а не в начале карты.
Проверьте крайние случаи: быструю активацию и сценарии в мультиплеере. Убедитесь, что визуальные или звуковые эффекты подтверждают сохранение.
Продвинутая настройка переменных
Выбор типа переменной
Целочисленные переменные (Integer): Для последовательных систем с четким прогрессом. Каждый чекпоинт увеличивает значение.
Переменные позиции (Position): Для нелинейных карт с разными путями прохождения. Сохраняют точные координаты для динамического размещения точки возрождения.
Логические переменные (Boolean): Используются как флаги активации или состояния завершения.
Индивидуальные и глобальные переменные
Глобальные переменные влияют на всех игроков сразу — это подходит для кооперативных карт.
Индивидуальные переменные (с использованием идентификаторов игроков в названиях) позволяют каждому игроку иметь собственный прогресс на соревновательных картах.
Функция Link Map позволяет сохранять прогресс между разными картами в больших приключениях.
Правила именования
Используйте префикс CP_ и понятные названия:
- CP_MainPath_Current
- CP_SecretArea_Unlocked
- CP_BossRoom_Attempts
Нумерация версий (например, CP_Current_v2) упрощает процесс разработки и внесения правок.
Сохранение данных после смерти
Убедитесь, что переменные чекпоинтов не сбрасываются логикой при смерти. Обновление должно происходить только при активации новой точки.
Внедрите проверку целостности переменных после возрождения. Если обнаружено некорректное значение, используйте безопасный вариант по умолчанию.
Логика обнаружения смерти и возрождения
Отслеживание событий смерти
Триггеры смерти запускают Eggy Code, когда здоровье падает до нуля или игрок попадает в зону смерти. Настройте их так, чтобы они считывали переменные чекпоинта и определяли место появления.
Размещайте зоны смерти под платформами, на дне ям или в опасных областях. Следите, чтобы они не пересекались с игровыми зонами.
Привязка локаций возрождения
Создайте цепочку условий: Если CurrentCheckpoint = 1, активировать RespawnPoint_1; если 2, то RespawnPoint_2.
Синхронизируйте префабы чекпоинтов с точками возрождения для визуального подтверждения.
Обработка исключений
Реализуйте запасной вариант (fallback), который активирует начальную точку появления, если переменная чекпоинта содержит неверное значение.
Для мультиплеера используйте индивидуальные переменные или очередь активации, чтобы избежать конфликтов между игроками.
Проверка границ (Bounds checking) поможет отсечь значения вне допустимого диапазона (например, выше 10 для карты с 10 чекпоинтами).
Система приоритетов
Последовательный приоритет гарантирует возрождение на самом дальнем достигнутом чекпоинте. Обновляйте переменную только в том случае, если новое значение больше текущего.
Пространственный приоритет решает конфликты на нелинейных картах, присваивая значения на основе задуманного потока прохождения.
Системы прогрессии с несколькими чекпоинтами
Последовательная архитектура
Нумеруйте чекпоинты по порядку (1, 2, 3). Настройте логику так, чтобы возможен был только прогресс вперед: активация чекпоинта 3 деактивирует чекпоинты 1 и 2.
Валидация последовательности проверяет, чтобы игроки не пропускали точки сохранения.
Разветвленные последовательности позволяют создавать несколько путей прохождения со своими цепочками чекпоинтов.
Предотвращение возврата назад
Сравнивайте номер нового чекпоинта с текущим. Обновляйте данные только если номер новой точки выше.
Используйте зоны с односторонним движением, чтобы игроки не могли вернуться в начало секции.
Индикаторы прогресса
Визуальные индикаторы могут показывать текст «Чекпоинт 3 из 7» или заполняющуюся шкалу прогресса.
Элементы окружения (зажженные факелы, активированные платформы, открытые ворота) служат отличной обратной связью.
Звуковое сопровождение может меняться в зависимости от этапа карты.
Управление длинными картами
Соблюдайте интервал в 20–30 секунд между чекпоинтами для поддержания высокого процента прохождений.
Убедитесь, что переменные чекпоинтов сбрасываются только при явном действии игрока (например, при полном перезапуске уровня).
Группировка чекпоинтов в «хаб-зонах» позволяет игрокам безопасно пробовать разные маршруты.
Распространенные ошибки и их решения
Неожиданные сбросы прогресса
Проверьте всю логику, изменяющую переменные чекпоинтов — обновление должно происходить только в момент активации.
Убедитесь, что зоны триггеров не перекрывают друг друга. Минимальное расстояние — 2 единицы Eggy.
Проверьте код события смерти: он должен только считывать, но не изменять переменные.
Проблемы с перезаписью переменных
Используйте строгие правила именования, чтобы избежать случайного повторного использования имен переменных.
Применяйте логические переменные-замки (lock variables) для предотвращения одновременного изменения данных.
Следите за соответствием типов данных — не пытайтесь сохранить координаты в целочисленную переменную.
Перекрытие зон триггеров
Используйте инструменты визуального редактирования для проверки расстояний. При необходимости уменьшите диаметр триггеров.
Соблюдайте вертикальные отступы так же строго, как и горизонтальные.
Системы приоритетов помогут определить, какой чекпоинт активировать, если игрок попал в две зоны одновременно.
Проблемы с производительностью
Оптимизируйте цепочки условий, ставя самые вероятные из них в начало списка.
Объединяйте повторяющуюся логику — используйте один триггер для нескольких систем, работающих по времени.
Помните о лимитах нагрузки: 18 000 / 21 000 / 25 000 единиц.
Синхронизация в мультиплеере
Выберите между общими чекпоинтами (глобальные переменные) и индивидуальными (переменные игрока).
Используйте очередь активации, чтобы система успевала обработать данные одного игрока перед приемом данных от следующего.
Для одновременного возрождения нескольких игроков используйте массивы точек появления вокруг каждого чекпоинта.
Методы оптимизации
Сокращение количества компонентов
Объединяйте несколько простых триггеров в один сложный с разветвленной логикой.
Используйте переменные повторно, грамотно распределяя диапазоны их значений.
Создавайте шаблоны чекпоинтов на основе префабов для быстрой расстановки.
Эффективная настройка событий
Настраивайте триггеры так, чтобы они срабатывали только при выполнении условий, а не каждый кадр.
Располагайте условия так, чтобы самые «легкие» для вычисления проверки шли первыми.
Деактивируйте триггеры чекпоинтов, которые больше не нужны после того, как игрок продвинулся далеко вперед.
Управление памятью
Инициализируйте переменные при старте карты, обновляйте в процессе и очищайте при завершении.
Используйте самый простой тип переменной, подходящий для задачи (например, Integer вместо Float).
Удаляйте неиспользуемые переменные и триггеры в процессе разработки.
Масштабное тестирование
Привлекайте нескольких тестеров для одновременной игры, чтобы выявить проблемы при высокой нагрузке.
Проверяйте аномальные сценарии: активацию в обратном порядке, одновременную смерть нескольких игроков.
Следите за индикатором нагрузки Мастерской, чтобы выявить самые «тяжелые» компоненты.
Реальные примеры
Система для паркур-карт

Чекпоинты каждые 20–30 секунд после сложных прыжков. Последовательная архитектура с логикой «только вперед».
Визуальные эффекты (светящиеся платформы, частицы) дают четкое понимание активации.
Сохранение на картах-приключениях
Чекпоинты по зонам, активирующиеся при входе в новый регион. Переменные позиции сохраняют точное местоположение.
Интеграция с квестами: чекпоинт активируется только после продвижения по сюжету.
Архитектура «ступица и спицы» (hub-and-spoke) с центральными безопасными зонами.
Сохранение в пазл-картах
Сложные системы с несколькими переменными: позиция игрока, массивы Boolean для состояний переключателей, Integer для счета предметов.
Чекпоинты ставятся после завершения секции головоломки, а не через равные промежутки времени.
Валидация состояния предотвращает активацию, если пазл решен не полностью.
Интеграция в гоночные карты
Последовательность чекпоинтов, представляющая участки трассы, со счетчиком кругов, который увеличивается при прохождении всей цепочки.
Проверка предотвращает срезание пути, контролируя порядок активации точек.
Возрождение происходит чуть позади места ошибки, чтобы не давать несправедливого преимущества.
Продвинутые советы
Комбинирование с другими системами
Интеграция со счетом: Отслеживайте количество смертей между чекпоинтами и начисляйте бонусы за прохождение без ошибок.
Интеграция с инвентарем: Сохраняйте состояние инвентаря на чекпоинте и восстанавливайте его при возрождении.
Забеги на время: Сохраняйте игровое время при активации чекпоинта для расчета времени прохождения сегментов.
Условные точки сохранения
Активируйте их только при выполнении требований (собраны предметы, побеждены враги, решены загадки).
Временные чекпоинты могут исчезать по истечении таймера.
Настройка частоты чекпоинтов в зависимости от выбранного уровня сложности.
Дизайн визуальной обратной связи
Многоуровневая индикация: неактивен (тусклый), в радиусе действия (пульсация), активирован (яркое свечение и частицы).
Синхронизация звука активации с визуальными эффектами.
Постоянные маркеры на карте показывают уже активированные точки.
Сети отладки
Визуализация отладки выводит значения переменных чекпоинтов в реальном времени через текстовые элементы интерфейса.
Логирование активаций создает записи событий для анализа после игровой сессии.
Изолированное тестирование позволяет проверить каждый чекпоинт перед финальной сборкой карты.
Ресурсы и инструменты
Требования к ассетам Мастерской
Базовые системы требуют только стандартных компонентов: Checkpoint Volumes, Respawn Points и простые триггеры.
Лимиты нагрузки позволяют разместить примерно:
- 18 000 (база): 5–7 чекпоинтов.
- 21 000 (1 000 очков мастера): 8–12 чекпоинтов.
- 25 000 (10 000 очков мастера): 15+ чекпоинтов.
Премиум-компоненты
Очки мастера (Craftsman Points) начисляются за публикацию карт и получение положительных отзывов.
BitTopup предлагает Eggy Coins для функций Мастерской — выгодные цены, быстрая доставка, безопасные транзакции и отличная поддержка.
Изучите популярные карты для примера: Fight the Principal (ID 299110), Eggy Party Massacre (ID 288583).
Сообщество
Сообщества создателей делятся шаблонами и логическими схемами на форумах и в Discord.
Существуют специальные обучающие карты, демонстрирующие работу логики чекпоинтов в действии.
Официальные руководства предоставляют точные технические спецификации.
FAQ (Часто задаваемые вопросы)
Как работают точки сохранения в Мастерской Eggy Party?
Зоны чекпоинтов фиксируют вход игрока, сохраняют данные в переменные Eggy Code и изменяют логику возрождения, чтобы игрок появлялся в сохраненном месте после смерти.
В чем разница между точками возрождения и точками сохранения?
Точки возрождения — это фиксированные стандартные локации. Точки сохранения динамически обновляются по мере прохождения, используя переменные для «запоминания» последнего чекпоинта.
Почему точки сохранения не работают после смерти?
Возможно, переменные сбрасываются при смерти или логика возрождения не считывает сохраненные данные. Проверьте, чтобы код смерти только считывал (а не изменял) переменные, убедитесь в их глобальной области видимости и проверьте условия в точках возрождения.
Можно ли создать несколько точек сохранения на одной карте?
Да, их количество ограничено только лимитом нагрузки карты. Базовый лимит позволяет поставить 5–7 точек, а максимальный — более 15.
Где лучше всего размещать точки сохранения?
Рекомендуется ставить их каждые 20–30 секунд игрового процесса. Размещайте их после сложных испытаний или на входе в новые секции. Соблюдайте дистанцию в 2 единицы между ними и ставьте на высоте 1 единицы над землей.
Как переменные связаны с точками сохранения?
Они хранят данные, которые не исчезают после смерти. Integer отслеживает номер точки, Position — координаты, Boolean — факт активации. Создайте глобальные переменные, обновляйте их при активации и считывайте при возрождении.
Готовы вывести свои творения в Мастерской на новый уровень? Получите премиум-ассеты и разблокируйте продвинутую логику на BitTopup. Быстро, безопасно и одобрено создателями — прокачайте свой опыт в Eggy Party уже сегодня



















