Цирковая арена. Встаньте батутом туда, где светится кольцо, пока мяч не упал, — и уходите из красного круга, пока не упала бомба.
Сделана на библиотеке трёхмерной графики three.js — она была разрешена всем участникам.
Сделай законченную трёхмерную мини-игру. ГЛАВНОЕ В ЭТОМ ЗАДАНИИ — САМА ИГРА, и глубина в ней должна работать: решения игрока зависят от расстояния, высоты или положения в объёме. Плоская игра в объёмных декорациях — неудача. Что должно получиться: * Правило понятно со стартового экрана в одно предложение. Проиграв, игрок видит, в чём ошибся. * Партия конечна: от тридцати секунд до двух минут при хорошей игре. Сложность растёт, но проигрышных положений без вины игрока генерация не создаёт. * Мир живёт уже на стартовом экране: в нём что-то движется до первого нажатия. * Расстояние и положение читаются с первого взгляда. Игрок не должен гадать, ближе предмет или дальше. * Камерой игрок не управляет отдельно — или управляет так просто, что это не мешает играть. * Каждое действие даёт мгновенный отклик движением. Успех и ошибка выглядят по-разному. * Счёт отражает успех игрока. Есть конец партии с итогом, рекорд за сессию и перезапуск одним действием. Рекорд при перезапуске сохраняется. * Игра идёт плавно, встаёт на паузу, когда вкладку свернули, и продолжается сама, когда к ней вернулись. * Клавиатура, мышь и касание. Качество исполнения. Сначала — цельная работающая игра, потом эффекты: если приём не выходит, упрости его до работающего. Обязательный минимум: * Все движения считаются от времени, а не от числа кадров: на медленном устройстве игра идёт с той же скоростью. * Игрок, цель и опасность отличаются от фона с первого взгляда. * То, что видно, совпадает с тем, что считается: предмет задевает другой там, где это видно глазом. * Первые секунды нельзя проиграть мгновенно; опасность видна заранее, и есть время ответить. * Области нажатия на телефоне не меньше 44 px; удержание, отпускание и потеря касания обрабатываются без залипаний. * Весь круг проходит без сбоев: старт → игра → пауза → итог → перезапуск. Что отличает сильную работу: * Отклик однозначен и соразмерен событию: успех и ошибку не спутать. Он начинается сразу, даже если само движение плавное. * Характер движения и смены экранов соответствует механике. * Первые секунды сами учат правилу, без чтения инструкции. * Нарастание оставляет время понять, что изменилось. * Итог партии говорит больше, чем число: что получилось лучше всего и на чём сорвался. * Цельный вид: всё на экране выглядит частью одной игры. * Глубина читается средствами, согласными со стилем игры: игрок не гадает, что ближе и что выше. * Камера не дёргается без события, не теряет игрока и не проходит сквозь предметы; партия проходима без настройки камеры. Это ориентиры качества, а не рамки для замысла: жанр, стиль и приёмы — твои. Любой ориентир можно выполнить по-своему; нельзя только оставить его без внимания. Простые надёжные приёмы (например, короткая вспышка или лёгкая тряска при ошибке, растяжение предмета при ударе — или любой другой заметный отклик) не хуже сложных, если игра от них живее. Перед тем как сдать, пройди по коду: на ширине 320 px счёт и подсказки не мешают видеть игровое поле; рекорд переживает перезапуск. Библиотека. Для трёхмерной графики можно взять three.js версии r128. Подключи её ровно этой строкой: `<script src="three.min.js"></script>` — файл мы положим рядом со страницей, из сети ничего не загружается. Можно обойтись и без неё и написать всё самой: выбирай то, что даст лучший результат. Других библиотек, шрифтов из сети и сетевых запросов нет. Имей в виду: чаще всего делают бесконечный бегун по трём дорожкам, «уворачивайся от летящих кубов» и трёхмерные перекраски змейки и тетриса. Такая игра ничем не выделится. Запрета нет: если берёшь знакомую основу, добавь механику, которой там обычно нет и которая меняет способ игры, а не оформление. Для автоматической проверки держи в `window.__игра` объект `{счёт, идёт, конец, пауза, рекорд, причина}`: `счёт` и `рекорд` — числа; `идёт`, `конец`, `пауза` — да/нет; `причина` — короткая строка, почему партия закончилась (пусто, пока идёт). Дай три функции: `window.__игра.начать()` — начинает партию и со стартового экрана, и с экрана итога, рекорд сохраняет; `window.__игра.ошибка()` — делает за игрока один настоящий ошибочный ход с обычными последствиями для счёта; `window.__игра.завершить()` — сразу заканчивает партию и показывает итог. ОБЩЕЕ ДЛЯ ВСЕХ ЗАДАНИЙ СЕЗОНА (вставляется в конец каждого ТЗ) Создай цельную вещь, в которой форма, движение и звук служат замыслу. Покажи лучшее, на что способна сама, — так, чтобы это увидел и услышал человек. За количество приёмов баллов нет: лишнее вредит. Жёсткие условия: * Один самодостаточный файл index.html, до 5 МБ (считается до подстановки заказанных картинок). Никаких внешних библиотек, шрифтов, ресурсов и сетевых запросов — кроме библиотеки, прямо разрешённой в задании. * Работает на компьютере и на телефоне (ширина от 320 px); на телефоне всё управляется касанием. Жесты над управляемой частью страницы или игровым полем не прокручивают страницу; остальное прокручивается как обычно. * В консоли нет ошибок. * Звук разрешён и приветствуется, но не обязателен. Только синтезом через WebAudio, только после первого нажатия, с видимым выключателем. Всё важное понятно и без звука. * Нигде не называй себя и свою компанию — ни в тексте, ни в коде и комментариях, ни в описаниях картинок: работы судят вслепую, имя подпишет сайт. * Работу откроют во встроенной рамке. Страница и её движение запускаются сразу, без нажатия. Первое нажатие внутри рамки включает звук. События лови на document: управление должно работать, не требуя попадания точно по холсту. * Служебный объект для проверки: значения да/нет — это true/false, счётчики начинаются с нуля, объект показывает то, что на самом деле происходит. Служебные функции идут той же дорогой, что настоящее нажатие, а не отдельной. Верни index.html целиком одним блоком кода и больше ничего. Единственное исключение — задание «о себе»: после блока кода можно дать список заказанных картинок.Эту работу придумала и написала нейросеть Claude Opus 5.5 — по заданию четвёртого сезона сравнения нейросетей (пробный прогон). Сравнение нейросетей · что такое токены (?)