Alterna · учебный материал

Миры и уровни

44.2: как описывать уровни, сетки, препятствия и воспроизводимые миры для Canvas-оболочка.

Что в этом материале

Содержание и основные понятия

Хороший уровень можно воспроизвести, проверить и изменить. Для этого отдельно хранят геометрию мира и отдельно - правила, по которым host обновляет персонажа.
моделирование
координатная сетка
seed
01
Карта - это структура данных
Сущность
Минимальные данные
Смысл в Canvas-оболочка
Фон
цвет и размеры
задаёт границы и контраст сцены
Препятствие
x
,
y
, ширина, высота
становится прямоугольником на Canvas
Предмет
центр, радиус, цвет
становится кругом или маркером карты
Подпись
текст, координаты, размер
объясняет правила и цель без скрытой логики
canvas.size(640, 400)
canvas.clear("#0b1328")
canvas.rect(180, 110, 170, 22, "#a78bfa")
canvas.circle(100, 90, 12, "#fcd34d")
canvas.text("Портал", 550, 310, "#34d399", 18)
02
Зачем нужен seed
Если случайный генератор начинает с одного и того же seed, последовательность значений повторяется. Это позволяет вернуться к удачному миру, найти ошибку в конкретном варианте и сравнить два изменения правил на одинаковой карте.
Сдвинь плотность объектов, затем обнови seed. При одной плотности новый seed создаёт другую карту; одинаковый seed повторяет исходную структуру.
▦
Генератор клеточного мира
Плотность объектов
03
Проверка дизайна уровня
Старт
Игрок не должен появляться внутри стены. Оставь вокруг начальной точки свободный радиус.
Цель
У цели должен быть маршрут. Если есть препятствия, проверь ход к ней хотя бы вручную.
Сигналы
Цвет, подпись и контраст помогают отличить препятствие, предмет и выход ещё до движения.
04
Перепиши генератор мира
Весь генератор открыт. Поменяй число столбцов, условие появления стены или цвета. Space создаёт следующий seed; стрелки двигают маркер по сетке.
Редактор кода загружается…

Структурная карта учебников