Claude Opus 5.5
Анимированный пиксельный волшебник, колдующий заклинание на фоне ночного неба — моушн-графика
Промпт
Создай один автономный HTML-файл, который отображает анимированного волшебника в стиле pixel art, творящего заклинание, с использованием ванильного JavaScript и Canvas 2D. Не используй внешние ресурсы, библиотеки или сетевые запросы. РЕНДЕРИНГ - Рисуй всё на закадровом canvas с фиксированным логическим разрешением 128x96, затем копируй изображение на полноэкранный canvas отображения, масштабируя его с наибольшим целым коэффициентом, который помещается в окне, и центрируя; используй imageSmoothingEnabled = false и CSS image-rendering: pixelated. - Все элементы рисования должны привязываться к целочисленным координатам на логическом canvas. Никаких субпиксельных позиций, сглаживания, градиентов или shadowBlur. - Фиксированная палитра примерно из 24 hex-цветов: глубокие синие/фиолетовые тона для ночного неба, тёплые оттенки мантии, 3–4 ярких магических цвета. Каждый пиксель должен использовать один из этих цветов. ПЕРСОНАЖ - Процедурно создай волшебника из закрашенных прямоугольников и пиксельных отрезков размером примерно 24x32 логических пикселя: остроконечная шляпа с загибом, длинная борода, двухцветная мантия с более тёмным контуром, посох с самоцветом на конце. - Параметризуй позу (угол посоха, подъём руки, наклон головы, колыхание мантии). Плавно анимируй параметры, а затем квантуй их до пиксельной сетки в каждом кадре, чтобы движение воспринималось как пиксельная анимация с частотой 8-12 fps, хотя цикл работает на 60fps. АНИМАЦИЯ - Зацикленная машина состояний: IDLE (покачивание в 2 кадра, колыхание бороды) -> CHARGE (посох поднимается, самоцвет мерцает, искры закручиваются по спирали внутрь) -> CAST (яркая вспышка, снаряд пролетает через всю сцену, дрожание экрана на 1–2 пикселя) -> RECOVER (возвращение в исходное состояние). Плавно интерполируй параметры позы между ключевыми кадрами. - Система частиц с предварительным выделением памяти и без выделений во время работы: создай частицы заранее и повторно используй их. Во время CHARGE искры вращаются вокруг самоцвета, во время CAST разлетаются наружу; каждый элемент частицы переключает индекс цвета палитры с белого на магический цвет, а затем на тёмный перед исчезновением. При рисовании привязывай позиции частиц к сетке. - Фиксированный шаг обновления 60hz с рендерингом через rAF. Никакого выделения памяти для объектов внутри цикла. СЦЕНА - Минималистичный фон: тёмное небо, несколько мерцающих звёзд размером 1px, луна, линия каменного пола. Силуэт персонажа должен хорошо читаться. - Ненавязчивый контровой свет толщиной 1px на волшебнике от самоцвета, который становится ярче во время CHARGE и CAST. ПЛАНКА КАЧЕСТВА - Чёткие пиксели при любом размере окна, бесшовный цикл, стабильные 60fps, хорошо читаемый силуэт. Результат должен выглядеть как отполированная спрайтовая анимация в стиле 16-bit, а не как векторные формы, уменьшенные в размере.
Create a single self-contained HTML file that renders an animated pixel art wizard casting a spell, using vanilla JavaScript and Canvas 2D. No external assets, libraries, or network requests. RENDERING - Draw everything to an offscreen canvas at a fixed logical resolution of 128x96, then blit to a fullscreen display canvas scaled by the largest integer factor that fits the window, centered, with imageSmoothingEnabled = false and CSS image-rendering: pixelated. - All drawing snaps to integer coordinates on the logical canvas. No sub-pixel positions, anti-aliasing, gradients, or shadowBlur. - Fixed palette of ~24 hex colors: deep blues/purples for night sky, warm robe tones, 3-4 bright magic colors. Every pixel comes from this palette. CHARACTER - Build the wizard procedurally from filled rects and pixel runs, ~24x32 logical pixels: pointed hat with a bend, long beard, two-shade robe with darker outline, staff with a gem at the tip. - Parameterize the pose (staff angle, arm raise, head tilt, robe sway). Animate parameters smoothly, then quantize to the pixel grid each frame so motion reads at an 8-12 fps pixel animation feel even though the loop runs at 60fps. ANIMATION - Looping state machine: IDLE (2-frame bob, beard sway) -> CHARGE (staff raises, gem flickers, sparks spiral inward) -> CAST (bright burst, projectile fires across the scene, 1-2 pixel screen shake) -> RECOVER (settle back). Ease pose parameters between keyframes. - Pooled allocation-free particle system: preallocate and reuse. Sparks orbit the gem during CHARGE, explode outward on CAST, each particle stepping its palette index from white to magic color to dark before despawn. Snap particle positions to the grid when drawing. - Fixed 60hz timestep update with rAF rendering. Zero object allocation inside the loop. SCENE - Minimal background: dark sky, a few twinkling 1px stars, moon, stone floor line. Character silhouette must read clearly. - Subtle 1px rim light on the wizard from the gem, brightening during CHARGE and CAST. QUALITY BAR - Crisp pixels at any window size, seamless loop, stable 60fps, readable silhouette. Should look like a polished 16-bit sprite animation, not vector shapes scaled down.
Права на промпт принадлежат автору @majidmanzarpour. За коммерческое использование — продвижение нейросетей, агрегаторов, Telegram-ботов — отвечаете вы: mozgi.io ответственности не несёт. Подробнее →











