Подробная спецификация игры на Three.js о четырёхногом роботе с выразительной анимацией, видимыми элементами батареи, зарядкой и тремя заданиями с предметами.
Промпт, опубликованный автором. Перевод и ваши изменения могут повлиять на результат.
Исходный промпт был проверен по публикации автора или его прямому ответу. Переводы сохраняют инструкции; оригинальный текст хранится отдельно.
Заметки автора
Сохрани спецификацию в виде файла проекта и следуй её рамкам и приоритетам. Начни с силуэта, пропорций и ходьбы с зафиксированными ступнями, затем добавь отслеживание головы, состояния батареи и три задания. В исходном тексте явно исключён физический движок, а сцена ограничена одним верстаком; проверь запрошенные рендеры, прежде чем считать работу завершённой.
ПОЛНАЯ СПЕЦИФИКАЦИЯ.
СОХРАНИ ЕЁ В ФАЙЛЕ В ПАПКЕ ПРОЕКТА, А НЕ В ВИДЕ СООБЩЕНИЯ В ЧАТЕ.
ЗАТЕМ: /goal собери это в three.js, прочитай SPEC.md и следуй ему
в точности, особенно разделам 9 и 10.
{ НАЧАЛО }
1 ЧТО ЭТО ТАКОЕ
на верстаке живёт небольшой четырёхногий робот. его можно заряжать,
с ним можно играть и поручать ему три задания. он никогда не покидает верстак,
и ты тоже. в этом и заключается вся игра.
Эту сборку держат на себе только две вещи: внешний вид робота
и его движения. всю игру игрок смотрит на один объект с фиксированного расстояния,
поэтому на него должно быть интересно смотреть,
а двигаться он должен так, будто живой.
это не говорящий питомец. никаких голосов, рта, лица на экране,
и он никогда не повторяет за тобой. это машина, которая обращает на тебя
внимание, а это совсем другое — и гораздо лучше.
2 РОБОТ
размером примерно с кошку, на четырёх ногах.
пропорции — вот откуда берётся обаяние:
- корпус — скруглённый блок, шире, чем выше, длиной примерно в две ширины головы.
он должен выглядеть тяжёлым.
- голова крупная относительно корпуса — примерно 40 процентов его высоты —
и вынесена вперёд на короткой шее. она должна выглядеть любопытной.
не голова в стиле чиби, и глаза не должны быть большими.
- ноги тонкие по сравнению с корпусом, поэтому тяжёлая конструкция
держится на лёгких конечностях. этот контраст делает походку
изящной, а не неуклюжей.
- короткий хвост, который на самом деле служит противовесом и качается как противовес
- одна короткая антенна на голове, которая хлёстко отклоняется и успокаивается на пол
такта позже каждого движения. почти ничего не стоит, зато это
главный источник живости во всей модели.
три материала, не больше:
1 окрашенная панель — мягкий костяной белый цвет, матовая, слегка тёплая. покрывает
спину, бёдра и верхнюю часть головы. не менее 60 процентов
видимой поверхности, иначе робот будет выглядеть как куча деталей.
2 голый обработанный металл — холодный средне-серый, на ногах, раме, суставах и
шее. тёплая латунь — только на кольцах суставов.
3 тёмная резина, почти чёрная и матовая, на четырёх ступнях, защитном чехле шеи
и кабеле.
лицо: две круглые линзы одинакового размера, широко расставленные и утопленные
за обработанной канавкой поперёк лба. канавка — это обработанный край,
а не бровь, и она никогда не двигается. вся выразительность
передаётся углом наклона головы, антенной и яркостью линз.
один дефект: одна панель на плече немного другого оттенка,
словно её однажды заменили. ничто не должно привлекать к этому внимание.
проверка силуэта, прошёл или не прошёл: отрендери робота чисто чёрным на
белом фоне в разрешении 64 на 64 пикселя, сбоку и в ракурсе три четверти. голова, поднятая
вверх, зазор между головой и корпусом, четыре ноги с
просветами между ними и хвост — всё это должно по-прежнему читаться. если какие-либо
две массы сливаются, меняй модель, а не рендер.
3 БАТАРЕЯ — ЭТО ИНДИКАТОР ПРОГРЕССА
вдоль одного бока проходит полоска из пяти ячеек, светящихся янтарным. они
гаснут по одной по мере разрядки и загораются по одной во время
зарядки. на экране нет ни числа, ни полосы.
5 ячеек бодрый, голова поднята, хвост качается
4 нормально
3 медленнее, голова слегка опущена
2 между действиями садится, а не стоит
1 сам идёт к зарядной площадке и ждёт
0 складывает ноги и выключается там, где стоит,
линзы погасли — робот ждёт, когда его перенесут на площадку
он никогда не ломается и не умирает, а при нулевом заряде ничего не теряется.
4 КАК ОН ДВИГАЕТСЯ
- настоящая походка. диагональные пары ног: лапы стоят на верстаке и
остаются на месте, пока корпус проходит над ними. лапы не
скользят.
- вес. корпус проседает над нагруженной парой ног. при старте он наклоняется
вперёд ещё до начала движения. при остановке делает один короткий шаг, чтобы
удержать равновесие.
- он следит за вами. голова следует за курсором, пока курсор находится над
верстаком, а шея начинает поворот раньше корпуса.
- он восстанавливает равновесие. если его толкнуть, он пошатывается, широко ставит лапу и
выпрямляется. он никогда не падает.
- он успокаивается. стоя без движения, он каждые несколько секунд переносит вес с ноги на ногу,
а линзы медленно моргают: тускнеют и снова загораются, но
не закрываются.
с практикой он становится лучше. каждое выполненное задание немного уменьшает шаткость
и немного ускоряет движения — до определённого предела.
это никак не объявляется. после двадцатого задания он заметно двигается
как машина, которая знает, что делает, и это изменение —
единственный элемент прогрессии в игре.
5 ВЕРСТАК
один верстак, видимый с фиксированного расстояния. тёплый, с рабочими следами.
столешница из потёртого светлого дерева. за ней — однотонная холодная серо-зелёная стена.
робот из непокрытого металла, с тёплой латунью на шарнирах. линзы и элементы
янтарные — это единственный светящийся цвет. тёплый свет лампы падает с одной стороны,
отбрасывая длинную мягкую тень. всё остальное приглушено.
на верстаке: зарядная площадка со свёрнутым кабелем, банка с
болтами, свёрнутая ткань, небольшой ящик, настольная лампа, резиновый мяч,
жестяная миска. больше ничего.
лампа — единственный источник света. когда робот проходит
перед ней, его тень скользит по верстаку.
6 ПОКАЗЫВАТЬ ТОЛЬКО ЧЕРЕЗ ИСПОЛЬЗОВАНИЕ
- вы тащите мяч по верстаку, и голова робота следит
за ним, прежде чем корпус поворачивается вслед
- вы ставите робота на зарядную площадку, и загорается один элемент, затем
следующий, с паузой между каждым
- вы толкаете его сбоку, и он пошатывается, ловит равновесие на широко поставленной
лапе и выпрямляется
- вы бросаете болт в жестяную миску, робот подходит, подхватывает его
ротовыми пластинами и относит в банку
- вы оставляете его без внимания, и он подходит к краю верстака, смотрит
вниз и отступает
- вы проводите пальцем по панели на его спине, и он опускает корпус и
не двигается, пока вы не остановитесь
покажите всё это в действии. никогда не объясняйте происходящее подписью.
7 ТРИ ЗАДАНИЯ
каждое нужно, чтобы показать отдельный тип движения; каждое запускается
размещением предмета на верстаке, а не через меню.
принести бросьте болт куда угодно. робот подойдёт, подхватит его и отнесёт
к банке. показывает походку и поворот.
сложить выставьте три ящика. робот по одному сдвинет их в стопку.
показывает толкание, упор и подъём.
догнать катните мяч. робот пробежит за ним, остановит лапой и
принесёт обратно. показывает бег, скольжение и остановку.
каждое задание немного расходует заряд. задание при 2 элементах выполняется медленнее
и шатче, чем то же задание при 5. без очереди, без порядка, без
таймера и без награды.
8 ИНТЕРФЕЙС
внизу по центру: одна карточка-подсказка, появляющаяся, когда что-то находится в пределах досягаемости,
с указанием клавиши или жеста перетаскивания и действия; карточка исчезает, когда
объект выходит из зоны досягаемости.
больше ничего на экране нет. Никакой шкалы заряда, индикатора настроения,
индикатора голода, монет, уровней, опыта, звёзд,
таймера, меню, настроек, всплывающей подсказки, плавающей подписи
над роботом.
Всё, что игроку нужно знать, отображается на корпусе робота.
Камера зафиксирована на верстаке: вид спереди в три четверти,
с небольшим наклоном сверху. Вертикальный угол обзора — 40 градусов. Робот занимает
от 30 до 45 процентов высоты кадра в центре верстака.
Каждая ячейка батареи должна быть шириной не менее 8 пикселей при 1080p. Весь
верстак всегда должен помещаться в кадре. Перетаскиванием можно вращать камеру примерно на 60
градусов, но не больше. Камера никогда не покидает пределы верстака и
никогда не переключается на другой план.
9 ЧТО ЗАПРЕЩЕНО — ПОИМЁННО
Питомец: никаких голосов, разговоров, повторения ваших слов,
микрофона, лица на экране, рта, бровей,
мультяшных глаз со зрачками, сердечек, эмодзи, облачка с репликой,
ввода имени, костюмов, шляп и мастерской покраски.
Монетизация free-to-play: никаких монет, кристаллов, валюты любого вида,
магазина, рекламы, ежедневных наград, серий входов, уведомлений,
энергии, которую нужно покупать, таймера ожидания, уровней,
шкалы опыта, достижений и таблицы лидеров.
Игровой процесс: никаких врагов, боёв, здоровья, урона и смерти,
поломок, мини-игры с ремонтом, состояний проигрыша, счёта и
таймера, маркеров заданий, кат-сцен и иллюстраций на экране загрузки.
Повторы из моих предыдущих проектов: никаких пляжей, пальм, крабов,
парящих островов, фонарей, цветущей сакуры, ниндзя и
сюрикенов, воксельных блоков, кирок, лавы, машин, городов,
подводного мира и ламинарии.
Рендеринг: никаких реалистичных текстур, жёстких теней, бликов линз и
плёночного зерна, чёрных полос, размытия глубины резкости и хроматической
аберрации, серого тумана на экране. Свечение — только на линзах и
ячейках батареи, больше нигде.
10 БЮДЖЕТ РАЗРАБОТКИ
Эту сборку нужно завершить за одну рабочую сессию. Всё перечисленное ниже
категорически исключено из этой версии. Не добавляйте это, не оставляйте заглушки и не
создавайте для этого задачи в TODO.
никаких вторых комнат и открытых пространств
никакого второго робота
никаких сохранений и загрузок: после перезагрузки появляется новый робот
никакого физического движка: самописная обратная кинематика для четырёх ног
на плоской поверхности плюс простые коробочные коллизии для предметов на верстаке
никаких ragdoll-физик
никакого звука
никаких меню, настроек и экрана паузы
не больше трёх заданий
никакой смены дня и ночи
Время нужно распределять в таком порядке:
1 пропорции робота и проверка силуэта
2 цикл ходьбы и постановка лап
3 слежение головой, антенна и успокоение движений
4 состояния батареи и зарядная площадка
5 три задания
6 оформление верстака
Если время выйдет, выпускайте игру с пустым верстаком и красивым роботом,
который хорошо ходит. Но не наоборот. Пустой верстак с
хорошим роботом — это законченная игра. Нарядный верстак с деревянным роботом
не стоит ничего.
Прежде чем объявить работу законченной, докажите эти четыре пункта рендерами, а не
словами: тест силуэта в разрешении 64 пикселя с двух ракурсов, цикл ходьбы
при 5 ячейках и тот же цикл при 2 ячейках, отслеживание головой
курсора по всей дуге вращения, а также робота при 5 ячейках и при 0
ячейках — рядом друг с другом.
собери это, а затем назови три вещи, которые ты бы исправил в первую очередь.
{ END }
Как использовать этот промпт
01
Начните с подходящего инструмента
Откройте привычного помощника для программирования или 3D-инструмент. Попробуйте модель, указанную в примере, и изучите инструкции по настройке в связанных проектах.
02
Выберите одно изменение
Замените объект, художественный стиль или окружение. Чётко опишите камеру и взаимодействие. Сначала создайте небольшую версию, затем улучшайте по одной детали.
03
Добавьте собственные объекты в сцену
Для своего персонажа или реквизита создайте 3D-модель по короткому описанию предмета или референсу, затем импортируйте её в проект.
Права на превью принадлежат соответствующим авторам. Перед повторным использованием кода или материалов проверьте первоисточник и лицензию проекта.